Annotation of generator/src/out/cpu68k-6.c, revision 1.1

1.1     ! root        1: /*****************************************************************************/
        !             2: /*     Generator - Sega Genesis emulation - (c) James Ponder 1997-1998       */
        !             3: /*****************************************************************************/
        !             4: /*                                                                           */
        !             5: /* cpu68k-6.c                                                                */
        !             6: /*                                                                           */
        !             7: /*****************************************************************************/
        !             8: 
        !             9: #include "generator.h"
        !            10: #include "cpu68k.h"
        !            11: #include "mem68k.h"
        !            12: #include "reg68k.h"
        !            13: 
        !            14: #include "cpu68k-inline.h"
        !            15: 
        !            16: #include <stdio.h>
        !            17: 
        !            18: void cpu_op_1031a(t_ipc *ipc) /* Bcc */ {
        !            19:   /* mask ffff, bits 6000, mnemonic 62, priv 0, endblk -1, imm_notzero 0, used -1     set 0, size 2, stype 12, dtype 20, sbitpos 0, dbitpos 0, immvalue 0 */
        !            20:   uint32 srcdata = ipc->src;
        !            21:   uint8 cc = 1;
        !            22: 
        !            23:   if (cc)
        !            24:     PC = srcdata;
        !            25:   else
        !            26:     PC+= 4;
        !            27: }
        !            28: 
        !            29: void cpu_op_1032a(t_ipc *ipc) /* Bcc */ {
        !            30:   /* mask ffff, bits 6200, mnemonic 62, priv 0, endblk -1, imm_notzero 0, used -1     set 0, size 2, stype 12, dtype 20, sbitpos 0, dbitpos 0, immvalue 0 */
        !            31:   uint32 srcdata = ipc->src;
        !            32:   uint8 cc = !(CFLAG || ZFLAG);
        !            33: 
        !            34:   if (cc)
        !            35:     PC = srcdata;
        !            36:   else
        !            37:     PC+= 4;
        !            38: }
        !            39: 
        !            40: void cpu_op_1033a(t_ipc *ipc) /* Bcc */ {
        !            41:   /* mask ffff, bits 6300, mnemonic 62, priv 0, endblk -1, imm_notzero 0, used -1     set 0, size 2, stype 12, dtype 20, sbitpos 0, dbitpos 0, immvalue 0 */
        !            42:   uint32 srcdata = ipc->src;
        !            43:   uint8 cc = CFLAG || ZFLAG;
        !            44: 
        !            45:   if (cc)
        !            46:     PC = srcdata;
        !            47:   else
        !            48:     PC+= 4;
        !            49: }
        !            50: 
        !            51: void cpu_op_1034a(t_ipc *ipc) /* Bcc */ {
        !            52:   /* mask ffff, bits 6400, mnemonic 62, priv 0, endblk -1, imm_notzero 0, used -1     set 0, size 2, stype 12, dtype 20, sbitpos 0, dbitpos 0, immvalue 0 */
        !            53:   uint32 srcdata = ipc->src;
        !            54:   uint8 cc = !CFLAG;
        !            55: 
        !            56:   if (cc)
        !            57:     PC = srcdata;
        !            58:   else
        !            59:     PC+= 4;
        !            60: }
        !            61: 
        !            62: void cpu_op_1035a(t_ipc *ipc) /* Bcc */ {
        !            63:   /* mask ffff, bits 6500, mnemonic 62, priv 0, endblk -1, imm_notzero 0, used -1     set 0, size 2, stype 12, dtype 20, sbitpos 0, dbitpos 0, immvalue 0 */
        !            64:   uint32 srcdata = ipc->src;
        !            65:   uint8 cc = CFLAG;
        !            66: 
        !            67:   if (cc)
        !            68:     PC = srcdata;
        !            69:   else
        !            70:     PC+= 4;
        !            71: }
        !            72: 
        !            73: void cpu_op_1036a(t_ipc *ipc) /* Bcc */ {
        !            74:   /* mask ffff, bits 6600, mnemonic 62, priv 0, endblk -1, imm_notzero 0, used -1     set 0, size 2, stype 12, dtype 20, sbitpos 0, dbitpos 0, immvalue 0 */
        !            75:   uint32 srcdata = ipc->src;
        !            76:   uint8 cc = !ZFLAG;
        !            77: 
        !            78:   if (cc)
        !            79:     PC = srcdata;
        !            80:   else
        !            81:     PC+= 4;
        !            82: }
        !            83: 
        !            84: void cpu_op_1037a(t_ipc *ipc) /* Bcc */ {
        !            85:   /* mask ffff, bits 6700, mnemonic 62, priv 0, endblk -1, imm_notzero 0, used -1     set 0, size 2, stype 12, dtype 20, sbitpos 0, dbitpos 0, immvalue 0 */
        !            86:   uint32 srcdata = ipc->src;
        !            87:   uint8 cc = ZFLAG;
        !            88: 
        !            89:   if (cc)
        !            90:     PC = srcdata;
        !            91:   else
        !            92:     PC+= 4;
        !            93: }
        !            94: 
        !            95: void cpu_op_1038a(t_ipc *ipc) /* Bcc */ {
        !            96:   /* mask ffff, bits 6800, mnemonic 62, priv 0, endblk -1, imm_notzero 0, used -1     set 0, size 2, stype 12, dtype 20, sbitpos 0, dbitpos 0, immvalue 0 */
        !            97:   uint32 srcdata = ipc->src;
        !            98:   uint8 cc = !VFLAG;
        !            99: 
        !           100:   if (cc)
        !           101:     PC = srcdata;
        !           102:   else
        !           103:     PC+= 4;
        !           104: }
        !           105: 
        !           106: void cpu_op_1039a(t_ipc *ipc) /* Bcc */ {
        !           107:   /* mask ffff, bits 6900, mnemonic 62, priv 0, endblk -1, imm_notzero 0, used -1     set 0, size 2, stype 12, dtype 20, sbitpos 0, dbitpos 0, immvalue 0 */
        !           108:   uint32 srcdata = ipc->src;
        !           109:   uint8 cc = VFLAG;
        !           110: 
        !           111:   if (cc)
        !           112:     PC = srcdata;
        !           113:   else
        !           114:     PC+= 4;
        !           115: }
        !           116: 
        !           117: void cpu_op_1040a(t_ipc *ipc) /* Bcc */ {
        !           118:   /* mask ffff, bits 6a00, mnemonic 62, priv 0, endblk -1, imm_notzero 0, used -1     set 0, size 2, stype 12, dtype 20, sbitpos 0, dbitpos 0, immvalue 0 */
        !           119:   uint32 srcdata = ipc->src;
        !           120:   uint8 cc = !NFLAG;
        !           121: 
        !           122:   if (cc)
        !           123:     PC = srcdata;
        !           124:   else
        !           125:     PC+= 4;
        !           126: }
        !           127: 
        !           128: void cpu_op_1041a(t_ipc *ipc) /* Bcc */ {
        !           129:   /* mask ffff, bits 6b00, mnemonic 62, priv 0, endblk -1, imm_notzero 0, used -1     set 0, size 2, stype 12, dtype 20, sbitpos 0, dbitpos 0, immvalue 0 */
        !           130:   uint32 srcdata = ipc->src;
        !           131:   uint8 cc = NFLAG;
        !           132: 
        !           133:   if (cc)
        !           134:     PC = srcdata;
        !           135:   else
        !           136:     PC+= 4;
        !           137: }
        !           138: 
        !           139: void cpu_op_1042a(t_ipc *ipc) /* Bcc */ {
        !           140:   /* mask ffff, bits 6c00, mnemonic 62, priv 0, endblk -1, imm_notzero 0, used -1     set 0, size 2, stype 12, dtype 20, sbitpos 0, dbitpos 0, immvalue 0 */
        !           141:   uint32 srcdata = ipc->src;
        !           142:   uint8 cc = (NFLAG == VFLAG);
        !           143: 
        !           144:   if (cc)
        !           145:     PC = srcdata;
        !           146:   else
        !           147:     PC+= 4;
        !           148: }
        !           149: 
        !           150: void cpu_op_1043a(t_ipc *ipc) /* Bcc */ {
        !           151:   /* mask ffff, bits 6d00, mnemonic 62, priv 0, endblk -1, imm_notzero 0, used -1     set 0, size 2, stype 12, dtype 20, sbitpos 0, dbitpos 0, immvalue 0 */
        !           152:   uint32 srcdata = ipc->src;
        !           153:   uint8 cc = (NFLAG != VFLAG);
        !           154: 
        !           155:   if (cc)
        !           156:     PC = srcdata;
        !           157:   else
        !           158:     PC+= 4;
        !           159: }
        !           160: 
        !           161: void cpu_op_1044a(t_ipc *ipc) /* Bcc */ {
        !           162:   /* mask ffff, bits 6e00, mnemonic 62, priv 0, endblk -1, imm_notzero 0, used -1     set 0, size 2, stype 12, dtype 20, sbitpos 0, dbitpos 0, immvalue 0 */
        !           163:   uint32 srcdata = ipc->src;
        !           164:   uint8 cc = !ZFLAG && (NFLAG == VFLAG);
        !           165: 
        !           166:   if (cc)
        !           167:     PC = srcdata;
        !           168:   else
        !           169:     PC+= 4;
        !           170: }
        !           171: 
        !           172: void cpu_op_1045a(t_ipc *ipc) /* Bcc */ {
        !           173:   /* mask ffff, bits 6f00, mnemonic 62, priv 0, endblk -1, imm_notzero 0, used -1     set 0, size 2, stype 12, dtype 20, sbitpos 0, dbitpos 0, immvalue 0 */
        !           174:   uint32 srcdata = ipc->src;
        !           175:   uint8 cc = ZFLAG || (NFLAG != VFLAG);
        !           176: 
        !           177:   if (cc)
        !           178:     PC = srcdata;
        !           179:   else
        !           180:     PC+= 4;
        !           181: }
        !           182: 
        !           183: void cpu_op_1046a(t_ipc *ipc) /* BSR */ {
        !           184:   /* mask ffff, bits 6100, mnemonic 63, priv 0, endblk -1, imm_notzero 0, used -1     set 0, size 2, stype 12, dtype 20, sbitpos 0, dbitpos 0, immvalue 0 */
        !           185:   uint32 srcdata = ipc->src;
        !           186: 
        !           187:   ADDRREG(7)-= 4;
        !           188:   storelong(ADDRREG(7), PC+4);
        !           189:   PC = srcdata;
        !           190: }
        !           191: 
        !           192: void cpu_op_1047a(t_ipc *ipc) /* Bcc */ {
        !           193:   /* mask ff00, bits 6000, mnemonic 62, priv 0, endblk -1, imm_notzero -1, used -1     set 0, size 1, stype 17, dtype 20, sbitpos 0, dbitpos 0, immvalue 0 */
        !           194:   uint32 srcdata = ipc->src;
        !           195:   uint8 cc = 1;
        !           196: 
        !           197:   if (cc)
        !           198:     PC = srcdata;
        !           199:   else
        !           200:     PC+= 2;
        !           201: }
        !           202: 
        !           203: void cpu_op_1048a(t_ipc *ipc) /* Bcc */ {
        !           204:   /* mask ff00, bits 6200, mnemonic 62, priv 0, endblk -1, imm_notzero -1, used -1     set 0, size 1, stype 17, dtype 20, sbitpos 0, dbitpos 0, immvalue 0 */
        !           205:   uint32 srcdata = ipc->src;
        !           206:   uint8 cc = !(CFLAG || ZFLAG);
        !           207: 
        !           208:   if (cc)
        !           209:     PC = srcdata;
        !           210:   else
        !           211:     PC+= 2;
        !           212: }
        !           213: 
        !           214: void cpu_op_1049a(t_ipc *ipc) /* Bcc */ {
        !           215:   /* mask ff00, bits 6300, mnemonic 62, priv 0, endblk -1, imm_notzero -1, used -1     set 0, size 1, stype 17, dtype 20, sbitpos 0, dbitpos 0, immvalue 0 */
        !           216:   uint32 srcdata = ipc->src;
        !           217:   uint8 cc = CFLAG || ZFLAG;
        !           218: 
        !           219:   if (cc)
        !           220:     PC = srcdata;
        !           221:   else
        !           222:     PC+= 2;
        !           223: }
        !           224: 
        !           225: void cpu_op_1050a(t_ipc *ipc) /* Bcc */ {
        !           226:   /* mask ff00, bits 6400, mnemonic 62, priv 0, endblk -1, imm_notzero -1, used -1     set 0, size 1, stype 17, dtype 20, sbitpos 0, dbitpos 0, immvalue 0 */
        !           227:   uint32 srcdata = ipc->src;
        !           228:   uint8 cc = !CFLAG;
        !           229: 
        !           230:   if (cc)
        !           231:     PC = srcdata;
        !           232:   else
        !           233:     PC+= 2;
        !           234: }
        !           235: 
        !           236: void cpu_op_1051a(t_ipc *ipc) /* Bcc */ {
        !           237:   /* mask ff00, bits 6500, mnemonic 62, priv 0, endblk -1, imm_notzero -1, used -1     set 0, size 1, stype 17, dtype 20, sbitpos 0, dbitpos 0, immvalue 0 */
        !           238:   uint32 srcdata = ipc->src;
        !           239:   uint8 cc = CFLAG;
        !           240: 
        !           241:   if (cc)
        !           242:     PC = srcdata;
        !           243:   else
        !           244:     PC+= 2;
        !           245: }
        !           246: 
        !           247: void cpu_op_1052a(t_ipc *ipc) /* Bcc */ {
        !           248:   /* mask ff00, bits 6600, mnemonic 62, priv 0, endblk -1, imm_notzero -1, used -1     set 0, size 1, stype 17, dtype 20, sbitpos 0, dbitpos 0, immvalue 0 */
        !           249:   uint32 srcdata = ipc->src;
        !           250:   uint8 cc = !ZFLAG;
        !           251: 
        !           252:   if (cc)
        !           253:     PC = srcdata;
        !           254:   else
        !           255:     PC+= 2;
        !           256: }
        !           257: 
        !           258: void cpu_op_1053a(t_ipc *ipc) /* Bcc */ {
        !           259:   /* mask ff00, bits 6700, mnemonic 62, priv 0, endblk -1, imm_notzero -1, used -1     set 0, size 1, stype 17, dtype 20, sbitpos 0, dbitpos 0, immvalue 0 */
        !           260:   uint32 srcdata = ipc->src;
        !           261:   uint8 cc = ZFLAG;
        !           262: 
        !           263:   if (cc)
        !           264:     PC = srcdata;
        !           265:   else
        !           266:     PC+= 2;
        !           267: }
        !           268: 
        !           269: void cpu_op_1054a(t_ipc *ipc) /* Bcc */ {
        !           270:   /* mask ff00, bits 6800, mnemonic 62, priv 0, endblk -1, imm_notzero -1, used -1     set 0, size 1, stype 17, dtype 20, sbitpos 0, dbitpos 0, immvalue 0 */
        !           271:   uint32 srcdata = ipc->src;
        !           272:   uint8 cc = !VFLAG;
        !           273: 
        !           274:   if (cc)
        !           275:     PC = srcdata;
        !           276:   else
        !           277:     PC+= 2;
        !           278: }
        !           279: 
        !           280: void cpu_op_1055a(t_ipc *ipc) /* Bcc */ {
        !           281:   /* mask ff00, bits 6900, mnemonic 62, priv 0, endblk -1, imm_notzero -1, used -1     set 0, size 1, stype 17, dtype 20, sbitpos 0, dbitpos 0, immvalue 0 */
        !           282:   uint32 srcdata = ipc->src;
        !           283:   uint8 cc = VFLAG;
        !           284: 
        !           285:   if (cc)
        !           286:     PC = srcdata;
        !           287:   else
        !           288:     PC+= 2;
        !           289: }
        !           290: 
        !           291: void cpu_op_1056a(t_ipc *ipc) /* Bcc */ {
        !           292:   /* mask ff00, bits 6a00, mnemonic 62, priv 0, endblk -1, imm_notzero -1, used -1     set 0, size 1, stype 17, dtype 20, sbitpos 0, dbitpos 0, immvalue 0 */
        !           293:   uint32 srcdata = ipc->src;
        !           294:   uint8 cc = !NFLAG;
        !           295: 
        !           296:   if (cc)
        !           297:     PC = srcdata;
        !           298:   else
        !           299:     PC+= 2;
        !           300: }
        !           301: 
        !           302: void cpu_op_1057a(t_ipc *ipc) /* Bcc */ {
        !           303:   /* mask ff00, bits 6b00, mnemonic 62, priv 0, endblk -1, imm_notzero -1, used -1     set 0, size 1, stype 17, dtype 20, sbitpos 0, dbitpos 0, immvalue 0 */
        !           304:   uint32 srcdata = ipc->src;
        !           305:   uint8 cc = NFLAG;
        !           306: 
        !           307:   if (cc)
        !           308:     PC = srcdata;
        !           309:   else
        !           310:     PC+= 2;
        !           311: }
        !           312: 
        !           313: void cpu_op_1058a(t_ipc *ipc) /* Bcc */ {
        !           314:   /* mask ff00, bits 6c00, mnemonic 62, priv 0, endblk -1, imm_notzero -1, used -1     set 0, size 1, stype 17, dtype 20, sbitpos 0, dbitpos 0, immvalue 0 */
        !           315:   uint32 srcdata = ipc->src;
        !           316:   uint8 cc = (NFLAG == VFLAG);
        !           317: 
        !           318:   if (cc)
        !           319:     PC = srcdata;
        !           320:   else
        !           321:     PC+= 2;
        !           322: }
        !           323: 
        !           324: void cpu_op_1059a(t_ipc *ipc) /* Bcc */ {
        !           325:   /* mask ff00, bits 6d00, mnemonic 62, priv 0, endblk -1, imm_notzero -1, used -1     set 0, size 1, stype 17, dtype 20, sbitpos 0, dbitpos 0, immvalue 0 */
        !           326:   uint32 srcdata = ipc->src;
        !           327:   uint8 cc = (NFLAG != VFLAG);
        !           328: 
        !           329:   if (cc)
        !           330:     PC = srcdata;
        !           331:   else
        !           332:     PC+= 2;
        !           333: }
        !           334: 
        !           335: void cpu_op_1060a(t_ipc *ipc) /* Bcc */ {
        !           336:   /* mask ff00, bits 6e00, mnemonic 62, priv 0, endblk -1, imm_notzero -1, used -1     set 0, size 1, stype 17, dtype 20, sbitpos 0, dbitpos 0, immvalue 0 */
        !           337:   uint32 srcdata = ipc->src;
        !           338:   uint8 cc = !ZFLAG && (NFLAG == VFLAG);
        !           339: 
        !           340:   if (cc)
        !           341:     PC = srcdata;
        !           342:   else
        !           343:     PC+= 2;
        !           344: }
        !           345: 
        !           346: void cpu_op_1061a(t_ipc *ipc) /* Bcc */ {
        !           347:   /* mask ff00, bits 6f00, mnemonic 62, priv 0, endblk -1, imm_notzero -1, used -1     set 0, size 1, stype 17, dtype 20, sbitpos 0, dbitpos 0, immvalue 0 */
        !           348:   uint32 srcdata = ipc->src;
        !           349:   uint8 cc = ZFLAG || (NFLAG != VFLAG);
        !           350: 
        !           351:   if (cc)
        !           352:     PC = srcdata;
        !           353:   else
        !           354:     PC+= 2;
        !           355: }
        !           356: 
        !           357: void cpu_op_1062a(t_ipc *ipc) /* BSR */ {
        !           358:   /* mask ff00, bits 6100, mnemonic 63, priv 0, endblk -1, imm_notzero -1, used -1     set 0, size 1, stype 17, dtype 20, sbitpos 0, dbitpos 0, immvalue 0 */
        !           359:   uint32 srcdata = ipc->src;
        !           360: 
        !           361:   ADDRREG(7)-= 4;
        !           362:   storelong(ADDRREG(7), PC+2);
        !           363:   PC = srcdata;
        !           364: }
        !           365: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.