home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 6 / AACD06.ISO / AACD / Emulation / AmiTRS80 / SRC / Z80.asm < prev    next >
Assembly Source File  |  1999-01-03  |  208KB  |  14,316 lines

  1.  
  2.     MACHINE 68020
  3.  
  4.     SECTION    Z80,CODE
  5.  
  6.     XDEF    _JUMPTBL
  7.     XDEF    _START00
  8.     XDEF    _RESET00
  9.     XDEF    _PAUSE00
  10.     XREF    _SIGMASK
  11.     XREF    _PROGCOUNT
  12.     XREF    _CINST
  13.     XREF    _READY
  14.     XREF    _TRACE
  15.     XREF    _CASSPTR
  16.     XREF    _CHL
  17.     XREF    _CBC
  18.     XREF    _CDE
  19.     XREF    _CIX
  20.     XREF    _CIY
  21.     XREF    _CAF
  22.     XREF    _CSP
  23.     XREF    _rom
  24.     XREF    _scrn
  25.     XREF    _chars
  26.     XDEF    _screenwrite
  27.  
  28. DEEBUG    EQU    0    ; MAKE 0 TO DISABLE DEBUG CODE
  29.  
  30. *    A0 = amiga address of Z80 $0000
  31. *    A1 = ACTUAL ADDRESS THAT IX POINTS TO
  32. *    A2 = amiga address of current Z80 PC (not the actual Z80 PC)
  33. *    A3 = base address of instruction vector table
  34. *    A4 = AMIGA address of SP
  35. *    A5 = ACTUAL ADDRESS THAT IY POINTS AT
  36. *    A6 = BASE ADDRESS OF LOOKUP TABLES FOR FLAGS,H FLAG,PARITY.
  37.  
  38.  
  39. *    D1.W = current opcode + following single byte operand
  40. *    (ALSO AVAILABLE FOR TEMPORARY USE WITHIN AN EMULATED INSTRUCTION) 
  41. *    D0.B = current A  value
  42. *    D2.W = current HL value
  43. *    D3.W = current BC value
  44. * top     D3.W = CURRENT DE value
  45. *    D4   = FLAGS (680X0 FLAGS NOT Z-80)
  46. *    D5   = FLAGS H AND N FROM Z-80
  47. *    D7.L = TEMPORARY WORK REGISTER
  48. *    D6.L = TEMPORARY WORK REGISTER 2
  49.  
  50.  
  51. *    Z80 flags :    7    6    5    4    3    2    1    0
  52.  
  53. *            S    Z    -    H    -    P/V    N    C
  54.  
  55.  
  56. *    680x0 flags    -    -    -    X    S    Z    V    C
  57.  
  58.  
  59.  
  60. _START00:    MOVEM.L    D0-D7/A0-A6,-(SP)
  61.     MOVEA.L    (4).W,A6
  62.     MOVE.B    #$FF,D0
  63.     JSR    (-$14A,A6)
  64.     MOVEQ    #0,D1
  65.     BSET    D0,D1
  66.     MOVE.L    D1,_SIGMASK    ; SAVE IN _SIGMASK IN MAIN PROG
  67.     BSR.W    RESTRT
  68.     MOVEA.L    _JUMPTBL,A3
  69.     ADDA.L    #$20000,A3
  70.     MOVEA.L    #_rom,A2
  71.     MOVEA.L    #_rom,A0
  72.     MOVEA.L    #PARITY,A6
  73.     MOVEA.L    A0,A4
  74.     MOVEA.L    A0,A1
  75.     MOVEA.L    A0,A5
  76.     MOVE.W    (A2)+,D1
  77.     IF    DEEBUG
  78.     BRA    DEBUG
  79.     ELSE
  80.     JMP    ([A3,D1.W*4])
  81.     ENDIF
  82.  
  83. NMI:
  84.     BSR.B    RESTRT
  85.     MOVEA.L    _JUMPTBL,A3
  86.     ADDA.L    #$20000,A3
  87.     MOVEA.L    #_rom,A2
  88.     MOVEA.L    #_rom,A0
  89.     MOVEA.L    #PARITY,A6
  90.     MOVEA.L    A0,A4
  91.     MOVEA.L    A0,A1
  92.     MOVEA.L    A0,A5
  93.     LEA    ($66,A2),A2
  94.     MOVE.W    (A2)+,D1
  95.     IF    DEEBUG
  96.     BRA    DEBUG
  97.     ELSE
  98.     JMP    ([A3,D1.W*4])
  99.     ENDIF
  100.  
  101. PAUSE:
  102.     MOVEM.L    D0-D7/A0-A6,-(SP)
  103.     SUBQ.L    #2,A2
  104.     SUBA.L    A0,A2
  105.     MOVE.W    A2,_PROGCOUNT
  106.     BSR.B    RESTRT
  107.     MOVEA.L    (4).W,A6
  108.     MOVE.L    _SIGMASK,D0
  109.     JSR    (-$13E,A6)
  110.     MOVEM.L    (SP)+,D0-D7/A0-A6
  111.     MOVEQ    #0,D7
  112.     MOVE.W    _PROGCOUNT,D7
  113.     MOVEA.L    A0,A2
  114.     ADDA.L    D7,A2
  115.     MOVE.W    (A2)+,D1
  116.     JMP    ([A3,D1.W*4])
  117.  
  118. DEBUG:    MOVEM.L    D0-D7/A0-A6,-(SP)
  119.     SUBQ.L    #2,A2
  120.     MOVE.L    (A2),_CINST
  121.     SUBA.L    A0,A2
  122.     MOVE.W    A2,_PROGCOUNT
  123.     MOVE.W    D2,_CHL
  124.     MOVE.W    D3,_CBC
  125.     SWAP    D3
  126.     MOVE.W    D3,_CDE
  127.     SWAP    D3
  128.     SUBA.L    A0,A1
  129.     MOVE.W    A1,_CIX
  130.     SUBA.L    A0,A4
  131.     MOVE.W    A4,_CSP
  132.     SUBA.L    A0,A5
  133.     MOVE.W    A5,_CIY
  134.     ANDI.W    #$1F,D4
  135.     MOVE.B    ($200,A6,D4.W),D7
  136.     OR.B    D5,D7
  137.     ROL.W    #8,D7
  138.     MOVE.B    D0,D7
  139.     ROL.W    #8,D7
  140.     MOVE.W    D7,_CAF
  141.     MOVEQ    #1,D7
  142.     MOVE.W    D7,_READY
  143.     MOVE.W    _TRACE,D7
  144.     BEQ.B    .L1
  145.     MOVEA.L    (4).W,A6
  146.     MOVE.L    _SIGMASK,D0
  147.     JSR    (-$13E,A6)
  148. .L1:    MOVEM.L    (SP)+,D0-D7/A0-A6
  149.     JMP    ([A3,D1.W*4])
  150.  
  151.  
  152. RESTRT:
  153.     MOVEA.L    (4).W,A6
  154.     JSR    (-$84,A6)
  155.     MOVEA.L    #MNTBL,A0
  156.     MOVEA.L    _JUMPTBL,A1
  157.     MOVE.W    #$FF,D1
  158. .L1:    MOVE.W    #$FF,D0
  159.     MOVEA.L    (A0)+,A5
  160. .L2:    MOVE.L    A5,(A1)+
  161.     DBRA    D0,.L2
  162.     DBRA    D1,.L1
  163.  
  164.     MOVEA.L    #CBTABLE,A0
  165.     MOVEA.L    _JUMPTBL,A1
  166.     ADDA.L    #$12C00,A1
  167.     MOVE.W    #$FF,D1
  168. .L4:    MOVE.L    (A0)+,(A1)+
  169.     DBRA    D1,.L4
  170.  
  171.     MOVEA.L    #DDTABLE,A0
  172.     MOVEA.L    _JUMPTBL,A1
  173.     ADDA.L    #$17400,A1
  174.     MOVE.W    #$FF,D1
  175. .L5:    MOVE.L    (A0)+,(A1)+
  176.     DBRA    D1,.L5
  177.  
  178.     MOVEA.L    #FDTABLE,A0
  179.     MOVEA.L    _JUMPTBL,A1
  180.     ADDA.L    #$1F400,A1
  181.     MOVE.W    #$FF,D1
  182. .L6:    MOVE.L    (A0)+,(A1)+
  183.     DBRA    D1,.L6
  184.  
  185.     MOVEA.L    #EDTABLE,A0
  186.     MOVEA.L    _JUMPTBL,A1
  187.     ADDA.L    #$1B400,A1
  188.     MOVE.W    #$FF,D1
  189. .L7:    MOVE.L    (A0)+,(A1)+
  190.     DBRA    D1,.L7
  191.     MOVEA.L    (4).W,A6
  192.     JSR    (-$8A,A6)
  193.     RTS
  194.  
  195. _RESET00:    ; RESETS THE Z-80 TO 0000 AFTER THE CURRENT INSTRUCTION
  196.  
  197.     MOVEM.L    A0-A6/D0-D7,-(SP)    
  198.     MOVE.L    4,A6
  199.     JSR    -$0084(A6)    ; Forbid()
  200.     MOVE.L    _JUMPTBL,A1
  201.     MOVE.W    #$00FF,D1
  202. .L1:    MOVE.W    #$00FF,D0
  203.     MOVE.L    #NMI,A5
  204. .L2:    MOVE.L    A5,(A1)+
  205.     DBRA    D0,.L2
  206.     DBRA    D1,.L1
  207.     MOVE.L    4,A6
  208.     JSR    -$008A(A6)    ; Permit()
  209.     MOVEM.L    (SP)+,A0-A6/D0-D7
  210.     RTS    
  211.  
  212. _PAUSE00:    ; PAUSES THE Z80 AFTER THE CURRENT INSTRUCTION (CALLED FROM MAIN PROCESS)
  213.  
  214.     MOVEM.L    D0-D7/A0-A6,-(SP)
  215.     MOVEA.L    (4).W,A6
  216.     JSR    (-$84,A6)
  217.     MOVEA.L    _JUMPTBL,A1
  218.     MOVE.W    #$FF,D1
  219. .L1:    MOVE.W    #$FF,D0
  220.     MOVEA.L    #PAUSE,A5
  221. .L2:    MOVE.L    A5,(A1)+
  222.     DBRA    D0,.L2
  223.     DBRA    D1,.L1
  224.     MOVEA.L    (4).W,A6
  225.     JSR    (-$8A,A6)
  226.     MOVEM.L    (SP)+,D0-D7/A0-A6
  227.     RTS
  228.  
  229. _screenwrite:
  230.  
  231. *    ON ENTRY D1.W    HOLDS #$XXXX (3C00-3FFF)
  232. *         D6.B    HOLDS ASCII CHAR 00-FF
  233.  
  234.     MOVEM.L    D1/D2/A0/A2,-(SP)
  235.  
  236.     ANDI.W    #$3FF,D1
  237.     LEA    _scrn,A0
  238.     MOVEA.L    (A0,D1.L*4),A0
  239.     MOVEQ    #0,D1
  240.     MOVE.B    D6,D1
  241.     EXT.L    D1
  242.     MOVE.L    D1,D2
  243.     ASL.L    #3,D2
  244.     ADD.L    D1,D2
  245.     LEA    _chars,A2
  246.     ADDA.L    D2,A2
  247.     MOVE.W    #$40,D2
  248.     MOVE.B    (A2)+,(A0)
  249.     ADD.W    D2,A0                  
  250.     MOVE.B    (A2)+,(A0)
  251.     ADD.W    D2,A0                  
  252.     MOVE.B    (A2)+,(A0)
  253.     ADD.W    D2,A0                  
  254.     MOVE.B    (A2)+,(A0)
  255.     ADD.W    D2,A0                  
  256.     MOVE.B    (A2)+,(A0)
  257.     ADD.W    D2,A0                  
  258.     MOVE.B    (A2)+,(A0)
  259.     ADD.W    D2,A0                  
  260.     MOVE.B    (A2)+,(A0)
  261.     ADD.W    D2,A0                  
  262.     MOVE.B    (A2)+,(A0)
  263.     ADD.W    D2,A0                  
  264.     MOVE.B    (A2)+,(A0)
  265.  
  266.     MOVEM.L    (SP)+,D1/D2/A0/A2
  267.     RTS
  268.  
  269. ILLEGAL:
  270.     MOVEM.L    (SP)+,D0-D7/A0-A6
  271.     RTS
  272.  
  273. MAIN00:    SUBQ.L    #1,A2        ; NOP
  274.     MOVE.W    (A2)+,D1
  275.     IF    DEEBUG
  276.     BRA    DEBUG
  277.     ELSE
  278.     JMP    ([A3,D1.W*4])
  279.     ENDIF
  280.  
  281. MAIN01:    ROL.W    #8,D1        ; LD BC,XXXX
  282.     MOVE.B    (A2)+,D1
  283.     ROL.W    #8,D1
  284.     MOVE.W    D1,D3
  285.     MOVE.W    (A2)+,D1
  286.     IF    DEEBUG
  287.     BRA    DEBUG
  288.     ELSE
  289.     JMP    ([A3,D1.W*4])
  290.     ENDIF
  291.  
  292. MAIN02:    MOVEQ    #0,D1        ; LD (BC),A
  293.     MOVE.W    D3,D1
  294.     CMPI.W    #$4000,D1
  295.     BCS.B    .L1
  296.     MOVE.B    D0,(A0,D1.L)
  297.     SUBQ.L    #1,A2
  298.     MOVE.W    (A2)+,D1
  299.     IF    DEEBUG
  300.     BRA    DEBUG
  301.     ELSE
  302.     JMP    ([A3,D1.W*4])
  303.     ENDIF
  304.  
  305. .L1    CMPI.W    #$3BFF,D1
  306.     BHI.B    .L2
  307.     SUBQ.L    #1,A2
  308.     MOVE.W    (A2)+,D1
  309.     IF    DEEBUG
  310.     BRA    DEBUG
  311.     ELSE
  312.     JMP    ([A3,D1.W*4])
  313.     ENDIF
  314.  
  315. .L2    MOVE.B    D0,D6
  316.     MOVE.B    D0,(A0,D1.L)
  317.     BSR.W    _screenwrite
  318.     SUBQ.L    #1,A2
  319.     MOVE.W    (A2)+,D1
  320.     IF    DEEBUG
  321.     BRA    DEBUG
  322.     ELSE
  323.     JMP    ([A3,D1.W*4])
  324.     ENDIF
  325.  
  326. MAIN03:                ; INC BC
  327.     ADDQ.W    #1,D3
  328.     SUBQ.L    #1,A2
  329.     MOVE.W    (A2)+,D1
  330.     IF    DEEBUG
  331.     BRA    DEBUG
  332.     ELSE
  333.     JMP    ([A3,D1.W*4])
  334.     ENDIF
  335.  
  336. MAIN04:                ; INC B
  337.     MOVE.B    D4,D6
  338.     ROL.W    #8,D3
  339.     MOVE.W    D4,CCR
  340.     ADDQ.B    #1,D3
  341.     MOVE.W    CCR,D4
  342.     ANDI.W    #$EE,D4
  343.     ANDI.W    #$11,D6
  344.     OR.B    D6,D4
  345.     MOVE.B    D3,D7
  346.     ROL.W    #8,D3
  347.     ANDI.W    #$FF,D7
  348.     MOVE.B    ($220,A6,D7.W),D5
  349.     SUBQ.L    #1,A2
  350.     MOVE.W    (A2)+,D1
  351.     IF    DEEBUG
  352.     BRA    DEBUG
  353.     ELSE
  354.     JMP    ([A3,D1.W*4])
  355.     ENDIF
  356.  
  357. MAIN05:                ; DEC B
  358.     MOVE.W    D4,D6
  359.     ROL.W    #8,D3
  360.     MOVE.W    D4,CCR
  361.     SUBQ.B    #1,D3
  362.     MOVE.W    CCR,D4
  363.     ANDI.W    #$EE,D4
  364.     ANDI.W    #$11,D6
  365.     OR.B    D6,D4
  366.     MOVE.B    D3,D7
  367.     ROL.W    #8,D3
  368.     ANDI.W    #$FF,D7
  369.     MOVE.B    ($320,A6,D7.W),D5
  370.     SUBQ.L    #1,A2
  371.     MOVE.W    (A2)+,D1
  372.     IF    DEEBUG
  373.     BRA    DEBUG
  374.     ELSE
  375.     JMP    ([A3,D1.W*4])
  376.     ENDIF
  377.  
  378. MAIN06:                ; LD B,X
  379.     ROL.W    #8,D3
  380.     MOVE.B    D1,D3
  381.     ROL.W    #8,D3
  382.     MOVE.W    (A2)+,D1
  383.     IF    DEEBUG
  384.     BRA    DEBUG
  385.     ELSE
  386.     JMP    ([A3,D1.W*4])
  387.     ENDIF
  388.  
  389. MAIN07:                ; RLCA
  390.     ROL.B    #1,D0
  391.     SCS    D7
  392.     ANDI.W    #$EE,D4
  393.     ANDI.W    #$11,D7
  394.     OR.B    D7,D4
  395.     MOVEQ    #0,D5
  396.     SUBQ.L    #1,A2
  397.     MOVE.W    (A2)+,D1
  398.     IF    DEEBUG
  399.     BRA    DEBUG
  400.     ELSE
  401.     JMP    ([A3,D1.W*4])
  402.     ENDIF
  403.  
  404. MAIN08:                ; EX AF,AF'
  405.     MOVE.W    D0,REGA
  406.     MOVE.W    D4,FLAGS
  407.     MOVE.W    D5,XFLAGS
  408.     MOVE.W    AREGA,D0
  409.     MOVE.W    AFLAGS,D4
  410.     MOVE.W    XAFLAGS,D5
  411.     MOVE.W    REGA,AREGA
  412.     MOVE.W    FLAGS,AFLAGS
  413.     MOVE.W    XFLAGS,XAFLAGS
  414.     SUBQ.L    #1,A2
  415.     MOVE.W    (A2)+,D1
  416.     IF    DEEBUG
  417.     BRA    DEBUG
  418.     ELSE
  419.     JMP    ([A3,D1.W*4])
  420.     ENDIF
  421.  
  422. MAIN09:                ; ADD HL,BC
  423.     ANDI.B    #$EE,D4        ; MASK X,C
  424.     ADD.W    D3,D2
  425.     SCS.B    D7
  426.     ANDI.B    #$11,D7
  427.     OR.B    D7,D4
  428.     MOVEQ    #0,D5        ; SET H=0 N=0
  429.     SUBQ.L    #1,A2
  430.     MOVE.W    (A2)+,D1
  431.     IF    DEEBUG
  432.     BRA    DEBUG
  433.     ELSE
  434.     JMP    ([A3,D1.W*4])
  435.     ENDIF
  436.  
  437. MAIN0A:                ; LD A,(BC)
  438.     MOVEQ    #0,D1
  439.     MOVE.W    D3,D1
  440.     MOVE.B    (A0,D1.L),D0
  441.     SUBQ.L    #1,A2
  442.     MOVE.W    (A2)+,D1
  443.     IF    DEEBUG
  444.     BRA    DEBUG
  445.     ELSE
  446.     JMP    ([A3,D1.W*4])
  447.     ENDIF
  448.  
  449. MAIN0B:                ; DEC BC
  450.     SUBQ.W    #1,D3
  451.     SUBQ.L    #1,A2
  452.     MOVE.W    (A2)+,D1
  453.     IF    DEEBUG
  454.     BRA    DEBUG
  455.     ELSE
  456.     JMP    ([A3,D1.W*4])
  457.     ENDIF
  458.  
  459. MAIN0C:                ; INC C
  460.     MOVE.W    D4,D6
  461.     MOVE.W    D4,CCR
  462.     ADDQ.B    #1,D3
  463.     MOVE.W    CCR,D4
  464.     ANDI.W    #$EE,D4        ; CLEAR X,C
  465.     ANDI.W    #$11,D6
  466.     OR.B    D6,D4        ; SET X,C IF PREVIUOSLY SET
  467.     MOVE.B    D3,D7
  468.     ANDI.W    #$00FF,D7    ; EXT D7 FOR INDEX INTO ADD TABLE
  469.     MOVE.B    $220(A6,D7.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  470.     SUBQ.L    #1,A2
  471.     MOVE.W    (A2)+,D1
  472.     IF    DEEBUG
  473.     BRA    DEBUG
  474.     ELSE
  475.     JMP    ([A3,D1.W*4])
  476.     ENDIF
  477.  
  478. MAIN0D:                ; DEC C
  479.     MOVE.W    D4,D6
  480.     MOVE.W    D4,CCR
  481.     SUBQ.B    #1,D3
  482.     MOVE.W    CCR,D4
  483.     ANDI.W    #$EE,D4        ; CLEAR X,C
  484.     ANDI.W    #$11,D6
  485.     OR.B    D6,D4        ; SET X,C IF PREVIUOSLY SET
  486.     MOVE.B    D3,D7
  487.     ANDI.W    #$00FF,D7    ; EXT D7 FOR INDEX INTO SUB TABLE
  488.     MOVE.B    $320(A6,D7.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  489.     SUBQ.L    #1,A2
  490.     MOVE.W    (A2)+,D1
  491.     IF    DEEBUG
  492.     BRA    DEBUG
  493.     ELSE
  494.     JMP    ([A3,D1.W*4])
  495.     ENDIF
  496.  
  497. MAIN0E:                ; LD C,X
  498.     MOVE.B    D1,D3
  499.     MOVE.W    (A2)+,D1
  500.     IF    DEEBUG
  501.     BRA    DEBUG
  502.     ELSE
  503.     JMP    ([A3,D1.W*4])
  504.     ENDIF
  505.  
  506. MAIN0F:                ; RRCA
  507.     ROR.B    #1,D0
  508.     SCS    D7
  509.     ANDI.W    #$EE,D4        ; ONLY AFFECTS X,C
  510.     ANDI.W    #$11,D7
  511.     OR.B    D7,D4
  512.     MOVEQ.B    #0,D5        ; SET EXTENDED Z80 FLG TO N=0 H=0
  513.     SUBQ.L    #1,A2
  514.     MOVE.W    (A2)+,D1
  515.     IF    DEEBUG
  516.     BRA    DEBUG
  517.     ELSE
  518.     JMP    ([A3,D1.W*4])
  519.     ENDIF
  520.  
  521. MAIN10:                ; DJNZ    X
  522.     ROL.W    #8,D3
  523.     SUBQ.B    #1,D3
  524.     BEQ.B    .L1
  525.     ROL.W    #8,D3
  526.     EXT.W    D1
  527.     ADDA.W    D1,A2
  528.     MOVE.W    (A2)+,D1
  529.     IF    DEEBUG
  530.     BRA    DEBUG
  531.     ELSE
  532.     JMP    ([A3,D1.W*4])
  533.     ENDIF
  534.  
  535. .L1    ROL.W    #8,D3
  536.     MOVE.W    (A2)+,D1
  537.     IF    DEEBUG
  538.     BRA    DEBUG
  539.     ELSE
  540.     JMP    ([A3,D1.W*4])
  541.     ENDIF
  542.  
  543.  
  544. MAIN11:                ; LD DE,XXXX
  545.     ROL.W    #8,D1
  546.     MOVE.B    (A2)+,D1
  547.     ROL.W    #8,D1
  548.     SWAP    D3
  549.     MOVE.W    D1,D3
  550.     SWAP    D3
  551.     MOVE.W    (A2)+,D1
  552.     IF    DEEBUG
  553.     BRA    DEBUG
  554.     ELSE
  555.     JMP    ([A3,D1.W*4])
  556.     ENDIF
  557.  
  558.  
  559. MAIN12:                ; LD (DE),A
  560.     MOVEQ    #0,D1
  561.     SWAP    D3
  562.     MOVE.W    D3,D1
  563.     SWAP    D3
  564.     CMPI.W    #$4000,D1    ; if DE >= 4000 do the instruction
  565.     BCS.B    .L1
  566.     MOVE.B    D0,(A0,D1.L)
  567.     SUBQ.L    #1,A2
  568.     MOVE.W    (A2)+,D1
  569.     IF    DEEBUG
  570.     BRA    DEBUG
  571.     ELSE
  572.     JMP    ([A3,D1.W*4])
  573.     ENDIF
  574.  
  575. .L1
  576.     CMPI.W    #$3BFF,D1    ; if DE <= 3C00 we are in ROM so do nothing
  577.     BHI.B    .L2
  578.     SUBQ.L    #1,A2
  579.     MOVE.W    (A2)+,D1
  580.     IF    DEEBUG
  581.     BRA    DEBUG
  582.     ELSE
  583.     JMP    ([A3,D1.W*4])
  584.     ENDIF
  585. .L2
  586.     MOVE.B    D0,D6        ; DE is pointing at the screen so update the
  587.     MOVE.B    D0,(A0,D1.L)    ; screen with A
  588.     BSR    _screenwrite
  589.     SUBQ.L    #1,A2
  590.     MOVE.W    (A2)+,D1
  591.     IF    DEEBUG
  592.     BRA    DEBUG
  593.     ELSE
  594.     JMP    ([A3,D1.W*4])
  595.     ENDIF
  596.  
  597. MAIN13:                ; INC DE
  598.     SWAP    D3
  599.     ADDQ.W    #1,D3
  600.     SWAP    D3
  601.     SUBQ.L    #1,A2
  602.     MOVE.W    (A2)+,D1
  603.     IF    DEEBUG
  604.     BRA    DEBUG
  605.     ELSE
  606.     JMP    ([A3,D1.W*4])
  607.     ENDIF
  608.  
  609. MAIN14:                ; INC D
  610.     MOVE.W    D4,D6
  611.     ROL.L    #8,D3
  612.     MOVE.W    D4,CCR
  613.     ADDQ.B    #1,D3
  614.     MOVE.W    CCR,D4
  615.     ANDI.W    #$EE,D4        ; CLEAR X,C
  616.     ANDI.W    #$11,D6
  617.     OR.B    D6,D4        ; SET X,C IF PREVIUOSLY SET
  618.     MOVE.B    D3,D7
  619.     ROR.L    #8,D3
  620.     ANDI.W    #$00FF,D7    ; EXT D7 FOR INDEX INTO ADD TABLE
  621.     MOVE.B    $220(A6,D7.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  622.     SUBQ.L    #1,A2
  623.     MOVE.W    (A2)+,D1
  624.     IF    DEEBUG
  625.     BRA    DEBUG
  626.     ELSE
  627.     JMP    ([A3,D1.W*4])
  628.     ENDIF
  629.  
  630. MAIN15:                ; DEC D
  631.     MOVE.W    D4,D6
  632.     ROL.L    #8,D3
  633.     MOVE.W    D4,CCR
  634.     SUBQ.B    #1,D3
  635.     MOVE.W    CCR,D4
  636.     ANDI.W    #$EE,D4        ; CLEAR X,C
  637.     ANDI.W    #$11,D6
  638.     OR.B    D6,D4        ; SET X,C IF PREVIUOSLY SET
  639.     MOVE.B    D3,D7
  640.     ROR.L    #8,D3
  641.     ANDI.W    #$00FF,D7    ; EXT D7 FOR INDEX INTO SUB TABLE
  642.     MOVE.B    $320(A6,D7.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  643.     SUBQ.L    #1,A2
  644.     MOVE.W    (A2)+,D1
  645.     IF    DEEBUG
  646.     BRA    DEBUG
  647.     ELSE
  648.     JMP    ([A3,D1.W*4])
  649.     ENDIF
  650.  
  651. MAIN16:                ; LD D,X
  652.     ROL.L    #8,D3
  653.     MOVE.B    D1,D3
  654.     ROR.L    #8,D3
  655.     MOVE.W    (A2)+,D1
  656.     IF    DEEBUG
  657.     BRA    DEBUG
  658.     ELSE
  659.     JMP    ([A3,D1.W*4])
  660.     ENDIF
  661.  
  662. MAIN17:                ; RLA
  663.     MOVE.W    D4,CCR
  664.     ROXL.B    #1,D0
  665.     SCS    D7
  666.     ANDI.W    #$EE,D4        ; ONLY AFFECTS X,C
  667.     ANDI.W    #$11,D7
  668.     OR.B    D7,D4
  669.     MOVEQ.B    #0,D5        ; SET EXTENDED Z80 FLG TO N=0 H=0
  670.     SUBQ.L    #1,A2
  671.     MOVE.W    (A2)+,D1
  672.     IF    DEEBUG
  673.     BRA    DEBUG
  674.     ELSE
  675.     JMP    ([A3,D1.W*4])
  676.     ENDIF
  677.  
  678. MAIN18:                ; JR X
  679.     EXT.W    D1
  680.     ADDA.W    D1,A2
  681.     MOVE.W    (A2)+,D1
  682.     IF    DEEBUG
  683.     BRA    DEBUG
  684.     ELSE
  685.     JMP    ([A3,D1.W*4])
  686.     ENDIF
  687.  
  688. MAIN19:                ; ADD HL,DE
  689.     ANDI.B    #$EE,D4        ; MASK X,C
  690.     MOVE.L    D3,D1
  691.     SWAP    D1
  692.     ADD.W    D1,D2
  693.     SCS.B    D7
  694.     ANDI.B    #$11,D7
  695.     OR.B    D7,D4
  696.     MOVEQ    #0,D5        ; SET H=0 N=0
  697.     SUBQ.L    #1,A2
  698.     MOVE.W    (A2)+,D1
  699.     IF    DEEBUG
  700.     BRA    DEBUG
  701.     ELSE
  702.     JMP    ([A3,D1.W*4])
  703.     ENDIF
  704.  
  705. MAIN1A:                ; LD A,(DE)
  706.     MOVEQ    #0,D1
  707.     SWAP    D3
  708.     MOVE.W    D3,D1
  709.     SWAP    D3
  710.     MOVE.B    (A0,D1.L),D0
  711.     SUBQ.L    #1,A2
  712.     MOVE.W    (A2)+,D1
  713.     IF    DEEBUG
  714.     BRA    DEBUG
  715.     ELSE
  716.     JMP    ([A3,D1.W*4])
  717.     ENDIF
  718.  
  719. MAIN1B:                ; DEC DE
  720.     SWAP    D3
  721.     SUBQ.W    #1,D3
  722.     SWAP    D3
  723.     SUBQ.L    #1,A2
  724.     MOVE.W    (A2)+,D1
  725.     IF    DEEBUG
  726.     BRA    DEBUG
  727.     ELSE
  728.     JMP    ([A3,D1.W*4])
  729.     ENDIF
  730.  
  731. MAIN1C:                ; INC E
  732.     MOVE.W    D4,D6
  733.     SWAP    D3
  734.     MOVE.W    D4,CCR
  735.     ADDQ.B    #1,D3
  736.     MOVE.W    CCR,D4
  737.     ANDI.W    #$EE,D4        ; CLEAR X,C
  738.     ANDI.W    #$11,D6
  739.     OR.B    D6,D4        ; SET X,C IF PREVIUOSLY SET
  740.     MOVE.B    D3,D7
  741.     SWAP    D3
  742.     ANDI.W    #$00FF,D7    ; EXT D7 FOR INDEX INTO ADD TABLE
  743.     MOVE.B    $220(A6,D7.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  744.     SUBQ.L    #1,A2
  745.     MOVE.W    (A2)+,D1
  746.     IF    DEEBUG
  747.     BRA    DEBUG
  748.     ELSE
  749.     JMP    ([A3,D1.W*4])
  750.     ENDIF
  751.  
  752. MAIN1D:                ; DEC E
  753.     MOVE.W    D4,D6
  754.     SWAP    D3
  755.     MOVE.W    D4,CCR
  756.     SUBQ.B    #1,D3
  757.     MOVE.W    CCR,D4
  758.     ANDI.W    #$EE,D4        ; CLEAR X,C
  759.     ANDI.W    #$11,D6
  760.     OR.B    D6,D4        ; SET X,C IF PREVIUOSLY SET
  761.     MOVE.B    D3,D7
  762.     SWAP    D3
  763.     ANDI.W    #$00FF,D7    ; EXT D7 FOR INDEX INTO SUB TABLE
  764.     MOVE.B    $320(A6,D7.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  765.     SUBQ.L    #1,A2
  766.     MOVE.W    (A2)+,D1
  767.     IF    DEEBUG
  768.     BRA    DEBUG
  769.     ELSE
  770.     JMP    ([A3,D1.W*4])
  771.     ENDIF
  772.  
  773. MAIN1E:                ; LD E,X
  774.     SWAP    D3
  775.     MOVE.B    D1,D3
  776.     SWAP    D3
  777.     MOVE.W    (A2)+,D1
  778.     IF    DEEBUG
  779.     BRA    DEBUG
  780.     ELSE
  781.     JMP    ([A3,D1.W*4])
  782.     ENDIF
  783.  
  784. MAIN1F:                ; RRA
  785.     MOVE.W    D4,CCR
  786.     ROXR.B    #1,D0
  787.     SCS    D7
  788.     ANDI.W    #$EE,D4        ; ONLY AFFECTS X,C
  789.     ANDI.W    #$11,D7
  790.     OR.B    D7,D4
  791.     MOVEQ.B    #0,D5        ; SET EXTENDED Z80 FLG TO N=0 H=0
  792.     SUBQ.L    #1,A2
  793.     MOVE.W    (A2)+,D1
  794.     IF    DEEBUG
  795.     BRA    DEBUG
  796.     ELSE
  797.     JMP    ([A3,D1.W*4])
  798.     ENDIF
  799.  
  800. MAIN20:                ; JR NZ,X
  801.     EXT.W    D1
  802.     MOVE.W    D4,CCR
  803.     BEQ.B    M201
  804.     ADDA.W    D1,A2
  805.     MOVE.W    (A2)+,D1
  806.     IF    DEEBUG
  807.     BRA    DEBUG
  808.     ELSE
  809.     JMP    ([A3,D1.W*4])
  810.     ENDIF
  811.  
  812. M201:    MOVE.W    (A2)+,D1
  813.     IF    DEEBUG
  814.     BRA    DEBUG
  815.     ELSE
  816.     JMP    ([A3,D1.W*4])
  817.     ENDIF
  818.  
  819. MAIN21:                ; LD HL,XXXX
  820.     ROL.W    #8,D1
  821.     MOVE.B    (A2)+,D1
  822.     ROL.W    #8,D1
  823.     MOVE.W    D1,D2
  824.     MOVE.W    (A2)+,D1
  825.     IF    DEEBUG
  826.     BRA    DEBUG
  827.     ELSE
  828.     JMP    ([A3,D1.W*4])
  829.     ENDIF
  830.  
  831. MAIN22:                ; LD (XXXX),HL
  832.     ROL.W    #8,D1
  833.     MOVE.B    (A2)+,D1
  834.     ROL.W    #8,D1
  835.     MOVEQ    #0,D7
  836.     MOVE.W    D1,D7
  837.     ROL.W    #8,D2
  838.     MOVE.W    D2,(A0,D7.L)
  839.     ROL.W    #8,D2
  840.     MOVE.W    (A2)+,D1
  841.     IF    DEEBUG
  842.     BRA    DEBUG
  843.     ELSE
  844.     JMP    ([A3,D1.W*4])
  845.     ENDIF
  846.  
  847. MAIN23:                ; INC HL
  848.     ADDQ.W    #1,D2
  849.     SUBQ.L    #1,A2
  850.     MOVE.W    (A2)+,D1
  851.     IF    DEEBUG
  852.     BRA    DEBUG
  853.     ELSE
  854.     JMP    ([A3,D1.W*4])
  855.     ENDIF
  856.  
  857. MAIN24:                ; INC H
  858.     MOVE.W    D4,D6
  859.     ROL.W    #8,D2
  860.     MOVE.W    D4,CCR
  861.     ADDQ.B    #1,D2
  862.     MOVE.W    CCR,D4
  863.     ANDI.W    #$EE,D4        ; CLEAR X,C
  864.     ANDI.W    #$11,D6
  865.     OR.B    D6,D4        ; SET X,C IF PREVIUOSLY SET
  866.     MOVE.B    D2,D7
  867.     ROL.W    #8,D2
  868.     ANDI.W    #$00FF,D7    ; EXT D7 FOR INDEX INTO ADD TABLE
  869.     MOVE.B    $220(A6,D7.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  870.     SUBQ.L    #1,A2
  871.     MOVE.W    (A2)+,D1
  872.     IF    DEEBUG
  873.     BRA    DEBUG
  874.     ELSE
  875.     JMP    ([A3,D1.W*4])
  876.     ENDIF
  877.  
  878. MAIN25:                ; DEC H
  879.     MOVE.W    D4,D6
  880.     ROL.W    #8,D2
  881.     MOVE.W    D4,CCR
  882.     SUBQ.B    #1,D2
  883.     MOVE.W    CCR,D4
  884.     ANDI.W    #$EE,D4        ; CLEAR X,C
  885.     ANDI.W    #$11,D6
  886.     OR.B    D6,D4        ; SET X,C IF PREVIUOSLY SET
  887.     MOVE.B    D2,D7
  888.     ROL.W    #8,D2
  889.     ANDI.W    #$00FF,D7    ; EXT D7 FOR INDEX INTO SUB TABLE
  890.     MOVE.B    $320(A6,D7.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  891.     SUBQ.L    #1,A2
  892.     MOVE.W    (A2)+,D1
  893.     IF    DEEBUG
  894.     BRA    DEBUG
  895.     ELSE
  896.     JMP    ([A3,D1.W*4])
  897.     ENDIF
  898.  
  899. MAIN26:                ; LD H,X
  900.     ROL.W    #8,D2
  901.     MOVE.B    D1,D2
  902.     ROL.W    #8,D2
  903.     MOVE.W    (A2)+,D1
  904.     IF    DEEBUG
  905.     BRA    DEBUG
  906.     ELSE
  907.     JMP    ([A3,D1.W*4])
  908.     ENDIF
  909.  
  910. MAIN27:
  911.     SUBQ.L    #1,A2
  912.     MOVE.W    (A2)+,D1
  913.     IF    DEEBUG
  914.     BRA    DEBUG
  915.     ELSE
  916.     JMP    ([A3,D1.W*4])
  917.     ENDIF
  918.  
  919. MAIN28:                ; JR Z,X
  920.     EXT.W    D1
  921.     MOVE.W    D4,CCR
  922.     BNE.B    M281
  923.     ADDA.W    D1,A2
  924.     MOVE.W    (A2)+,D1
  925.     IF    DEEBUG
  926.     BRA    DEBUG
  927.     ELSE
  928.     JMP    ([A3,D1.W*4])
  929.     ENDIF
  930.  
  931. M281:    MOVE.W    (A2)+,D1
  932.     IF    DEEBUG
  933.     BRA    DEBUG
  934.     ELSE
  935.     JMP    ([A3,D1.W*4])
  936.     ENDIF
  937.  
  938. MAIN29:                ; ADD HL,HL
  939.     ANDI.B    #$EE,D4        ; MASK X,C
  940.     ADD.W    D2,D2
  941.     SCS.B    D7
  942.     ANDI.B    #$11,D7
  943.     OR.B    D7,D4
  944.     MOVEQ    #0,D5        ; SET H=0 N=0
  945.     SUBQ.L    #1,A2
  946.     MOVE.W    (A2)+,D1
  947.     IF    DEEBUG
  948.     BRA    DEBUG
  949.     ELSE
  950.     JMP    ([A3,D1.W*4])
  951.     ENDIF
  952.  
  953. MAIN2A:                ; LD HL,(XXXX)
  954.     ROL.W    #8,D1
  955.     MOVE.B    (A2)+,D1
  956.     ROL.W    #8,D1
  957.     MOVEQ    #0,D7
  958.     MOVE.W    D1,D7
  959.     MOVE.W    (A0,D7.L),D2
  960.     ROL.W    #8,D2
  961.     MOVE.W    (A2)+,D1
  962.     IF    DEEBUG
  963.     BRA    DEBUG
  964.     ELSE
  965.     JMP    ([A3,D1.W*4])
  966.     ENDIF
  967.  
  968. MAIN2B:                ; DEC HL
  969.     SUBQ.W    #1,D2
  970.     SUBQ.L    #1,A2
  971.     MOVE.W    (A2)+,D1
  972.     IF    DEEBUG
  973.     BRA    DEBUG
  974.     ELSE
  975.     JMP    ([A3,D1.W*4])
  976.     ENDIF
  977.  
  978. MAIN2C:                ; INC L
  979.     MOVE.W    D4,D6
  980.     MOVE.W    D4,CCR
  981.     ADDQ.B    #1,D2
  982.     MOVE.W    CCR,D4
  983.     ANDI.W    #$EE,D4        ; CLEAR X,C
  984.     ANDI.W    #$11,D6
  985.     OR.B    D6,D4        ; SET X,C IF PREVIUOSLY SET
  986.     MOVE.B    D2,D7
  987.     ANDI.W    #$00FF,D7    ; EXT D7 FOR INDEX INTO ADD TABLE
  988.     MOVE.B    $220(A6,D7.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  989.     SUBQ.L    #1,A2
  990.     MOVE.W    (A2)+,D1
  991.     IF    DEEBUG
  992.     BRA    DEBUG
  993.     ELSE
  994.     JMP    ([A3,D1.W*4])
  995.     ENDIF
  996.  
  997. MAIN2D:                ; DEC L
  998.     MOVE.W    D4,D6
  999.     MOVE.W    D4,CCR
  1000.     SUBQ.B    #1,D2
  1001.     MOVE.W    CCR,D4
  1002.     ANDI.W    #$EE,D4        ; CLEAR X,C
  1003.     ANDI.W    #$11,D6
  1004.     OR.B    D6,D4        ; SET X,C IF PREVIUOSLY SET
  1005.     MOVE.B    D2,D7
  1006.     ANDI.W    #$00FF,D7    ; EXT D7 FOR INDEX INTO SUB TABLE
  1007.     MOVE.B    $320(A6,D7.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  1008.     SUBQ.L    #1,A2
  1009.     MOVE.W    (A2)+,D1
  1010.     IF    DEEBUG
  1011.     BRA    DEBUG
  1012.     ELSE
  1013.     JMP    ([A3,D1.W*4])
  1014.     ENDIF
  1015.  
  1016. MAIN2E:                ; LD L,X
  1017.     MOVE.B    D1,D2
  1018.     MOVE.W    (A2)+,D1
  1019.     IF    DEEBUG
  1020.     BRA    DEBUG
  1021.     ELSE
  1022.     JMP    ([A3,D1.W*4])
  1023.     ENDIF
  1024.  
  1025. MAIN2F:                ; CPL
  1026.     NOT.B    D0
  1027.     MOVE.B    #$12,D5
  1028.     SUBQ.L    #1,A2    
  1029.     MOVE.W    (A2)+,D1
  1030.     IF    DEEBUG
  1031.     BRA    DEBUG
  1032.     ELSE
  1033.     JMP    ([A3,D1.W*4])
  1034.     ENDIF
  1035.  
  1036. MAIN30:                ; JR NC,X
  1037.     EXT.W    D1
  1038.     MOVE.W    D4,CCR
  1039.     BCS.B    M301
  1040.     ADDA.W    D1,A2
  1041.     MOVE.W    (A2)+,D1
  1042.     IF    DEEBUG
  1043.     BRA    DEBUG
  1044.     ELSE
  1045.     JMP    ([A3,D1.W*4])
  1046.     ENDIF
  1047.  
  1048. M301:    MOVE.W    (A2)+,D1
  1049.     IF    DEEBUG
  1050.     BRA    DEBUG
  1051.     ELSE
  1052.     JMP    ([A3,D1.W*4])
  1053.     ENDIF
  1054.  
  1055. MAIN31:                ; LD SP,XXXX
  1056.     ROL.W    #8,D1
  1057.     MOVE.B    (A2)+,D1
  1058.     ROL.W    #8,D1
  1059.     MOVEQ    #0,D7
  1060.     MOVE.W    D1,D7
  1061.     MOVE.L    A0,A4
  1062.     ADDA.L    D7,A4
  1063.     MOVE.W    (A2)+,D1
  1064.     IF    DEEBUG
  1065.     BRA    DEBUG
  1066.     ELSE
  1067.     JMP    ([A3,D1.W*4])
  1068.     ENDIF
  1069.  
  1070. MAIN32:                ; LD (XXXX),A
  1071.     MOVEQ    #0,D7
  1072.     ROL.W    #8,D1
  1073.     MOVE.B    (A2)+,D1
  1074.     ROL.W    #8,D1
  1075.     MOVE.W    D1,D7
  1076.     CMPI.W    #$4000,D7    ; if XXXX >= 4000 do the instruction
  1077.     BCS.B    .L1
  1078.     MOVE.B    D0,(A0,D7.L)
  1079.     MOVE.W    (A2)+,D1
  1080.     IF    DEEBUG
  1081.     BRA    DEBUG
  1082.     ELSE
  1083.     JMP    ([A3,D1.W*4])
  1084.     ENDIF
  1085.  
  1086. .L1
  1087.     CMPI.W    #$3BFF,D7    ; if XXXX <= 3C00 we are in ROM so do nothing
  1088.     BHI.B    .L2
  1089.     MOVE.W    (A2)+,D1
  1090.     IF    DEEBUG
  1091.     BRA    DEBUG
  1092.     ELSE
  1093.     JMP    ([A3,D1.W*4])
  1094.     ENDIF
  1095. .L2
  1096.     MOVE.B    D0,D6        ; XXXX is pointing at the screen so update the
  1097.     MOVE.B    D0,(A0,D7.L)    ; screen with A
  1098.     MOVE.L    D7,D1
  1099.     BSR    _screenwrite
  1100.     MOVE.W    (A2)+,D1
  1101.     IF    DEEBUG
  1102.     BRA    DEBUG
  1103.     ELSE
  1104.     JMP    ([A3,D1.W*4])
  1105.     ENDIF
  1106.  
  1107.  
  1108. MAIN33:                ; INC SP
  1109.     ADDQ.L    #1,A4
  1110.     SUBQ.L    #1,A2
  1111.     MOVE.W    (A2)+,D1
  1112.     IF    DEEBUG
  1113.     BRA    DEBUG
  1114.     ELSE
  1115.     JMP    ([A3,D1.W*4])
  1116.     ENDIF
  1117.  
  1118. MAIN34:                ; INC (HL)
  1119.     MOVE.W    D4,D7
  1120.     MOVEQ    #0,D1
  1121.     MOVE.W    D2,D1
  1122.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  1123.     BCS.B    .L1
  1124.     MOVE.B    (A0,D1.L),D6
  1125.     MOVE.W    D4,CCR
  1126.     ADDQ.B    #1,D6
  1127.     MOVE.W    CCR,D4
  1128.     ANDI.W    #$EE,D4        ; CLEAR X,C
  1129.     ANDI.W    #$11,D7
  1130.     OR.B    D7,D4        ; SET X,C IF PREVIUOSLY SET
  1131.     MOVE.B    D6,(A0,D1.L)
  1132.     ANDI.W    #$00FF,D6    ; EXT D7 FOR INDEX INTO ADD TABLE
  1133.     MOVE.B    $220(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  1134.     SUBQ.L    #1,A2
  1135.     MOVE.W    (A2)+,D1
  1136.     IF    DEEBUG
  1137.     BRA    DEBUG
  1138.     ELSE
  1139.     JMP    ([A3,D1.W*4])
  1140.     ENDIF
  1141. .L1
  1142.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  1143.     BHI.B    .L2
  1144.     MOVE.B    (A0,D1.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER
  1145.     MOVE.W    D4,CCR        ; ANY MEMORY
  1146.     ADDQ.B    #1,D6
  1147.     MOVE.W    CCR,D4
  1148.     ANDI.W    #$EE,D4        ; CLEAR X,C
  1149.     ANDI.W    #$11,D7
  1150.     OR.B    D7,D4        ; SET X,C IF PREVIUOSLY SET
  1151.     ANDI.W    #$00FF,D6    ; EXT D7 FOR INDEX INTO ADD TABLE
  1152.     MOVE.B    $220(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  1153.     SUBQ.L    #1,A2
  1154.     MOVE.W    (A2)+,D1
  1155.     IF    DEEBUG
  1156.     BRA    DEBUG
  1157.     ELSE
  1158.     JMP    ([A3,D1.W*4])
  1159.     ENDIF
  1160. .L2
  1161.     MOVE.B    (A0,D1.L),D6
  1162.     MOVE.W    D4,CCR
  1163.     ADDQ.B    #1,D6
  1164.     MOVE.W    CCR,D4
  1165.     ANDI.W    #$EE,D4        ; CLEAR X,C
  1166.     ANDI.W    #$11,D7
  1167.     OR.B    D7,D4        ; SET X,C IF PREVIUOSLY SET
  1168.     MOVE.B    D6,(A0,D1.L)
  1169.     ANDI.W    #$00FF,D6    ; EXT D7 FOR INDEX INTO ADD TABLE
  1170.     MOVE.B    $220(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  1171.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  1172.     SUBQ.L    #1,A2
  1173.     MOVE.W    (A2)+,D1
  1174.     IF    DEEBUG
  1175.     BRA    DEBUG
  1176.     ELSE
  1177.     JMP    ([A3,D1.W*4])
  1178.     ENDIF
  1179.  
  1180. MAIN35:                ; DEC (HL)
  1181.     MOVE.W    D4,D7
  1182.     MOVEQ    #0,D1
  1183.     MOVE.W    D2,D1
  1184.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  1185.     BCS.B    .L1
  1186.     MOVE.B    (A0,D1.L),D6
  1187.     MOVE.W    D4,CCR
  1188.     SUBQ.B    #1,D6
  1189.     MOVE.W    CCR,D4
  1190.     ANDI.W    #$EE,D4        ; CLEAR X,C
  1191.     ANDI.W    #$11,D7
  1192.     OR.B    D7,D4        ; SET X,C IF PREVIUOSLY SET
  1193.     MOVE.B    D6,(A0,D1.L)
  1194.     ANDI.W    #$00FF,D6    ; EXT D7 FOR INDEX INTO SUB TABLE
  1195.     MOVE.B    $320(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  1196.     SUBQ.L    #1,A2
  1197.     MOVE.W    (A2)+,D1
  1198.     IF    DEEBUG
  1199.     BRA    DEBUG
  1200.     ELSE
  1201.     JMP    ([A3,D1.W*4])
  1202.     ENDIF
  1203. .L1
  1204.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  1205.     BHI.B    .L2
  1206.     MOVE.B    (A0,D1.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER
  1207.     MOVE.W    D4,CCR        ; ANY MEMORY
  1208.     SUBQ.B    #1,D6
  1209.     MOVE.W    CCR,D4
  1210.     ANDI.W    #$EE,D4        ; CLEAR X,C
  1211.     ANDI.W    #$11,D7
  1212.     OR.B    D7,D4        ; SET X,C IF PREVIUOSLY SET
  1213.     ANDI.W    #$00FF,D6    ; EXT D7 FOR INDEX INTO SUB TABLE
  1214.     MOVE.B    $320(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  1215.     SUBQ.L    #1,A2
  1216.     MOVE.W    (A2)+,D1
  1217.     IF    DEEBUG
  1218.     BRA    DEBUG
  1219.     ELSE
  1220.     JMP    ([A3,D1.W*4])
  1221.     ENDIF
  1222. .L2
  1223.     MOVE.B    (A0,D1.L),D6
  1224.     MOVE.W    D4,CCR
  1225.     SUBQ.B    #1,D6
  1226.     MOVE.W    CCR,D4
  1227.     ANDI.W    #$EE,D4        ; CLEAR X,C
  1228.     ANDI.W    #$11,D7
  1229.     OR.B    D7,D4        ; SET X,C IF PREVIUOSLY SET
  1230.     MOVE.B    D6,(A0,D1.L)
  1231.     ANDI.W    #$00FF,D6    ; EXT D7 FOR INDEX INTO SUB TABLE
  1232.     MOVE.B    $320(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  1233.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  1234.     SUBQ.L    #1,A2
  1235.     MOVE.W    (A2)+,D1
  1236.     IF    DEEBUG
  1237.     BRA    DEBUG
  1238.     ELSE
  1239.     JMP    ([A3,D1.W*4])
  1240.     ENDIF
  1241.  
  1242. MAIN36:                ; LD (HL),X
  1243.     MOVEQ    #0,D7
  1244.     MOVE.W    D2,D7
  1245.     CMPI.W    #$4000,D7    ; if HL >= 4000 do the instruction
  1246.     BCS.B    .L1
  1247.     MOVE.B    D1,(A0,D7.L)
  1248.     MOVE.W    (A2)+,D1
  1249.     IF    DEEBUG
  1250.     BRA    DEBUG
  1251.     ELSE
  1252.     JMP    ([A3,D1.W*4])
  1253.     ENDIF
  1254. .L1
  1255.     CMPI.W    #$3BFF,D7    ; if HL <= 3C00 we are in ROM so do nothing
  1256.     BHI.B    .L2
  1257.     MOVE.W    (A2)+,D1
  1258.     IF    DEEBUG
  1259.     BRA    DEBUG
  1260.     ELSE
  1261.     JMP    ([A3,D1.W*4])
  1262.     ENDIF
  1263. .L2
  1264.     MOVE.B    D1,D6        ; HL is pointing at the screen so update the
  1265.     MOVE.B    D1,(A0,D7.L)    ; screen with A
  1266.     MOVE.L    D7,D1
  1267.     BSR    _screenwrite
  1268.     MOVE.W    (A2)+,D1
  1269.     IF    DEEBUG
  1270.     BRA    DEBUG
  1271.     ELSE
  1272.     JMP    ([A3,D1.W*4])
  1273.     ENDIF
  1274.  
  1275.  
  1276. MAIN37:                ; SCF
  1277.     ORI.B    #$11,D4
  1278.     SUBQ.L    #1,A2
  1279.     MOVE.W    (A2)+,D1
  1280.     IF    DEEBUG
  1281.     BRA    DEBUG
  1282.     ELSE
  1283.     JMP    ([A3,D1.W*4])
  1284.     ENDIF
  1285.  
  1286. MAIN38:                ; JR C,X
  1287.     EXT.W    D1
  1288.     MOVE.W    D4,CCR
  1289.     BCC.B    M381
  1290.     ADDA.W    D1,A2
  1291.     MOVE.W    (A2)+,D1
  1292.     IF    DEEBUG
  1293.     BRA    DEBUG
  1294.     ELSE
  1295.     JMP    ([A3,D1.W*4])
  1296.     ENDIF
  1297.  
  1298. M381:    MOVE.W    (A2)+,D1
  1299.     IF    DEEBUG
  1300.     BRA    DEBUG
  1301.     ELSE
  1302.     JMP    ([A3,D1.W*4])
  1303.     ENDIF
  1304.  
  1305. MAIN39:                ; ADD HL,SP
  1306.     ANDI.B    #$EE,D4        ; MASK X,C
  1307.     SUBA.L    A0,A4
  1308.     MOVE.L    A4,D7
  1309.     ADD.W    D7,D2
  1310.     SCS.B    D7
  1311.     ANDI.B    #$11,D7
  1312.     OR.B    D7,D4
  1313.     ADDA.L    A0,A4
  1314.     MOVEQ    #0,D5        ; SET H=0 N=0
  1315.     SUBQ.L    #1,A2
  1316.     MOVE.W    (A2)+,D1
  1317.     IF    DEEBUG
  1318.     BRA    DEBUG
  1319.     ELSE
  1320.     JMP    ([A3,D1.W*4])
  1321.     ENDIF
  1322.  
  1323. MAIN3A:                ; LD A,(XXXX)
  1324.     ROL.W    #8,D1
  1325.     MOVE.B    (A2)+,D1
  1326.     ROL.W    #8,D1
  1327.     MOVEQ    #0,D7
  1328.     MOVE.W    D1,D7
  1329.     MOVE.B    (A0,D7.L),D0
  1330.     MOVE.W    (A2)+,D1
  1331.     IF    DEEBUG
  1332.     BRA    DEBUG
  1333.     ELSE
  1334.     JMP    ([A3,D1.W*4])
  1335.     ENDIF
  1336.  
  1337. MAIN3B:                ; DEC SP
  1338.     SUBQ.L    #1,A4
  1339.     SUBQ.L    #1,A2
  1340.     MOVE.W    (A2)+,D1
  1341.     IF    DEEBUG
  1342.     BRA    DEBUG
  1343.     ELSE
  1344.     JMP    ([A3,D1.W*4])
  1345.     ENDIF
  1346.  
  1347. MAIN3C:                ; INC A
  1348.     MOVE.W    D4,D6
  1349.     MOVE.W    D4,CCR
  1350.     ADDQ.B    #1,D0
  1351.     MOVE.W    CCR,D4
  1352.     ANDI.W    #$EE,D4        ; CLEAR X,C
  1353.     ANDI.W    #$11,D6
  1354.     OR.B    D6,D4        ; SET X,C IF PREVIUOSLY SET
  1355.     ANDI.W    #$00FF,D0    ; EXT D7 FOR INDEX INTO ADD TABLE
  1356.     MOVE.B    $220(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  1357.     SUBQ.L    #1,A2
  1358.     MOVE.W    (A2)+,D1
  1359.     IF    DEEBUG
  1360.     BRA    DEBUG
  1361.     ELSE
  1362.     JMP    ([A3,D1.W*4])
  1363.     ENDIF
  1364.  
  1365. MAIN3D:                ; DEC A
  1366.     MOVE.W    D4,D6
  1367.     MOVE.W    D4,CCR
  1368.     SUBQ.B    #1,D0
  1369.     MOVE.W    CCR,D4
  1370.     ANDI.W    #$EE,D4        ; CLEAR X,C
  1371.     ANDI.W    #$11,D6
  1372.     OR.B    D6,D4        ; SET X,C IF PREVIUOSLY SET
  1373.     ANDI.W    #$00FF,D0    ; EXT D7 FOR INDEX INTO SUB TABLE
  1374.     MOVE.B    $320(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  1375.     SUBQ.L    #1,A2
  1376.     MOVE.W    (A2)+,D1
  1377.     IF    DEEBUG
  1378.     BRA    DEBUG
  1379.     ELSE
  1380.     JMP    ([A3,D1.W*4])
  1381.     ENDIF
  1382.  
  1383. MAIN3E:                ; LD A,X
  1384.     MOVE.B    D1,D0
  1385.     MOVE.W    (A2)+,D1
  1386.     IF    DEEBUG
  1387.     BRA    DEBUG
  1388.     ELSE
  1389.     JMP    ([A3,D1.W*4])
  1390.     ENDIF
  1391.  
  1392. MAIN3F:                ; CCF
  1393.     MOVE.W    D4,CCR
  1394.     SCC.B    D7
  1395.     ANDI.B    #$EE,D4
  1396.     ANDI.B    #$11,D7
  1397.     OR.B    D7,D4
  1398.     SUBQ.L    #1,A2
  1399.     MOVE.W    (A2)+,D1
  1400.     IF    DEEBUG
  1401.     BRA    DEBUG
  1402.     ELSE
  1403.     JMP    ([A3,D1.W*4])
  1404.     ENDIF
  1405.  
  1406. MAIN40:                ; LD B,B (NOP)
  1407.     SUBQ.L    #1,A2
  1408.     MOVE.W    (A2)+,D1
  1409.     IF    DEEBUG
  1410.     BRA    DEBUG
  1411.     ELSE
  1412.     JMP    ([A3,D1.W*4])
  1413.     ENDIF
  1414.  
  1415. MAIN41:                ; LD B,C
  1416.     MOVE.B    D3,D1
  1417.     ROL.W    #8,D3
  1418.     MOVE.B    D1,D3
  1419.     SUBQ.L    #1,A2
  1420.     MOVE.W    (A2)+,D1
  1421.     IF    DEEBUG
  1422.     BRA    DEBUG
  1423.     ELSE
  1424.     JMP    ([A3,D1.W*4])
  1425.     ENDIF
  1426.  
  1427. MAIN42:                ; LD B,D
  1428.     ROL.L    #8,D3
  1429.     MOVE.B    D3,D1
  1430.     ROR.L    #8,D3
  1431.     ROL.W    #8,D3
  1432.     MOVE.B    D1,D3
  1433.     ROL.W    #8,D3
  1434.     SUBQ.L    #1,A2
  1435.     MOVE.W    (A2)+,D1
  1436.     IF    DEEBUG
  1437.     BRA    DEBUG
  1438.     ELSE
  1439.     JMP    ([A3,D1.W*4])
  1440.     ENDIF
  1441.  
  1442. MAIN43:                ; LD B,E
  1443.     SWAP    D3
  1444.     MOVE.B    D3,D1
  1445.     SWAP    D3
  1446.     ROL.W    #8,D3
  1447.     MOVE.B    D1,D3
  1448.     ROL.W    #8,D3
  1449.     SUBQ.L    #1,A2
  1450.     MOVE.W    (A2)+,D1
  1451.     IF    DEEBUG
  1452.     BRA    DEBUG
  1453.     ELSE
  1454.     JMP    ([A3,D1.W*4])
  1455.     ENDIF
  1456.  
  1457. MAIN44:                ; LD B,H
  1458.     MOVE.W    D2,D1
  1459.     ROL.W    #8,D1
  1460.     ROL.W    #8,D3
  1461.     MOVE.B    D1,D3
  1462.     ROL.W    #8,D3
  1463.     SUBQ.L    #1,A2
  1464.     MOVE.W    (A2)+,D1
  1465.     IF    DEEBUG
  1466.     BRA    DEBUG
  1467.     ELSE
  1468.     JMP    ([A3,D1.W*4])
  1469.     ENDIF
  1470.  
  1471. MAIN45:                ; LD B,L
  1472.     ROL.W    #8,D3
  1473.     MOVE.B    D2,D3
  1474.     ROL.W    #8,D3
  1475.     SUBQ.L    #1,A2
  1476.     MOVE.W    (A2)+,D1
  1477.     IF    DEEBUG
  1478.     BRA    DEBUG
  1479.     ELSE
  1480.     JMP    ([A3,D1.W*4])
  1481.     ENDIF
  1482.  
  1483. MAIN46:                ; LD B,(HL)
  1484.     MOVEQ    #0,D1
  1485.     MOVE.W    D2,D1
  1486.     ROL.W    #8,D3
  1487.     MOVE.B    (A0,D1.L),D3
  1488.     ROL.W    #8,D3
  1489.     SUBQ.L    #1,A2
  1490.     MOVE.W    (A2)+,D1
  1491.     IF    DEEBUG
  1492.     BRA    DEBUG
  1493.     ELSE
  1494.     JMP    ([A3,D1.W*4])
  1495.     ENDIF
  1496.  
  1497. MAIN47:                ; LD B,A
  1498.     ROL.W    #8,D3
  1499.     MOVE.B    D0,D3
  1500.     ROL.W    #8,D3
  1501.     SUBQ.L    #1,A2
  1502.     MOVE.W    (A2)+,D1
  1503.     IF    DEEBUG
  1504.     BRA    DEBUG
  1505.     ELSE
  1506.     JMP    ([A3,D1.W*4])
  1507.     ENDIF
  1508.  
  1509. MAIN48:                ; LD C,B
  1510.     MOVE.W    D3,D1
  1511.     ROL.W    #8,D1
  1512.     MOVE.B    D1,D3
  1513.     SUBQ.L    #1,A2
  1514.     MOVE.W    (A2)+,D1
  1515.     IF    DEEBUG
  1516.     BRA    DEBUG
  1517.     ELSE
  1518.     JMP    ([A3,D1.W*4])
  1519.     ENDIF
  1520.  
  1521. MAIN49:                ; LD C,C (NOP)
  1522.     SUBQ.L    #1,A2
  1523.     MOVE.W    (A2)+,D1
  1524.     IF    DEEBUG
  1525.     BRA    DEBUG
  1526.     ELSE
  1527.     JMP    ([A3,D1.W*4])
  1528.     ENDIF
  1529.  
  1530. MAIN4A:                ; LD C,D
  1531.     ROL.L    #8,D3
  1532.     MOVE.B    D3,D1
  1533.     ROR.L    #8,D3
  1534.     MOVE.B    D1,D3
  1535.     SUBQ.L    #1,A2
  1536.     MOVE.W    (A2)+,D1
  1537.     IF    DEEBUG
  1538.     BRA    DEBUG
  1539.     ELSE
  1540.     JMP    ([A3,D1.W*4])
  1541.     ENDIF
  1542.  
  1543. MAIN4B:                ; LD C,E
  1544.     SWAP    D3
  1545.     MOVE.B    D3,D1
  1546.     SWAP    D3
  1547.     MOVE.B    D1,D3
  1548.     SUBQ.L    #1,A2
  1549.     MOVE.W    (A2)+,D1
  1550.     IF    DEEBUG
  1551.     BRA    DEBUG
  1552.     ELSE
  1553.     JMP    ([A3,D1.W*4])
  1554.     ENDIF
  1555.  
  1556. MAIN4C:                ; LD C,H
  1557.     MOVE.L    D2,D1
  1558.     ROL.W    #8,D1
  1559.     MOVE.B    D1,D3
  1560.     SUBQ.L    #1,A2
  1561.     MOVE.W    (A2)+,D1
  1562.     IF    DEEBUG
  1563.     BRA    DEBUG
  1564.     ELSE
  1565.     JMP    ([A3,D1.W*4])
  1566.     ENDIF
  1567.  
  1568. MAIN4D:                ; LD C,L
  1569.     MOVE.B    D2,D3
  1570.     SUBQ.L    #1,A2
  1571.     MOVE.W    (A2)+,D1
  1572.     IF    DEEBUG
  1573.     BRA    DEBUG
  1574.     ELSE
  1575.     JMP    ([A3,D1.W*4])
  1576.     ENDIF
  1577.  
  1578. MAIN4E:                ; LD C,(HL)
  1579.     MOVEQ    #0,D1
  1580.     MOVE.W    D2,D1
  1581.     MOVE.B    (A0,D1.L),D3
  1582.     SUBQ.L    #1,A2
  1583.     MOVE.W    (A2)+,D1
  1584.     IF    DEEBUG
  1585.     BRA    DEBUG
  1586.     ELSE
  1587.     JMP    ([A3,D1.W*4])
  1588.     ENDIF
  1589.  
  1590. MAIN4F:                ; LD C,A
  1591.     MOVE.B    D0,D3
  1592.     SUBQ.L    #1,A2
  1593.     MOVE.W    (A2)+,D1
  1594.     IF    DEEBUG
  1595.     BRA    DEBUG
  1596.     ELSE
  1597.     JMP    ([A3,D1.W*4])
  1598.     ENDIF
  1599.  
  1600. MAIN50:                ; LD D,B
  1601.     MOVE.W    D3,D1
  1602.     ROR.W    #8,D1
  1603.     ROL.L    #8,D3
  1604.     MOVE.B    D1,D3
  1605.     ROR.L    #8,D3
  1606.     SUBQ.L    #1,A2
  1607.     MOVE.W    (A2)+,D1
  1608.     IF    DEEBUG
  1609.     BRA    DEBUG
  1610.     ELSE
  1611.     JMP    ([A3,D1.W*4])
  1612.     ENDIF
  1613.  
  1614. MAIN51:                ; LD D,C
  1615.     MOVE.W    D3,D1
  1616.     ROL.L    #8,D3
  1617.     MOVE.B    D1,D3
  1618.     ROR.L    #8,D3
  1619.     SUBQ.L    #1,A2    
  1620.     MOVE.W    (A2)+,D1
  1621.     IF    DEEBUG
  1622.     BRA    DEBUG
  1623.     ELSE
  1624.     JMP    ([A3,D1.W*4])
  1625.     ENDIF
  1626.  
  1627. MAIN52:                ; LD D,D (NOP)
  1628.     SUBQ.L    #1,A2
  1629.     MOVE.W    (A2)+,D1
  1630.     IF    DEEBUG
  1631.     BRA    DEBUG
  1632.     ELSE
  1633.     JMP    ([A3,D1.W*4])
  1634.     ENDIF
  1635.  
  1636. MAIN53:                ; LD D,E
  1637.     SWAP    D3
  1638.     MOVE.W    D3,D1
  1639.     ROL.W    #8,D3
  1640.     MOVE.B    D1,D3
  1641.     SWAP    D3
  1642.     SUBQ.L    #1,A2
  1643.     MOVE.W    (A2)+,D1
  1644.     IF    DEEBUG
  1645.     BRA    DEBUG
  1646.     ELSE
  1647.     JMP    ([A3,D1.W*4])
  1648.     ENDIF
  1649.  
  1650. MAIN54:                ; LD D,H
  1651.     MOVE.W    D2,D1
  1652.     ROL.W    #8,D1
  1653.     ROL.L    #8,D3
  1654.     MOVE.B    D1,D3
  1655.     ROR.L    #8,D3
  1656.     SUBQ.L    #1,A2    
  1657.     MOVE.W    (A2)+,D1
  1658.     IF    DEEBUG
  1659.     BRA    DEBUG
  1660.     ELSE
  1661.     JMP    ([A3,D1.W*4])
  1662.     ENDIF
  1663.  
  1664. MAIN55:                ; LD D,L
  1665.     ROL.L    #8,D3
  1666.     MOVE.B    D2,D3
  1667.     ROR.L    #8,D3
  1668.     SUBQ.L    #1,A2
  1669.     MOVE.W    (A2)+,D1
  1670.     IF    DEEBUG
  1671.     BRA    DEBUG
  1672.     ELSE
  1673.     JMP    ([A3,D1.W*4])
  1674.     ENDIF
  1675.  
  1676. MAIN56:                ; LD D,(HL)
  1677.     MOVEQ    #0,D1
  1678.     MOVE.W    D2,D1
  1679.     ROL.L    #8,D3
  1680.     MOVE.B    (A0,D1.L),D3
  1681.     ROR.L    #8,D3
  1682.     SUBQ.L    #1,A2
  1683.     MOVE.W    (A2)+,D1
  1684.     IF    DEEBUG
  1685.     BRA    DEBUG
  1686.     ELSE
  1687.     JMP    ([A3,D1.W*4])
  1688.     ENDIF
  1689.  
  1690. MAIN57:                ; LD D,A
  1691.     ROL.L    #8,D3
  1692.     MOVE.B    D0,D3
  1693.     ROR.L    #8,D3
  1694.     SUBQ.L    #1,A2
  1695.     MOVE.W    (A2)+,D1
  1696.     IF    DEEBUG
  1697.     BRA    DEBUG
  1698.     ELSE
  1699.     JMP    ([A3,D1.W*4])
  1700.     ENDIF
  1701.  
  1702. MAIN58:                ; LD E,B
  1703.     MOVE.W    D3,D1
  1704.     ROL.W    #8,D1
  1705.     SWAP    D3
  1706.     MOVE.B    D1,D3
  1707.     SWAP    D3
  1708.     SUBQ.L    #1,A2
  1709.     MOVE.W    (A2)+,D1
  1710.     IF    DEEBUG
  1711.     BRA    DEBUG
  1712.     ELSE
  1713.     JMP    ([A3,D1.W*4])
  1714.     ENDIF
  1715.  
  1716. MAIN59:                ; LD E,C
  1717.     MOVE.W    D3,D1
  1718.     SWAP    D3
  1719.     MOVE.B    D1,D3
  1720.     SWAP    D3
  1721.     SUBQ.L    #1,A2
  1722.     MOVE.W    (A2)+,D1
  1723.     IF    DEEBUG
  1724.     BRA    DEBUG
  1725.     ELSE
  1726.     JMP    ([A3,D1.W*4])
  1727.     ENDIF
  1728.  
  1729. MAIN5A:                ; LD E,D
  1730.     MOVE.L    D3,D1
  1731.     ROL.L    #8,D1
  1732.     SWAP    D3
  1733.     MOVE.B    D1,D3
  1734.     SWAP    D3
  1735.     SUBQ.L    #1,A2
  1736.     MOVE.W    (A2)+,D1
  1737.     IF    DEEBUG
  1738.     BRA    DEBUG
  1739.     ELSE
  1740.     JMP    ([A3,D1.W*4])
  1741.     ENDIF
  1742.  
  1743. MAIN5B:                ; LD E,E (NOP)
  1744.     SUBQ.L    #1,A2
  1745.     MOVE.W    (A2)+,D1
  1746.     IF    DEEBUG
  1747.     BRA    DEBUG
  1748.     ELSE
  1749.     JMP    ([A3,D1.W*4])
  1750.     ENDIF
  1751.  
  1752. MAIN5C:                ; LD E,H
  1753.     MOVE.W    D2,D1
  1754.     ROL.W    #8,D1
  1755.     SWAP    D3
  1756.     MOVE.B    D1,D3
  1757.     SWAP    D3
  1758.     SUBQ.L    #1,A2
  1759.     MOVE.W    (A2)+,D1
  1760.     IF    DEEBUG
  1761.     BRA    DEBUG
  1762.     ELSE
  1763.     JMP    ([A3,D1.W*4])
  1764.     ENDIF
  1765.  
  1766. MAIN5D:                ; LD E,L
  1767.     SWAP    D3
  1768.     MOVE.B    D2,D3
  1769.     SWAP    D3
  1770.     SUBQ.L    #1,A2
  1771.     MOVE.W    (A2)+,D1
  1772.     IF    DEEBUG
  1773.     BRA    DEBUG
  1774.     ELSE
  1775.     JMP    ([A3,D1.W*4])
  1776.     ENDIF
  1777.  
  1778. MAIN5E:                ; LD E,(HL)
  1779.     MOVEQ    #0,D1
  1780.     MOVE.W    D2,D1
  1781.     SWAP    D3
  1782.     MOVE.B    (A0,D1.L),D3
  1783.     SWAP    D3
  1784.     SUBQ.L    #1,A2
  1785.     MOVE.W    (A2)+,D1
  1786.     IF    DEEBUG
  1787.     BRA    DEBUG
  1788.     ELSE
  1789.     JMP    ([A3,D1.W*4])
  1790.     ENDIF
  1791.  
  1792. MAIN5F:                ; LD E,A
  1793.     SWAP    D3
  1794.     MOVE.B    D0,D3
  1795.     SWAP    D3
  1796.     SUBQ.L    #1,A2
  1797.     MOVE.W    (A2)+,D1
  1798.     IF    DEEBUG
  1799.     BRA    DEBUG
  1800.     ELSE
  1801.     JMP    ([A3,D1.W*4])
  1802.     ENDIF
  1803.  
  1804. MAIN60:                ; LD H,B
  1805.     ROL.W    #8,D2
  1806.     ROL.W    #8,D3
  1807.     MOVE.B    D3,D2
  1808.     ROL.W    #8,D3
  1809.     ROL.W    #8,D2
  1810.     SUBQ.L    #1,A2
  1811.     MOVE.W    (A2)+,D1
  1812.     IF    DEEBUG
  1813.     BRA    DEBUG
  1814.     ELSE
  1815.     JMP    ([A3,D1.W*4])
  1816.     ENDIF
  1817.  
  1818. MAIN61:                ; LD H,C
  1819.     ROL.W    #8,D2
  1820.     MOVE.B    D3,D2
  1821.     ROL.W    #8,D2
  1822.     SUBQ.L    #1,A2
  1823.     MOVE.W    (A2)+,D1
  1824.     IF    DEEBUG
  1825.     BRA    DEBUG
  1826.     ELSE
  1827.     JMP    ([A3,D1.W*4])
  1828.     ENDIF
  1829.  
  1830. MAIN62:                ; LD H,D
  1831.     ROL.W    #8,D2
  1832.     ROL.L    #8,D3
  1833.     MOVE.B    D3,D2
  1834.     ROR.L    #8,D3
  1835.     ROL.W    #8,D2
  1836.     SUBQ.L    #1,A2
  1837.     MOVE.W    (A2)+,D1
  1838.     IF    DEEBUG
  1839.     BRA    DEBUG
  1840.     ELSE
  1841.     JMP    ([A3,D1.W*4])
  1842.     ENDIF
  1843.  
  1844. MAIN63:                ; LD H,E
  1845.     ROL.W    #8,D2
  1846.     SWAP    D3
  1847.     MOVE.B    D3,D2
  1848.     SWAP    D3
  1849.     ROL.W    #8,D2
  1850.     SUBQ.L    #1,A2
  1851.     MOVE.W    (A2)+,D1
  1852.     IF    DEEBUG
  1853.     BRA    DEBUG
  1854.     ELSE
  1855.     JMP    ([A3,D1.W*4])
  1856.     ENDIF
  1857.  
  1858. MAIN64:                ; LD H,H (NOP)
  1859.     SUBQ.L    #1,A2
  1860.     MOVE.W    (A2)+,D1
  1861.     IF    DEEBUG
  1862.     BRA    DEBUG
  1863.     ELSE
  1864.     JMP    ([A3,D1.W*4])
  1865.     ENDIF
  1866.  
  1867. MAIN65:                ; LD H,L
  1868.     MOVE.W    D2,D1
  1869.     ROL.W    #8,D2
  1870.     MOVE.B    D1,D2
  1871.     SUBQ.L    #1,A2
  1872.     MOVE.W    (A2)+,D1
  1873.     IF    DEEBUG
  1874.     BRA    DEBUG
  1875.     ELSE
  1876.     JMP    ([A3,D1.W*4])
  1877.     ENDIF
  1878.  
  1879. MAIN66:                ; LD H,(HL)
  1880.     MOVEQ    #0,D1
  1881.     MOVE.W    D2,D1
  1882.     ROL.W    #8,D2
  1883.     MOVE.B    (A0,D1.L),D2
  1884.     ROL.W    #8,D2
  1885.     SUBQ.L    #1,A2
  1886.     MOVE.W    (A2)+,D1
  1887.     IF    DEEBUG
  1888.     BRA    DEBUG
  1889.     ELSE
  1890.     JMP    ([A3,D1.W*4])
  1891.     ENDIF
  1892.  
  1893. MAIN67:                ; LD H,A
  1894.     ROL.W    #8,D2
  1895.     MOVE.B    D0,D2
  1896.     ROL.W    #8,D2
  1897.     SUBQ.L    #1,A2
  1898.     MOVE.W    (A2)+,D1
  1899.     IF    DEEBUG
  1900.     BRA    DEBUG
  1901.     ELSE
  1902.     JMP    ([A3,D1.W*4])
  1903.     ENDIF
  1904.  
  1905. MAIN68:                ; LD L,B
  1906.     ROL.W    #8,D3
  1907.     MOVE.B    D3,D2
  1908.     ROL.W    #8,D3
  1909.     SUBQ.L    #1,A2
  1910.     MOVE.W    (A2)+,D1
  1911.     IF    DEEBUG
  1912.     BRA    DEBUG
  1913.     ELSE
  1914.     JMP    ([A3,D1.W*4])
  1915.     ENDIF
  1916.  
  1917. MAIN69:                ; LD L,C
  1918.     MOVE.B    D3,D2
  1919.     SUBQ.L    #1,A2
  1920.     MOVE.W    (A2)+,D1
  1921.     IF    DEEBUG
  1922.     BRA    DEBUG
  1923.     ELSE
  1924.     JMP    ([A3,D1.W*4])
  1925.     ENDIF
  1926.  
  1927. MAIN6A:                ; LD L,D
  1928.     ROL.L    #8,D3
  1929.     MOVE.B    D3,D2
  1930.     ROR.L    #8,D3
  1931.     SUBQ.L    #1,A2
  1932.     MOVE.W    (A2)+,D1
  1933.     IF    DEEBUG
  1934.     BRA    DEBUG
  1935.     ELSE
  1936.     JMP    ([A3,D1.W*4])
  1937.     ENDIF
  1938.  
  1939. MAIN6B:                ; LD L,E
  1940.     SWAP    D3
  1941.     MOVE.B    D3,D2
  1942.     SWAP    D3
  1943.     SUBQ.L    #1,A2
  1944.     MOVE.W    (A2)+,D1
  1945.     IF    DEEBUG
  1946.     BRA    DEBUG
  1947.     ELSE
  1948.     JMP    ([A3,D1.W*4])
  1949.     ENDIF
  1950.  
  1951. MAIN6C:                ; LD L,H
  1952.     MOVE.W    D2,D1
  1953.     ROL.W    #8,D1
  1954.     MOVE.B    D2,D2
  1955.     SUBQ.L    #1,A2
  1956.     MOVE.W    (A2)+,D1
  1957.     IF    DEEBUG
  1958.     BRA    DEBUG
  1959.     ELSE
  1960.     JMP    ([A3,D1.W*4])
  1961.     ENDIF
  1962.  
  1963. MAIN6D:                ; LD L,L (NOP)
  1964.     SUBQ.L    #1,A2
  1965.     MOVE.W    (A2)+,D1
  1966.     IF    DEEBUG
  1967.     BRA    DEBUG
  1968.     ELSE
  1969.     JMP    ([A3,D1.W*4])
  1970.     ENDIF
  1971.  
  1972. MAIN6E:                ; LD L,(HL)
  1973.     MOVEQ    #0,D1
  1974.     MOVE.W    D2,D1
  1975.     MOVE.B    (A0,D1.L),D2
  1976.     SUBQ.L    #1,A2
  1977.     MOVE.W    (A2)+,D1
  1978.     IF    DEEBUG
  1979.     BRA    DEBUG
  1980.     ELSE
  1981.     JMP    ([A3,D1.W*4])
  1982.     ENDIF
  1983.  
  1984. MAIN6F:                ; LD L,A
  1985.     MOVE.B    D0,D2
  1986.     SUBQ.L    #1,A2
  1987.     MOVE.W    (A2)+,D1
  1988.     IF    DEEBUG
  1989.     BRA    DEBUG
  1990.     ELSE
  1991.     JMP    ([A3,D1.W*4])
  1992.     ENDIF
  1993.  
  1994. MAIN70:                ; LD (HL),B
  1995.     MOVEQ    #0,D1
  1996.     MOVE.W    D2,D1
  1997.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  1998.     BCS.B    .L1
  1999.     ROL.W    #8,D3
  2000.     MOVE.B    D3,(A0,D1.L)
  2001.     ROL.W    #8,D3
  2002.     SUBQ.L    #1,A2
  2003.     MOVE.W    (A2)+,D1
  2004.     IF    DEEBUG
  2005.     BRA    DEBUG
  2006.     ELSE
  2007.     JMP    ([A3,D1.W*4])
  2008.     ENDIF
  2009. .L1
  2010.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  2011.     BHI.B    .L2
  2012.     SUBQ.L    #1,A2
  2013.     MOVE.W    (A2)+,D1
  2014.     IF    DEEBUG
  2015.     BRA    DEBUG
  2016.     ELSE
  2017.     JMP    ([A3,D1.W*4])
  2018.     ENDIF
  2019. .L2
  2020.     ROL.W    #8,D3
  2021.     MOVE.B    D3,D6        ; HL is pointing at the screen so update the
  2022.     MOVE.B    D3,(A0,D1.L)    ; screen with L
  2023.     ROL.W    #8,D3
  2024.     BSR    _screenwrite
  2025.     SUBQ.L    #1,A2
  2026.     MOVE.W    (A2)+,D1
  2027.     IF    DEEBUG
  2028.     BRA    DEBUG
  2029.     ELSE
  2030.     JMP    ([A3,D1.W*4])
  2031.     ENDIF
  2032.  
  2033. MAIN71:                ; LD (HL),C
  2034.     MOVEQ    #0,D1
  2035.     MOVE.W    D2,D1
  2036.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  2037.     BCS.B    .L1
  2038.     MOVE.B    D3,(A0,D1.L)
  2039.     SUBQ.L    #1,A2
  2040.     MOVE.W    (A2)+,D1
  2041.     IF    DEEBUG
  2042.     BRA    DEBUG
  2043.     ELSE
  2044.     JMP    ([A3,D1.W*4])
  2045.     ENDIF
  2046. .L1
  2047.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  2048.     BHI.B    .L2
  2049.     SUBQ.L    #1,A2
  2050.     MOVE.W    (A2)+,D1
  2051.     IF    DEEBUG
  2052.     BRA    DEBUG
  2053.     ELSE
  2054.     JMP    ([A3,D1.W*4])
  2055.     ENDIF
  2056. .L2
  2057.     MOVE.B    D3,D6        ; HL is pointing at the screen so update the
  2058.     MOVE.B    D3,(A0,D1.L)    ; screen with A
  2059.     BSR    _screenwrite
  2060.     SUBQ.L    #1,A2
  2061.     MOVE.W    (A2)+,D1
  2062.     IF    DEEBUG
  2063.     BRA    DEBUG
  2064.     ELSE
  2065.     JMP    ([A3,D1.W*4])
  2066.     ENDIF
  2067.  
  2068. MAIN72:                ; LD (HL),D
  2069.     MOVEQ    #0,D1
  2070.     MOVE.W    D2,D1
  2071.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  2072.     BCS.B    .L1
  2073.     ROL.L    #8,D3
  2074.     MOVE.B    D3,(A0,D1.L)
  2075.     ROR.L    #8,D3
  2076.     SUBQ.L    #1,A2
  2077.     MOVE.W    (A2)+,D1
  2078.     IF    DEEBUG
  2079.     BRA    DEBUG
  2080.     ELSE
  2081.     JMP    ([A3,D1.W*4])
  2082.     ENDIF
  2083. .L1
  2084.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  2085.     BHI.B    .L2
  2086.     SUBQ.L    #1,A2
  2087.     MOVE.W    (A2)+,D1
  2088.     IF    DEEBUG
  2089.     BRA    DEBUG
  2090.     ELSE
  2091.     JMP    ([A3,D1.W*4])
  2092.     ENDIF
  2093. .L2
  2094.     ROL.L    #8,D3
  2095.     MOVE.B    D3,D6        ; HL is pointing at the screen so update the
  2096.     MOVE.B    D3,(A0,D1.L)    ; screen with L
  2097.     ROR.L    #8,D3
  2098.     BSR    _screenwrite
  2099.     SUBQ.L    #1,A2
  2100.     MOVE.W    (A2)+,D1
  2101.     IF    DEEBUG
  2102.     BRA    DEBUG
  2103.     ELSE
  2104.     JMP    ([A3,D1.W*4])
  2105.     ENDIF
  2106.  
  2107. MAIN73:                ; LD (HL),E
  2108.     MOVEQ    #0,D1
  2109.     MOVE.W    D2,D1
  2110.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  2111.     BCS.B    .L1
  2112.     SWAP    D3
  2113.     MOVE.B    D3,(A0,D1.L)
  2114.     SWAP    D3
  2115.     SUBQ.L    #1,A2
  2116.     MOVE.W    (A2)+,D1
  2117.     IF    DEEBUG
  2118.     BRA    DEBUG
  2119.     ELSE
  2120.     JMP    ([A3,D1.W*4])
  2121.     ENDIF
  2122. .L1
  2123.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  2124.     BHI.B    .L2
  2125.     SUBQ.L    #1,A2
  2126.     MOVE.W    (A2)+,D1
  2127.     IF    DEEBUG
  2128.     BRA    DEBUG
  2129.     ELSE
  2130.     JMP    ([A3,D1.W*4])
  2131.     ENDIF
  2132. .L2
  2133.     SWAP    D3
  2134.     MOVE.B    D3,D6        ; HL is pointing at the screen so update the
  2135.     MOVE.B    D3,(A0,D1.L)    ; screen with L
  2136.     SWAP    D3
  2137.     BSR    _screenwrite
  2138.     SUBQ.L    #1,A2
  2139.     MOVE.W    (A2)+,D1
  2140.     IF    DEEBUG
  2141.     BRA    DEBUG
  2142.     ELSE
  2143.     JMP    ([A3,D1.W*4])
  2144.     ENDIF
  2145.  
  2146. MAIN74:                ; LD (HL),H
  2147.     MOVEQ    #0,D1
  2148.     MOVE.W    D2,D1
  2149.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  2150.     BCS.B    .L1
  2151.     ROL.W    #8,D2
  2152.     MOVE.B    D2,(A0,D1.L)
  2153.     ROL.W    #8,D2
  2154.     SUBQ.L    #1,A2
  2155.     MOVE.W    (A2)+,D1
  2156.     IF    DEEBUG
  2157.     BRA    DEBUG
  2158.     ELSE
  2159.     JMP    ([A3,D1.W*4])
  2160.     ENDIF
  2161. .L1
  2162.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  2163.     BHI.B    .L2
  2164.     SUBQ.L    #1,A2
  2165.     MOVE.W    (A2)+,D1
  2166.     IF    DEEBUG
  2167.     BRA    DEBUG
  2168.     ELSE
  2169.     JMP    ([A3,D1.W*4])
  2170.     ENDIF
  2171. .L2
  2172.     ROL.W    #8,D2
  2173.     MOVE.B    D2,D6        ; HL is pointing at the screen so update the
  2174.     MOVE.B    D2,(A0,D1.L)    ; screen with L
  2175.     ROL.W    #8,D2
  2176.     BSR    _screenwrite
  2177.     SUBQ.L    #1,A2
  2178.     MOVE.W    (A2)+,D1
  2179.     IF    DEEBUG
  2180.     BRA    DEBUG
  2181.     ELSE
  2182.     JMP    ([A3,D1.W*4])
  2183.     ENDIF
  2184.  
  2185. MAIN75:                ; LD (HL),L
  2186.     MOVEQ    #0,D1
  2187.     MOVE.W    D2,D1
  2188.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  2189.     BCS.B    .L1
  2190.     MOVE.B    D2,(A0,D1.L)
  2191.     SUBQ.L    #1,A2
  2192.     MOVE.W    (A2)+,D1
  2193.     IF    DEEBUG
  2194.     BRA    DEBUG
  2195.     ELSE
  2196.     JMP    ([A3,D1.W*4])
  2197.     ENDIF
  2198. .L1
  2199.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  2200.     BHI.B    .L2
  2201.     SUBQ.L    #1,A2
  2202.     MOVE.W    (A2)+,D1
  2203.     IF    DEEBUG
  2204.     BRA    DEBUG
  2205.     ELSE
  2206.     JMP    ([A3,D1.W*4])
  2207.     ENDIF
  2208. .L2
  2209.     MOVE.B    D2,D6        ; HL is pointing at the screen so update the
  2210.     MOVE.B    D2,(A0,D1.L)    ; screen with L
  2211.     BSR    _screenwrite
  2212.     SUBQ.L    #1,A2
  2213.     MOVE.W    (A2)+,D1
  2214.     IF    DEEBUG
  2215.     BRA    DEBUG
  2216.     ELSE
  2217.     JMP    ([A3,D1.W*4])
  2218.     ENDIF
  2219.  
  2220. MAIN76:                ; HALT (RETURN TO MAIN TASK)
  2221.  
  2222.     MOVEM.L    (SP)+,A0-A6/D0-D7    
  2223.     RTS
  2224.  
  2225.  
  2226. MAIN77:                ; LD (HL),A
  2227.     MOVEQ    #0,D1
  2228.     MOVE.W    D2,D1
  2229.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  2230.     BCS.B    .L1
  2231.     MOVE.B    D0,(A0,D1.L)
  2232.     SUBQ.L    #1,A2
  2233.     MOVE.W    (A2)+,D1
  2234.     IF    DEEBUG
  2235.     BRA    DEBUG
  2236.     ELSE
  2237.     JMP    ([A3,D1.W*4])
  2238.     ENDIF
  2239. .L1
  2240.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  2241.     BHI.B    .L2
  2242.     SUBQ.L    #1,A2
  2243.     MOVE.W    (A2)+,D1
  2244.     IF    DEEBUG
  2245.     BRA    DEBUG
  2246.     ELSE
  2247.     JMP    ([A3,D1.W*4])
  2248.     ENDIF
  2249. .L2
  2250.     MOVE.B    D0,D6        ; HL is pointing at the screen so update the
  2251.     MOVE.B    D0,(A0,D1.L)    ; screen with A
  2252.     BSR    _screenwrite
  2253.     SUBQ.L    #1,A2
  2254.     MOVE.W    (A2)+,D1
  2255.     IF    DEEBUG
  2256.     BRA    DEBUG
  2257.     ELSE
  2258.     JMP    ([A3,D1.W*4])
  2259.     ENDIF
  2260.  
  2261. MAIN78:                ; LD A,B
  2262.     MOVE.W    D3,D1
  2263.     ROL.W    #8,D1
  2264.     MOVE.B    D1,D0
  2265.     SUBQ.L    #1,A2
  2266.     MOVE.W    (A2)+,D1
  2267.     IF    DEEBUG
  2268.     BRA    DEBUG
  2269.     ELSE
  2270.     JMP    ([A3,D1.W*4])
  2271.     ENDIF
  2272.  
  2273. MAIN79:                ; LD A,C
  2274.     MOVE.B    D3,D0
  2275.     SUBQ.L    #1,A2
  2276.     MOVE.W    (A2)+,D1
  2277.     IF    DEEBUG
  2278.     BRA    DEBUG
  2279.     ELSE
  2280.     JMP    ([A3,D1.W*4])
  2281.     ENDIF
  2282.  
  2283. MAIN7A:                ; LD A,D
  2284.     MOVE.L    D3,D1
  2285.     ROL.L    #8,D1
  2286.     MOVE.B    D1,D0
  2287.     SUBQ.L    #1,A2
  2288.     MOVE.W    (A2)+,D1
  2289.     IF    DEEBUG
  2290.     BRA    DEBUG
  2291.     ELSE
  2292.     JMP    ([A3,D1.W*4])
  2293.     ENDIF
  2294.  
  2295. MAIN7B:                ; LD A,E
  2296.     MOVE.L    D3,D1
  2297.     SWAP    D1
  2298.     MOVE.B    D1,D0
  2299.     SUBQ.L    #1,A2
  2300.     MOVE.W    (A2)+,D1
  2301.     IF    DEEBUG
  2302.     BRA    DEBUG
  2303.     ELSE
  2304.     JMP    ([A3,D1.W*4])
  2305.     ENDIF
  2306.  
  2307. MAIN7C:                ; LD A,H
  2308.     MOVE.W    D2,D1
  2309.     ROL.W    #8,D1
  2310.     MOVE.B    D1,D0
  2311.     SUBQ.L    #1,A2
  2312.     MOVE.W    (A2)+,D1
  2313.     IF    DEEBUG
  2314.     BRA    DEBUG
  2315.     ELSE
  2316.     JMP    ([A3,D1.W*4])
  2317.     ENDIF
  2318.  
  2319. MAIN7D:                ; LD A,L
  2320.     MOVE.B    D2,D0
  2321.     SUBQ.L    #1,A2
  2322.     MOVE.W    (A2)+,D1
  2323.     IF    DEEBUG
  2324.     BRA    DEBUG
  2325.     ELSE
  2326.     JMP    ([A3,D1.W*4])
  2327.     ENDIF
  2328.  
  2329. MAIN7E:                ; LD A,(HL)
  2330.     MOVEQ    #0,D1
  2331.     MOVE.W    D2,D1
  2332.     MOVE.B    (A0,D1.L),D0
  2333.     SUBQ.L    #1,A2
  2334.     MOVE.W    (A2)+,D1
  2335.     IF    DEEBUG
  2336.     BRA    DEBUG
  2337.     ELSE
  2338.     JMP    ([A3,D1.W*4])
  2339.     ENDIF
  2340.  
  2341. MAIN7F:                ; LD A,A (NOP)
  2342.     SUBQ.L    #1,A2
  2343.     MOVE.W    (A2)+,D1
  2344.     IF    DEEBUG
  2345.     BRA    DEBUG
  2346.     ELSE
  2347.     JMP    ([A3,D1.W*4])
  2348.     ENDIF
  2349.  
  2350.  
  2351. MAIN80:                ; ADD A,B
  2352.     MOVE.W    D3,D1
  2353.     ROL.W    #8,D1
  2354.     MOVE.W    D4,CCR
  2355.     ADD.B    D1,D0
  2356.     MOVE.W    CCR,D4
  2357.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO ADD TABLE
  2358.     MOVE.B    $220(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  2359.     SUBQ.L    #1,A2
  2360.     MOVE.W    (A2)+,D1
  2361.     IF    DEEBUG
  2362.     BRA    DEBUG
  2363.     ELSE
  2364.     JMP    ([A3,D1.W*4])
  2365.     ENDIF
  2366.  
  2367. MAIN81:                ; ADD A,C
  2368.     MOVE.W    D4,CCR
  2369.     ADD.B    D3,D0
  2370.     MOVE.W    CCR,D4
  2371.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO ADD TABLE
  2372.     MOVE.B    $220(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  2373.     SUBQ.L    #1,A2
  2374.     MOVE.W    (A2)+,D1
  2375.     IF    DEEBUG
  2376.     BRA    DEBUG
  2377.     ELSE
  2378.     JMP    ([A3,D1.W*4])
  2379.     ENDIF
  2380.  
  2381. MAIN82:                ; ADD A,D
  2382.     MOVE.L    D3,D1
  2383.     ROL.L    #8,D1
  2384.     MOVE.W    D4,CCR
  2385.     ADD.B    D1,D0
  2386.     MOVE.W    CCR,D4
  2387.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO ADD TABLE
  2388.     MOVE.B    $220(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  2389.     SUBQ.L    #1,A2
  2390.     MOVE.W    (A2)+,D1
  2391.     IF    DEEBUG
  2392.     BRA    DEBUG
  2393.     ELSE
  2394.     JMP    ([A3,D1.W*4])
  2395.     ENDIF
  2396.  
  2397. MAIN83:                ; ADD A,E
  2398.     MOVE.L    D3,D1
  2399.     SWAP    D1
  2400.     MOVE.W    D4,CCR
  2401.     ADD.B    D1,D0
  2402.     MOVE.W    CCR,D4
  2403.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO ADD TABLE
  2404.     MOVE.B    $220(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  2405.     SUBQ.L    #1,A2
  2406.     MOVE.W    (A2)+,D1
  2407.     IF    DEEBUG
  2408.     BRA    DEBUG
  2409.     ELSE
  2410.     JMP    ([A3,D1.W*4])
  2411.     ENDIF
  2412.  
  2413. MAIN84:                ; ADD A,H
  2414.     MOVE.W    D2,D1
  2415.     ROL.W    #8,D1
  2416.     MOVE.W    D4,CCR
  2417.     ADD.B    D1,D0
  2418.     MOVE.W    CCR,D4
  2419.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO ADD TABLE
  2420.     MOVE.B    $220(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  2421.     SUBQ.L    #1,A2
  2422.     MOVE.W    (A2)+,D1
  2423.     IF    DEEBUG
  2424.     BRA    DEBUG
  2425.     ELSE
  2426.     JMP    ([A3,D1.W*4])
  2427.     ENDIF
  2428.  
  2429. MAIN85:                ; ADD A,L
  2430.     MOVE.W    D4,CCR
  2431.     ADD.B    D2,D0
  2432.     MOVE.W    CCR,D4
  2433.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO ADD TABLE
  2434.     MOVE.B    $220(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  2435.     SUBQ.L    #1,A2
  2436.     MOVE.W    (A2)+,D1
  2437.     IF    DEEBUG
  2438.     BRA    DEBUG
  2439.     ELSE
  2440.     JMP    ([A3,D1.W*4])
  2441.     ENDIF
  2442.  
  2443. MAIN86:                ; ADD A,(HL)
  2444.     MOVEQ    #0,D1
  2445.     MOVE.W    D2,D1
  2446.     MOVE.W    D4,CCR
  2447.     ADD.B    (A0,D1.L),D0
  2448.     MOVE.W    CCR,D4
  2449.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO ADD TABLE
  2450.     MOVE.B    $220(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  2451.     SUBQ.L    #1,A2
  2452.     MOVE.W    (A2)+,D1
  2453.     IF    DEEBUG
  2454.     BRA    DEBUG
  2455.     ELSE
  2456.     JMP    ([A3,D1.W*4])
  2457.     ENDIF
  2458.  
  2459. MAIN87:                ; ADD A,A
  2460.     MOVE.W    D4,CCR
  2461.     ADD.B    D0,D0
  2462.     MOVE.W    CCR,D4
  2463.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO ADD TABLE
  2464.     MOVE.B    $220(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  2465.     SUBQ.L    #1,A2
  2466.     MOVE.W    (A2)+,D1
  2467.     IF    DEEBUG
  2468.     BRA    DEBUG
  2469.     ELSE
  2470.     JMP    ([A3,D1.W*4])
  2471.     ENDIF
  2472.  
  2473. MAIN88:                ; ADC A,B
  2474.     MOVE.W    D3,D1
  2475.     ROL.W    #8,D1
  2476.     ORI.B    #4,D4
  2477.     MOVE.W    D4,CCR
  2478.     ADDX.B    D1,D0
  2479.     MOVE.W    CCR,D4
  2480.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO ADD TABLE
  2481.     MOVE.B    $220(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  2482.     SUBQ.L    #1,A2
  2483.     MOVE.W    (A2)+,D1
  2484.     IF    DEEBUG
  2485.     BRA    DEBUG
  2486.     ELSE
  2487.     JMP    ([A3,D1.W*4])
  2488.     ENDIF
  2489.  
  2490. MAIN89:                ; ADC A,C
  2491.     ORI.B    #4,D4
  2492.     MOVE.W    D4,CCR
  2493.     ADDX.B    D3,D0
  2494.     MOVE.W    CCR,D4
  2495.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO ADD TABLE
  2496.     MOVE.B    $220(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  2497.     SUBQ.L    #1,A2
  2498.     MOVE.W    (A2)+,D1
  2499.     IF    DEEBUG
  2500.     BRA    DEBUG
  2501.     ELSE
  2502.     JMP    ([A3,D1.W*4])
  2503.     ENDIF
  2504.  
  2505. MAIN8A:                ; ADC A,D
  2506.     MOVE.L    D3,D1
  2507.     ROL.L    #8,D1
  2508.     ORI.B    #4,D4
  2509.     MOVE.W    D4,CCR
  2510.     ADDX.B    D1,D0
  2511.     MOVE.W    CCR,D4
  2512.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO ADD TABLE
  2513.     MOVE.B    $220(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  2514.     SUBQ.L    #1,A2
  2515.     MOVE.W    (A2)+,D1
  2516.     IF    DEEBUG
  2517.     BRA    DEBUG
  2518.     ELSE
  2519.     JMP    ([A3,D1.W*4])
  2520.     ENDIF
  2521.  
  2522. MAIN8B:                ; ADC A,E
  2523.     MOVE.L    D3,D1
  2524.     SWAP    D1
  2525.     ORI.B    #4,D4
  2526.     MOVE.W    D4,CCR
  2527.     ADDX.B    D1,D0
  2528.     MOVE.W    CCR,D4
  2529.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO ADD TABLE
  2530.     MOVE.B    $220(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  2531.     SUBQ.L    #1,A2
  2532.     MOVE.W    (A2)+,D1
  2533.     IF    DEEBUG
  2534.     BRA    DEBUG
  2535.     ELSE
  2536.     JMP    ([A3,D1.W*4])
  2537.     ENDIF
  2538.  
  2539. MAIN8C:                ; ADC A,H
  2540.     MOVE.W    D2,D1
  2541.     ROL.W    #8,D1
  2542.     ORI.B    #4,D4
  2543.     MOVE.W    D4,CCR
  2544.     ADDX.B    D1,D0
  2545.     MOVE.W    CCR,D4
  2546.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO ADD TABLE
  2547.     MOVE.B    $220(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  2548.     SUBQ.L    #1,A2
  2549.     MOVE.W    (A2)+,D1
  2550.     IF    DEEBUG
  2551.     BRA    DEBUG
  2552.     ELSE
  2553.     JMP    ([A3,D1.W*4])
  2554.     ENDIF
  2555.  
  2556. MAIN8D:                ; ADC A,L
  2557.     ORI.B    #4,D4
  2558.     MOVE.W    D4,CCR
  2559.     ADDX.B    D2,D0
  2560.     MOVE.W    CCR,D4
  2561.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO ADD TABLE
  2562.     MOVE.B    $220(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  2563.     SUBQ.L    #1,A2
  2564.     MOVE.W    (A2)+,D1
  2565.     IF    DEEBUG
  2566.     BRA    DEBUG
  2567.     ELSE
  2568.     JMP    ([A3,D1.W*4])
  2569.     ENDIF
  2570.  
  2571. MAIN8E:                ; ADC A,(HL)
  2572.     MOVEQ    #0,D1
  2573.     MOVE.W    D2,D1
  2574.     MOVE.B    (A0,D1.L),D7
  2575.     ORI.B    #4,D4
  2576.     MOVE.W    D4,CCR
  2577.     ADDX.B    D7,D0
  2578.     MOVE.W    CCR,D4
  2579.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO ADD TABLE
  2580.     MOVE.B    $220(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  2581.     SUBQ.L    #1,A2
  2582.     MOVE.W    (A2)+,D1
  2583.     IF    DEEBUG
  2584.     BRA    DEBUG
  2585.     ELSE
  2586.     JMP    ([A3,D1.W*4])
  2587.     ENDIF
  2588.  
  2589. MAIN8F:                ; ADC A,A
  2590.     ORI.B    #4,D4
  2591.     MOVE.W    D4,CCR
  2592.     ADDX.B    D0,D0
  2593.     MOVE.W    CCR,D4
  2594.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO ADD TABLE
  2595.     MOVE.B    $220(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  2596.     SUBQ.L    #1,A2
  2597.     MOVE.W    (A2)+,D1
  2598.     IF    DEEBUG
  2599.     BRA    DEBUG
  2600.     ELSE
  2601.     JMP    ([A3,D1.W*4])
  2602.     ENDIF
  2603.  
  2604. MAIN90:                ; SUB B
  2605.     MOVE.W    D3,D1
  2606.     ROL.W    #8,D1
  2607.     MOVE.W    D4,CCR
  2608.     SUB.B    D1,D0
  2609.     MOVE.W    CCR,D4
  2610.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO SUB TABLE
  2611.     MOVE.B    $320(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  2612.     SUBQ.L    #1,A2
  2613.     MOVE.W    (A2)+,D1
  2614.     IF    DEEBUG
  2615.     BRA    DEBUG
  2616.     ELSE
  2617.     JMP    ([A3,D1.W*4])
  2618.     ENDIF
  2619.  
  2620. MAIN91:                ; SUB C
  2621.     MOVE.W    D4,CCR
  2622.     SUB.B    D3,D0
  2623.     MOVE.W    CCR,D4
  2624.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO SUB TABLE
  2625.     MOVE.B    $320(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  2626.     SUBQ.L    #1,A2
  2627.     MOVE.W    (A2)+,D1
  2628.     IF    DEEBUG
  2629.     BRA    DEBUG
  2630.     ELSE
  2631.     JMP    ([A3,D1.W*4])
  2632.     ENDIF
  2633.  
  2634. MAIN92:                ; SUB D
  2635.     MOVE.L    D3,D1
  2636.     ROL.L    #8,D1
  2637.     MOVE.W    D4,CCR
  2638.     SUB.B    D1,D0
  2639.     MOVE.W    CCR,D4
  2640.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO SUB TABLE
  2641.     MOVE.B    $320(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  2642.     SUBQ.L    #1,A2
  2643.     MOVE.W    (A2)+,D1
  2644.     IF    DEEBUG
  2645.     BRA    DEBUG
  2646.     ELSE
  2647.     JMP    ([A3,D1.W*4])
  2648.     ENDIF
  2649.  
  2650. MAIN93:                ; SUB E
  2651.     MOVE.L    D3,D1
  2652.     SWAP    D1
  2653.     MOVE.W    D4,CCR
  2654.     SUB.B    D1,D0
  2655.     MOVE.W    CCR,D4
  2656.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO SUB TABLE
  2657.     MOVE.B    $320(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  2658.     SUBQ.L    #1,A2
  2659.     MOVE.W    (A2)+,D1
  2660.     IF    DEEBUG
  2661.     BRA    DEBUG
  2662.     ELSE
  2663.     JMP    ([A3,D1.W*4])
  2664.     ENDIF
  2665.  
  2666. MAIN94:                ; SUB H
  2667.     MOVE.W    D2,D1
  2668.     ROL.W    #8,D1
  2669.     MOVE.W    D4,CCR
  2670.     SUB.B    D1,D0
  2671.     MOVE.W    CCR,D4
  2672.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO SUB TABLE
  2673.     MOVE.B    $320(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  2674.     SUBQ.L    #1,A2
  2675.     MOVE.W    (A2)+,D1
  2676.     IF    DEEBUG
  2677.     BRA    DEBUG
  2678.     ELSE
  2679.     JMP    ([A3,D1.W*4])
  2680.     ENDIF
  2681.  
  2682. MAIN95:                ; SUB L
  2683.     MOVE.W    D4,CCR
  2684.     SUB.B    D2,D0
  2685.     MOVE.W    CCR,D4
  2686.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO SUB TABLE
  2687.     MOVE.B    $320(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  2688.     SUBQ.L    #1,A2
  2689.     MOVE.W    (A2)+,D1
  2690.     IF    DEEBUG
  2691.     BRA    DEBUG
  2692.     ELSE
  2693.     JMP    ([A3,D1.W*4])
  2694.     ENDIF
  2695.  
  2696. MAIN96:                ; SUB (HL)
  2697.     MOVEQ    #0,D1
  2698.     MOVE.W    D2,D1
  2699.     MOVE.W    D4,CCR
  2700.     SUB.B    (A0,D1.L),D0
  2701.     MOVE.W    CCR,D4
  2702.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO SUB TABLE
  2703.     MOVE.B    $320(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  2704.     SUBQ.L    #1,A2
  2705.     MOVE.W    (A2)+,D1
  2706.     IF    DEEBUG
  2707.     BRA    DEBUG
  2708.     ELSE
  2709.     JMP    ([A3,D1.W*4])
  2710.     ENDIF
  2711.  
  2712. MAIN97:                ; SUB A
  2713.     MOVE.W    D4,CCR
  2714.     SUB.B    D0,D0
  2715.     MOVE.W    CCR,D4
  2716.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO SUB TABLE
  2717.     MOVE.B    $320(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  2718.     SUBQ.L    #1,A2
  2719.     MOVE.W    (A2)+,D1
  2720.     IF    DEEBUG
  2721.     BRA    DEBUG
  2722.     ELSE
  2723.     JMP    ([A3,D1.W*4])
  2724.     ENDIF
  2725.  
  2726. MAIN98:                ; SBC A,B
  2727.     ORI.B    #$04,D4        ; SET Z FLG
  2728.     MOVE.W    D3,D1
  2729.     ROL.W    #8,D1
  2730.     MOVE.W    D4,CCR
  2731.     SUBX.B    D1,D0
  2732.     MOVE.W    CCR,D4
  2733.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO SUB TABLE
  2734.     MOVE.B    $320(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  2735.     SUBQ.L    #1,A2
  2736.     MOVE.W    (A2)+,D1
  2737.     IF    DEEBUG
  2738.     BRA    DEBUG
  2739.     ELSE
  2740.     JMP    ([A3,D1.W*4])
  2741.     ENDIF
  2742.  
  2743. MAIN99:                ; SBC A,C
  2744.     ORI.B    #$04,D4        ; SET Z FLG
  2745.     MOVE.W    D4,CCR
  2746.     SUBX.B    D3,D0
  2747.     MOVE.W    CCR,D4
  2748.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO SUB TABLE
  2749.     MOVE.B    $320(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  2750.     SUBQ.L    #1,A2
  2751.     MOVE.W    (A2)+,D1
  2752.     IF    DEEBUG
  2753.     BRA    DEBUG
  2754.     ELSE
  2755.     JMP    ([A3,D1.W*4])
  2756.     ENDIF
  2757.  
  2758. MAIN9A:                ; SBC A,D
  2759.     ORI.B    #$04,D4        ; SET Z FLG
  2760.     MOVE.L    D3,D1
  2761.     ROL.L    #8,D1
  2762.     MOVE.W    D4,CCR
  2763.     SUBX.B    D1,D0
  2764.     MOVE.W    CCR,D4
  2765.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO SUB TABLE
  2766.     MOVE.B    $320(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  2767.     SUBQ.L    #1,A2
  2768.     MOVE.W    (A2)+,D1
  2769.     IF    DEEBUG
  2770.     BRA    DEBUG
  2771.     ELSE
  2772.     JMP    ([A3,D1.W*4])
  2773.     ENDIF
  2774.  
  2775. MAIN9B:                ; SBC A,E
  2776.     ORI.B    #$04,D4        ; SET Z FLG
  2777.     MOVE.L    D3,D1
  2778.     SWAP    D1
  2779.     MOVE.W    D4,CCR
  2780.     SUBX.B    D1,D0
  2781.     MOVE.W    CCR,D4
  2782.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO SUB TABLE
  2783.     MOVE.B    $320(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  2784.     SUBQ.L    #1,A2
  2785.     MOVE.W    (A2)+,D1
  2786.     IF    DEEBUG
  2787.     BRA    DEBUG
  2788.     ELSE
  2789.     JMP    ([A3,D1.W*4])
  2790.     ENDIF
  2791.  
  2792. MAIN9C:                ; SBC A,H
  2793.     ORI.B    #$04,D4        ; SET Z FLG
  2794.     MOVE.W    D2,D1
  2795.     ROL.W    #8,D1
  2796.     MOVE.W    D4,CCR
  2797.     SUBX.B    D1,D0
  2798.     MOVE.W    CCR,D4
  2799.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO SUB TABLE
  2800.     MOVE.B    $320(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  2801.     SUBQ.L    #1,A2
  2802.     MOVE.W    (A2)+,D1
  2803.     IF    DEEBUG
  2804.     BRA    DEBUG
  2805.     ELSE
  2806.     JMP    ([A3,D1.W*4])
  2807.     ENDIF
  2808.  
  2809. MAIN9D:                ; SBC A,L
  2810.     ORI.B    #$04,D4        ; SET Z FLG
  2811.     MOVE.W    D4,CCR
  2812.     SUBX.B    D2,D0
  2813.     MOVE.W    CCR,D4
  2814.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO SUB TABLE
  2815.     MOVE.B    $320(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  2816.     SUBQ.L    #1,A2
  2817.     MOVE.W    (A2)+,D1
  2818.     IF    DEEBUG
  2819.     BRA    DEBUG
  2820.     ELSE
  2821.     JMP    ([A3,D1.W*4])
  2822.     ENDIF
  2823.  
  2824. MAIN9E:                ; SBC A,(HL)
  2825.     ORI.B    #$04,D4        ; SET Z FLG
  2826.     MOVEQ    #0,D1
  2827.     MOVE.W    D2,D1
  2828.     MOVE.B    (A0,D1.L),D7
  2829.     MOVE.W    D4,CCR
  2830.     SUBX.B    D7,D0
  2831.     MOVE.W    CCR,D4
  2832.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO SUB TABLE
  2833.     MOVE.B    $320(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  2834.     SUBQ.L    #1,A2
  2835.     MOVE.W    (A2)+,D1
  2836.     IF    DEEBUG
  2837.     BRA    DEBUG
  2838.     ELSE
  2839.     JMP    ([A3,D1.W*4])
  2840.     ENDIF
  2841.  
  2842. MAIN9F:                ; SBC A,A
  2843.     ORI.B    #$04,D4        ; SET Z FLG
  2844.     MOVE.W    D4,CCR
  2845.     SUBX.B    D0,D0        
  2846.     MOVE.W    CCR,D4
  2847.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO SUB TABLE
  2848.     MOVE.B    $320(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  2849.     SUBQ.L    #1,A2
  2850.     MOVE.W    (A2)+,D1
  2851.     IF    DEEBUG
  2852.     BRA    DEBUG
  2853.     ELSE
  2854.     JMP    ([A3,D1.W*4])
  2855.     ENDIF
  2856.  
  2857. MAINA0:                ; AND B
  2858.     MOVE.W    D3,D1
  2859.     ROL.W    #8,D1
  2860.     MOVE.W    D4,CCR
  2861.     AND.B    D1,D0
  2862.     ANDI    #$0F,CCR    ; CLEAR X
  2863.     MOVE.W    CCR,D4
  2864.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO PARITY TABLE
  2865.     OR.B    (A6,D0.W),D4    ; SET V FLG TO PARITY TABLE VALUE
  2866.     MOVE.B    #$10,D5        ; SET EXTENDED Z80 FLG TO N=0 H=1
  2867.     SUBQ.L    #1,A2
  2868.     MOVE.W    (A2)+,D1
  2869.     IF    DEEBUG
  2870.     BRA    DEBUG
  2871.     ELSE
  2872.     JMP    ([A3,D1.W*4])
  2873.     ENDIF
  2874.  
  2875. MAINA1:                ; AND C
  2876.     MOVE.W    D4,CCR
  2877.     AND.B    D3,D0
  2878.     ANDI    #$0F,CCR    
  2879.     MOVE.W    CCR,D4
  2880.     ANDI.W    #$00FF,D0    
  2881.     OR.B    (A6,D0.W),D4    
  2882.     MOVE.B    #$10,D5        
  2883.     SUBQ.L    #1,A2
  2884.     MOVE.W    (A2)+,D1
  2885.     IF    DEEBUG
  2886.     BRA    DEBUG
  2887.     ELSE
  2888.     JMP    ([A3,D1.W*4])
  2889.     ENDIF
  2890.  
  2891. MAINA2:                ; AND D
  2892.     MOVE.L    D3,D1
  2893.     ROL.L    #8,D1
  2894.     MOVE.W    D4,CCR
  2895.     AND.B    D1,D0
  2896.     ANDI    #$0F,CCR    
  2897.     MOVE.W    CCR,D4
  2898.     ANDI.W    #$00FF,D0    
  2899.     OR.B    (A6,D0.W),D4    
  2900.     MOVE.B    #$10,D5        
  2901.     SUBQ.L    #1,A2
  2902.     MOVE.W    (A2)+,D1
  2903.     IF    DEEBUG
  2904.     BRA    DEBUG
  2905.     ELSE
  2906.     JMP    ([A3,D1.W*4])
  2907.     ENDIF
  2908.  
  2909. MAINA3:                ; AND E
  2910.     MOVE.L    D3,D1
  2911.     SWAP    D1
  2912.     MOVE.W    D4,CCR
  2913.     AND.B    D1,D0
  2914.     ANDI    #$0F,CCR    
  2915.     MOVE.W    CCR,D4
  2916.     ANDI.W    #$00FF,D0    
  2917.     OR.B    (A6,D0.W),D4    
  2918.     MOVE.B    #$10,D5        
  2919.     SUBQ.L    #1,A2
  2920.     MOVE.W    (A2)+,D1
  2921.     IF    DEEBUG
  2922.     BRA    DEBUG
  2923.     ELSE
  2924.     JMP    ([A3,D1.W*4])
  2925.     ENDIF
  2926.  
  2927. MAINA4:                ; AND H
  2928.     MOVE.W    D2,D1
  2929.     ROL.W    #8,D1
  2930.     MOVE.W    D4,CCR
  2931.     AND.B    D1,D0
  2932.     ANDI    #$0F,CCR    
  2933.     MOVE.W    CCR,D4
  2934.     ANDI.W    #$00FF,D0    
  2935.     OR.B    (A6,D0.W),D4    
  2936.     MOVE.B    #$10,D5        
  2937.     SUBQ.L    #1,A2
  2938.     MOVE.W    (A2)+,D1
  2939.     IF    DEEBUG
  2940.     BRA    DEBUG
  2941.     ELSE
  2942.     JMP    ([A3,D1.W*4])
  2943.     ENDIF
  2944.  
  2945. MAINA5:                ; AND L
  2946.     MOVE.W    D4,CCR
  2947.     AND.B    D2,D0
  2948.     ANDI    #$0F,CCR    
  2949.     MOVE.W    CCR,D4
  2950.     ANDI.W    #$00FF,D0    
  2951.     OR.B    (A6,D0.W),D4    
  2952.     MOVE.B    #$10,D5        
  2953.     SUBQ.L    #1,A2
  2954.     MOVE.W    (A2)+,D1
  2955.     IF    DEEBUG
  2956.     BRA    DEBUG
  2957.     ELSE
  2958.     JMP    ([A3,D1.W*4])
  2959.     ENDIF
  2960.  
  2961. MAINA6:                ; AND (HL)
  2962.     MOVEQ    #0,D1
  2963.     MOVE.W    D2,D1
  2964.     MOVE.W    D4,CCR
  2965.     AND.B    (A0,D1.L),D0
  2966.     ANDI    #$0F,CCR    
  2967.     MOVE.W    CCR,D4
  2968.     ANDI.W    #$00FF,D0    
  2969.     OR.B    (A6,D0.W),D4    
  2970.     MOVE.B    #$10,D5        
  2971.     SUBQ.L    #1,A2
  2972.     MOVE.W    (A2)+,D1
  2973.     IF    DEEBUG
  2974.     BRA    DEBUG
  2975.     ELSE
  2976.     JMP    ([A3,D1.W*4])
  2977.     ENDIF
  2978.  
  2979. MAINA7:                ; AND A
  2980.     MOVE.W    D4,CCR
  2981.     AND.B    D0,D0
  2982.     ANDI    #$0F,CCR    
  2983.     MOVE.W    CCR,D4
  2984.     ANDI.W    #$00FF,D0    
  2985.     OR.B    (A6,D0.W),D4    
  2986.     MOVE.B    #$10,D5        
  2987.     SUBQ.L    #1,A2
  2988.     MOVE.W    (A2)+,D1
  2989.     IF    DEEBUG
  2990.     BRA    DEBUG
  2991.     ELSE
  2992.     JMP    ([A3,D1.W*4])
  2993.     ENDIF
  2994.  
  2995. MAINA8:                ; XOR B
  2996.     MOVE.W    D3,D1
  2997.     ROL.W    #8,D1
  2998.     MOVE.W    D4,CCR
  2999.     EOR.B    D1,D0
  3000.     ANDI    #$0F,CCR    ; CLEAR X
  3001.     MOVE.W    CCR,D4
  3002.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO PARITY TABLE
  3003.     OR.B    (A6,D0.W),D4    ; SET V FLG TO PARITY TABLE VALUE
  3004.     MOVEQ.B    #0,D5        ; SET EXTENDED Z80 FLG TO N=0 H=0
  3005.     SUBQ.L    #1,A2
  3006.     MOVE.W    (A2)+,D1
  3007.     IF    DEEBUG
  3008.     BRA    DEBUG
  3009.     ELSE
  3010.     JMP    ([A3,D1.W*4])
  3011.     ENDIF
  3012.  
  3013. MAINA9:                ; XOR C
  3014.     MOVE.W    D4,CCR
  3015.     EOR.B    D3,D0
  3016.     ANDI    #$0F,CCR    
  3017.     MOVE.W    CCR,D4
  3018.     ANDI.W    #$00FF,D0
  3019.     OR.B    (A6,D0.W),D4
  3020.     MOVEQ.B    #0,D5
  3021.     SUBQ.L    #1,A2
  3022.     MOVE.W    (A2)+,D1
  3023.     IF    DEEBUG
  3024.     BRA    DEBUG
  3025.     ELSE
  3026.     JMP    ([A3,D1.W*4])
  3027.     ENDIF
  3028.  
  3029. MAINAA:                ; XOR D
  3030.     MOVE.L    D3,D1
  3031.     ROL.L    #8,D1
  3032.     MOVE.W    D4,CCR
  3033.     EOR.B    D1,D0
  3034.     ANDI    #$0F,CCR    
  3035.     MOVE.W    CCR,D4
  3036.     ANDI.W    #$00FF,D0
  3037.     OR.B    (A6,D0.W),D4
  3038.     MOVEQ.B    #0,D5
  3039.     SUBQ.L    #1,A2
  3040.     MOVE.W    (A2)+,D1
  3041.     IF    DEEBUG
  3042.     BRA    DEBUG
  3043.     ELSE
  3044.     JMP    ([A3,D1.W*4])
  3045.     ENDIF
  3046.  
  3047. MAINAB:                ; XOR E
  3048.     MOVE.L    D3,D1
  3049.     SWAP    D1
  3050.     MOVE.W    D4,CCR
  3051.     EOR.B    D1,D0
  3052.     ANDI    #$0F,CCR    
  3053.     MOVE.W    CCR,D4
  3054.     ANDI.W    #$00FF,D0
  3055.     OR.B    (A6,D0.W),D4
  3056.     MOVEQ.B    #0,D5
  3057.     SUBQ.L    #1,A2
  3058.     MOVE.W    (A2)+,D1
  3059.     IF    DEEBUG
  3060.     BRA    DEBUG
  3061.     ELSE
  3062.     JMP    ([A3,D1.W*4])
  3063.     ENDIF
  3064.  
  3065. MAINAC:                ; XOR H
  3066.     MOVE.W    D2,D1
  3067.     ROL.W    #8,D1
  3068.     MOVE.W    D4,CCR
  3069.     EOR.B    D1,D0
  3070.     ANDI    #$0F,CCR    
  3071.     MOVE.W    CCR,D4
  3072.     ANDI.W    #$00FF,D0
  3073.     OR.B    (A6,D0.W),D4
  3074.     MOVEQ.B    #0,D5
  3075.     SUBQ.L    #1,A2
  3076.     MOVE.W    (A2)+,D1
  3077.     IF    DEEBUG
  3078.     BRA    DEBUG
  3079.     ELSE
  3080.     JMP    ([A3,D1.W*4])
  3081.     ENDIF
  3082.  
  3083. MAINAD:                ; XOR L
  3084.     MOVE.W    D4,CCR
  3085.     EOR.B    D2,D0
  3086.     ANDI    #$0F,CCR    
  3087.     MOVE.W    CCR,D4
  3088.     ANDI.W    #$00FF,D0
  3089.     OR.B    (A6,D0.W),D4
  3090.     MOVEQ.B    #0,D5
  3091.     SUBQ.L    #1,A2
  3092.     MOVE.W    (A2)+,D1
  3093.     IF    DEEBUG
  3094.     BRA    DEBUG
  3095.     ELSE
  3096.     JMP    ([A3,D1.W*4])
  3097.     ENDIF
  3098.  
  3099. MAINAE:                ; XOR (HL)
  3100.     MOVEQ    #0,D1
  3101.     MOVE.W    D2,D1
  3102.     MOVE.B    (A0,D1.L),D7
  3103.     MOVE.W    D4,CCR
  3104.     EOR.B    D7,D0
  3105.     ANDI    #$0F,CCR    
  3106.     MOVE.W    CCR,D4
  3107.     ANDI.W    #$00FF,D0
  3108.     OR.B    (A6,D0.W),D4
  3109.     MOVEQ.B    #0,D5
  3110.     SUBQ.L    #1,A2
  3111.     MOVE.W    (A2)+,D1
  3112.     IF    DEEBUG
  3113.     BRA    DEBUG
  3114.     ELSE
  3115.     JMP    ([A3,D1.W*4])
  3116.     ENDIF
  3117.  
  3118. MAINAF:                ; XOR A
  3119.     MOVE.W    D4,CCR
  3120.     EOR.B    D0,D0
  3121.     ANDI    #$0F,CCR    
  3122.     MOVE.W    CCR,D4
  3123.     ANDI.W    #$00FF,D0
  3124.     OR.B    (A6,D0.W),D4
  3125.     MOVEQ.B    #0,D5
  3126.     SUBQ.L    #1,A2
  3127.     MOVE.W    (A2)+,D1
  3128.     IF    DEEBUG
  3129.     BRA    DEBUG
  3130.     ELSE
  3131.     JMP    ([A3,D1.W*4])
  3132.     ENDIF
  3133.  
  3134. MAINB0:                ; OR B
  3135.     MOVE.W    D3,D1
  3136.     ROL.W    #8,D1        ; CONDITION FLAGS SAME AS XOR
  3137.     MOVE.W    D4,CCR
  3138.     OR.B    D1,D0
  3139.     ANDI    #$0F,CCR    
  3140.     MOVE.W    CCR,D4
  3141.     ANDI.W    #$00FF,D0
  3142.     OR.B    (A6,D0.W),D4
  3143.     MOVEQ.B    #0,D5
  3144.     SUBQ.L    #1,A2
  3145.     MOVE.W    (A2)+,D1
  3146.     IF    DEEBUG
  3147.     BRA    DEBUG
  3148.     ELSE
  3149.     JMP    ([A3,D1.W*4])
  3150.     ENDIF
  3151.  
  3152. MAINB1:                ; OR C
  3153.     MOVE.W    D4,CCR
  3154.     OR.B    D3,D0
  3155.     ANDI    #$0F,CCR    
  3156.     MOVE.W    CCR,D4
  3157.     ANDI.W    #$00FF,D0
  3158.     OR.B    (A6,D0.W),D4
  3159.     MOVEQ.B    #0,D5
  3160.     SUBQ.L    #1,A2
  3161.     MOVE.W    (A2)+,D1
  3162.     IF    DEEBUG
  3163.     BRA    DEBUG
  3164.     ELSE
  3165.     JMP    ([A3,D1.W*4])
  3166.     ENDIF
  3167.  
  3168. MAINB2:                ; OR D
  3169.     MOVE.L    D3,D1
  3170.     ROL.L    #8,D1
  3171.     MOVE.W    D4,CCR
  3172.     OR.B    D1,D0
  3173.     ANDI    #$0F,CCR    
  3174.     MOVE.W    CCR,D4
  3175.     ANDI.W    #$00FF,D0
  3176.     OR.B    (A6,D0.W),D4
  3177.     MOVEQ.B    #0,D5
  3178.     SUBQ.L    #1,A2
  3179.     MOVE.W    (A2)+,D1
  3180.     IF    DEEBUG
  3181.     BRA    DEBUG
  3182.     ELSE
  3183.     JMP    ([A3,D1.W*4])
  3184.     ENDIF
  3185.  
  3186. MAINB3:                ; OR E
  3187.     MOVE.L    D3,D1
  3188.     SWAP    D1
  3189.     MOVE.W    D4,CCR
  3190.     OR.B    D1,D0
  3191.     ANDI    #$0F,CCR    
  3192.     MOVE.W    CCR,D4
  3193.     ANDI.W    #$00FF,D0
  3194.     OR.B    (A6,D0.W),D4
  3195.     MOVEQ.B    #0,D5
  3196.     SUBQ.L    #1,A2
  3197.     MOVE.W    (A2)+,D1
  3198.     IF    DEEBUG
  3199.     BRA    DEBUG
  3200.     ELSE
  3201.     JMP    ([A3,D1.W*4])
  3202.     ENDIF
  3203.  
  3204. MAINB4:                ; OR H
  3205.     MOVE.W    D2,D1
  3206.     ROL.W    #8,D1
  3207.     MOVE.W    D4,CCR
  3208.     OR.B    D1,D0
  3209.     ANDI    #$0F,CCR    
  3210.     MOVE.W    CCR,D4
  3211.     ANDI.W    #$00FF,D0
  3212.     OR.B    (A6,D0.W),D4
  3213.     MOVEQ.B    #0,D5
  3214.     SUBQ.L    #1,A2
  3215.     MOVE.W    (A2)+,D1
  3216.     IF    DEEBUG
  3217.     BRA    DEBUG
  3218.     ELSE
  3219.     JMP    ([A3,D1.W*4])
  3220.     ENDIF
  3221.  
  3222. MAINB5:                ; OR L
  3223.     MOVE.W    D4,CCR
  3224.     OR.B    D2,D0
  3225.     ANDI    #$0F,CCR    
  3226.     MOVE.W    CCR,D4
  3227.     ANDI.W    #$00FF,D0
  3228.     OR.B    (A6,D0.W),D4
  3229.     MOVEQ.B    #0,D5
  3230.     SUBQ.L    #1,A2
  3231.     MOVE.W    (A2)+,D1
  3232.     IF    DEEBUG
  3233.     BRA    DEBUG
  3234.     ELSE
  3235.     JMP    ([A3,D1.W*4])
  3236.     ENDIF
  3237.  
  3238. MAINB6:                ; OR (HL)
  3239.     MOVEQ    #0,D1
  3240.     MOVE.W    D2,D1
  3241.     MOVE.W    D4,CCR
  3242.     OR.B    (A0,D1.L),D0
  3243.     ANDI    #$0F,CCR    
  3244.     MOVE.W    CCR,D4
  3245.     ANDI.W    #$00FF,D0
  3246.     OR.B    (A6,D0.W),D4
  3247.     MOVEQ.B    #0,D5
  3248.     SUBQ.L    #1,A2
  3249.     MOVE.W    (A2)+,D1
  3250.     IF    DEEBUG
  3251.     BRA    DEBUG
  3252.     ELSE
  3253.     JMP    ([A3,D1.W*4])
  3254.     ENDIF
  3255.  
  3256. MAINB7:                ; OR A
  3257.     MOVE.W    D4,CCR
  3258.     OR.B    D0,D0
  3259.     ANDI    #$0F,CCR    
  3260.     MOVE.W    CCR,D4
  3261.     ANDI.W    #$00FF,D0
  3262.     OR.B    (A6,D0.W),D4
  3263.     MOVEQ.B    #0,D5
  3264.     SUBQ.L    #1,A2
  3265.     MOVE.W    (A2)+,D1
  3266.     IF    DEEBUG
  3267.     BRA    DEBUG
  3268.     ELSE
  3269.     JMP    ([A3,D1.W*4])
  3270.     ENDIF
  3271.  
  3272. MAINB8:                ; CP B
  3273.     MOVE.B    D0,D6
  3274.     MOVE.W    D3,D1
  3275.     ROL.W    #8,D1
  3276.     MOVE.W    D4,CCR
  3277.     SUB.B    D1,D6
  3278.     MOVE.W    CCR,D4
  3279.     ANDI.W    #$00FF,D6    ; EXT D6 FOR INDEX INTO SUB TABLE
  3280.     MOVE.B    $320(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  3281.     SUBQ.L    #1,A2
  3282.     MOVE.W    (A2)+,D1
  3283.     IF    DEEBUG
  3284.     BRA    DEBUG
  3285.     ELSE
  3286.     JMP    ([A3,D1.W*4])
  3287.     ENDIF
  3288.  
  3289. MAINB9:                ; CP C
  3290.     MOVE.B    D0,D6
  3291.     MOVE.W    D4,CCR
  3292.     SUB.B    D3,D6
  3293.     MOVE.W    CCR,D4
  3294.     ANDI.W    #$00FF,D6    ; EXT D6 FOR INDEX INTO SUB TABLE
  3295.     MOVE.B    $320(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  3296.     SUBQ.L    #1,A2
  3297.     MOVE.W    (A2)+,D1
  3298.     IF    DEEBUG
  3299.     BRA    DEBUG
  3300.     ELSE
  3301.     JMP    ([A3,D1.W*4])
  3302.     ENDIF
  3303.  
  3304. MAINBA:                ; CP D
  3305.     MOVE.B    D0,D6
  3306.     MOVE.L    D3,D1
  3307.     ROL.L    #8,D1
  3308.     MOVE.W    D4,CCR
  3309.     SUB.B    D1,D6
  3310.     MOVE.W    CCR,D4
  3311.     ANDI.W    #$00FF,D6    ; EXT D6 FOR INDEX INTO SUB TABLE
  3312.     MOVE.B    $320(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  3313.     SUBQ.L    #1,A2
  3314.     MOVE.W    (A2)+,D1
  3315.     IF    DEEBUG
  3316.     BRA    DEBUG
  3317.     ELSE
  3318.     JMP    ([A3,D1.W*4])
  3319.     ENDIF
  3320.  
  3321. MAINBB:                ; CP E
  3322.     MOVE.B    D0,D6
  3323.     MOVE.L    D3,D1
  3324.     SWAP    D1
  3325.     MOVE.W    D4,CCR
  3326.     SUB.B    D1,D6
  3327.     MOVE.W    CCR,D4
  3328.     ANDI.W    #$00FF,D6    ; EXT D6 FOR INDEX INTO SUB TABLE
  3329.     MOVE.B    $320(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  3330.     SUBQ.L    #1,A2
  3331.     MOVE.W    (A2)+,D1
  3332.     IF    DEEBUG
  3333.     BRA    DEBUG
  3334.     ELSE
  3335.     JMP    ([A3,D1.W*4])
  3336.     ENDIF
  3337.  
  3338. MAINBC:                ; CP H
  3339.     MOVE.B    D0,D6
  3340.     MOVE.W    D2,D1
  3341.     ROL.W    #8,D1
  3342.     MOVE.W    D4,CCR
  3343.     SUB.B    D1,D6
  3344.     MOVE.W    CCR,D4
  3345.     ANDI.W    #$00FF,D6    ; EXT D0 FOR INDEX INTO SUB TABLE
  3346.     MOVE.B    $320(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  3347.     SUBQ.L    #1,A2
  3348.     MOVE.W    (A2)+,D1
  3349.     IF    DEEBUG
  3350.     BRA    DEBUG
  3351.     ELSE
  3352.     JMP    ([A3,D1.W*4])
  3353.     ENDIF
  3354.  
  3355. MAINBD:                ; CP L
  3356.     MOVE.B    D0,D6
  3357.     MOVE.W    D4,CCR
  3358.     SUB.B    D2,D6
  3359.     MOVE.W    CCR,D4
  3360.     ANDI.W    #$00FF,D6    ; EXT D0 FOR INDEX INTO SUB TABLE
  3361.     MOVE.B    $320(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  3362.     SUBQ.L    #1,A2
  3363.     MOVE.W    (A2)+,D1
  3364.     IF    DEEBUG
  3365.     BRA    DEBUG
  3366.     ELSE
  3367.     JMP    ([A3,D1.W*4])
  3368.     ENDIF
  3369.  
  3370. MAINBE:                ; CP (HL)
  3371.     MOVE.B    D0,D6
  3372.     MOVEQ    #0,D1
  3373.     MOVE.W    D2,D1
  3374.     MOVE.W    D4,CCR
  3375.     SUB.B    (A0,D1.L),D6
  3376.     MOVE.W    CCR,D4
  3377.     ANDI.W    #$00FF,D6    ; EXT D6 FOR INDEX INTO SUB TABLE
  3378.     MOVE.B    $320(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  3379.     SUBQ.L    #1,A2
  3380.     MOVE.W    (A2)+,D1
  3381.     IF    DEEBUG
  3382.     BRA    DEBUG
  3383.     ELSE
  3384.     JMP    ([A3,D1.W*4])
  3385.     ENDIF
  3386.  
  3387. MAINBF:                ; CP A
  3388.     MOVE.B    D0,D6
  3389.     MOVE.W    D4,CCR
  3390.     SUB.B    D0,D6
  3391.     MOVE.W    CCR,D4
  3392.     ANDI.W    #$00FF,D6    ; EXT D6 FOR INDEX INTO SUB TABLE
  3393.     MOVE.B    $320(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  3394.     SUBQ.L    #1,A2
  3395.     MOVE.W    (A2)+,D1
  3396.     IF    DEEBUG
  3397.     BRA    DEBUG
  3398.     ELSE
  3399.     JMP    ([A3,D1.W*4])
  3400.     ENDIF
  3401.  
  3402. MAINC0:                ; RET NZ
  3403.     MOVE.W    D4,CCR
  3404.     BEQ.B    C01
  3405.     MOVEQ    #0,D7
  3406.     MOVE.W    (A4)+,D7
  3407.     ROL.W    #8,D7
  3408.     MOVE.L    A0,A2
  3409.     ADDA.L    D7,A2
  3410.     MOVE.W    (A2)+,D1
  3411.     IF    DEEBUG
  3412.     BRA    DEBUG
  3413.     ELSE
  3414.     JMP    ([A3,D1.W*4])
  3415.     ENDIF
  3416.  
  3417. C01:    SUBQ.L    #1,A2
  3418.     MOVE.W    (A2)+,D1
  3419.     IF    DEEBUG
  3420.     BRA    DEBUG
  3421.     ELSE
  3422.     JMP    ([A3,D1.W*4])
  3423.     ENDIF
  3424.  
  3425. MAINC1:                ; POP BC
  3426.     ROL.W    #8,D3
  3427.     MOVE.W    (A4)+,D3
  3428.     ROL.W    #8,D3
  3429.     SUBQ.L    #1,A2
  3430.     MOVE.W    (A2)+,D1
  3431.     IF    DEEBUG
  3432.     BRA    DEBUG
  3433.     ELSE
  3434.     JMP    ([A3,D1.W*4])
  3435.     ENDIF
  3436.  
  3437. MAINC2:                ; JP NZ,XXXX
  3438.     ROL.W    #8,D1
  3439.     MOVE.B    (A2)+,D1
  3440.     ROL.W    #8,D1
  3441.     MOVE.W    D4,CCR
  3442.     BEQ.B    C21
  3443.     MOVEQ    #0,D7
  3444.     MOVE.W    D1,D7
  3445.     MOVE.L    A0,A2
  3446.     ADDA.L    D7,A2
  3447.     MOVE.W    (A2)+,D1
  3448.     IF    DEEBUG
  3449.     BRA    DEBUG
  3450.     ELSE
  3451.     JMP    ([A3,D1.W*4])
  3452.     ENDIF
  3453.  
  3454. C21:    MOVE.W    (A2)+,D1
  3455.     IF    DEEBUG
  3456.     BRA    DEBUG
  3457.     ELSE
  3458.     JMP    ([A3,D1.W*4])
  3459.     ENDIF
  3460.  
  3461. MAINC3:                ; JP XXXX
  3462.     ROL.W    #8,D1
  3463.     MOVE.B    (A2)+,D1
  3464.     ROL.W    #8,D1
  3465.     MOVEQ    #0,D7
  3466.     MOVE.W    D1,D7
  3467.     MOVE.L    A0,A2
  3468.     ADDA.L    D7,A2
  3469.     MOVE.W    (A2)+,D1
  3470.     IF    DEEBUG
  3471.     BRA    DEBUG
  3472.     ELSE
  3473.     JMP    ([A3,D1.W*4])
  3474.     ENDIF
  3475.  
  3476. MAINC4:                ; CALL NZ,XXXX
  3477.     ROL.W    #8,D1
  3478.     MOVE.B    (A2)+,D1
  3479.     ROL.W    #8,D1
  3480.     MOVE.W    D4,CCR
  3481.     BEQ.B    C41
  3482.     SUBA.L    A0,A2
  3483.     MOVE.L    A2,D7
  3484.     ROL.W    #8,D7
  3485.     MOVE.W    D7,-(A4)
  3486.     MOVE.L    A0,A2
  3487.     MOVE.W    D1,D7
  3488.     ADDA.L    D7,A2
  3489.     MOVE.W    (A2)+,D1
  3490.     IF    DEEBUG
  3491.     BRA    DEBUG
  3492.     ELSE
  3493.     JMP    ([A3,D1.W*4])
  3494.     ENDIF
  3495.  
  3496. C41:    MOVE.W    (A2)+,D1
  3497.     IF    DEEBUG
  3498.     BRA    DEBUG
  3499.     ELSE
  3500.     JMP    ([A3,D1.W*4])
  3501.     ENDIF
  3502.  
  3503. MAINC5:                ; PUSH BC
  3504.     ROL.W    #8,D3
  3505.     MOVE.W    D3,-(A4)
  3506.     ROL.W    #8,D3
  3507.     SUBQ.L    #1,A2
  3508.     MOVE.W    (A2)+,D1
  3509.     IF    DEEBUG
  3510.     BRA    DEBUG
  3511.     ELSE
  3512.     JMP    ([A3,D1.W*4])
  3513.     ENDIF
  3514.  
  3515. MAINC6:                ; ADD A,X
  3516.     MOVE.W    D4,CCR
  3517.     ADD.B    D1,D0
  3518.     MOVE.W    CCR,D4
  3519.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO ADD TABLE
  3520.     MOVE.B    $220(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  3521.     MOVE.W    (A2)+,D1
  3522.     IF    DEEBUG
  3523.     BRA    DEBUG
  3524.     ELSE
  3525.     JMP    ([A3,D1.W*4])
  3526.     ENDIF
  3527.  
  3528. MAINC7:                ; RST 00
  3529.     SUBQ.L    #1,A2
  3530.     SUBA.L    A0,A2
  3531.     MOVE.W    A2,D7
  3532.     ROL.W    #8,D7
  3533.     MOVE.W    D7,-(A4)
  3534.     MOVE.L    A0,A2
  3535.     MOVE.W    (A2)+,D1
  3536.     IF    DEEBUG
  3537.     BRA    DEBUG
  3538.     ELSE
  3539.     JMP    ([A3,D1.W*4])
  3540.     ENDIF
  3541.  
  3542. MAINC8:                ; RET Z
  3543.     MOVE.W    D4,CCR
  3544.     BNE.B    C81
  3545.     MOVEQ    #0,D7
  3546.     MOVE.W    (A4)+,D7
  3547.     ROL.W    #8,D7
  3548.     MOVE.L    A0,A2
  3549.     ADDA.L    D7,A2
  3550.     MOVE.W    (A2)+,D1
  3551.     IF    DEEBUG
  3552.     BRA    DEBUG
  3553.     ELSE
  3554.     JMP    ([A3,D1.W*4])
  3555.     ENDIF
  3556.  
  3557. C81:    SUBQ.L    #1,A2
  3558.     MOVE.W    (A2)+,D1
  3559.     IF    DEEBUG
  3560.     BRA    DEBUG
  3561.     ELSE
  3562.     JMP    ([A3,D1.W*4])
  3563.     ENDIF
  3564.  
  3565. MAINC9:                ; RET
  3566.     MOVEQ    #0,D7
  3567.     MOVE.W    (A4)+,D7
  3568.     ROL.W    #8,D7
  3569.     MOVE.L    A0,A2
  3570.     ADDA.L    D7,A2
  3571.     MOVE.W    (A2)+,D1
  3572.     IF    DEEBUG
  3573.     BRA    DEBUG
  3574.     ELSE
  3575.     JMP    ([A3,D1.W*4])
  3576.     ENDIF
  3577.  
  3578. MAINCA:                ; JP Z,XXXX
  3579.     ROL.W    #8,D1
  3580.     MOVE.B    (A2)+,D1
  3581.     ROL.W    #8,D1
  3582.     MOVE.W    D4,CCR
  3583.     BNE.B    CA1
  3584.     MOVEQ    #0,D7
  3585.     MOVE.W    D1,D7
  3586.     MOVE.L    A0,A2
  3587.     ADDA.L    D7,A2
  3588.     MOVE.W    (A2)+,D1
  3589.     IF    DEEBUG
  3590.     BRA    DEBUG
  3591.     ELSE
  3592.     JMP    ([A3,D1.W*4])
  3593.     ENDIF
  3594.  
  3595. CA1:    MOVE.W    (A2)+,D1
  3596.     IF    DEEBUG
  3597.     BRA    DEBUG
  3598.     ELSE
  3599.     JMP    ([A3,D1.W*4])
  3600.     ENDIF
  3601.  
  3602. MAINCC:                ; CALL Z,XXXX
  3603.     ROL.W    #8,D1
  3604.     MOVE.B    (A2)+,D1
  3605.     ROL.W    #8,D1
  3606.     MOVE.W    D4,CCR
  3607.     BNE.B    CC1
  3608.     SUBA.L    A0,A2
  3609.     MOVE.L    A2,D7
  3610.     ROL.W    #8,D7
  3611.     MOVE.W    D7,-(A4)
  3612.     MOVE.L    A0,A2
  3613.     MOVE.W    D1,D7
  3614.     ADDA.L    D7,A2
  3615.     MOVE.W    (A2)+,D1
  3616.     IF    DEEBUG
  3617.     BRA    DEBUG
  3618.     ELSE
  3619.     JMP    ([A3,D1.W*4])
  3620.     ENDIF
  3621.  
  3622. CC1:    MOVE.W    (A2)+,D1
  3623.     IF    DEEBUG
  3624.     BRA    DEBUG
  3625.     ELSE
  3626.     JMP    ([A3,D1.W*4])
  3627.     ENDIF
  3628.  
  3629. MAINCD:                ; CALL XXXX
  3630.     ROL.W    #8,D1
  3631.     MOVE.B    (A2)+,D1
  3632.     ROL.W    #8,D1
  3633.     SUBA.L    A0,A2
  3634.     MOVE.L    A2,D7
  3635.     ROL.W    #8,D7
  3636.     MOVE.W    D7,-(A4)
  3637.     MOVE.L    A0,A2
  3638.     MOVE.W    D1,D7
  3639.     ADDA.L    D7,A2
  3640.     MOVE.W    (A2)+,D1
  3641.     IF    DEEBUG
  3642.     BRA    DEBUG
  3643.     ELSE
  3644.     JMP    ([A3,D1.W*4])
  3645.     ENDIF
  3646.  
  3647. MAINCE:                ; ADC A,X
  3648.     ORI.B    #4,D4
  3649.     MOVE.W    D4,CCR
  3650.     ADDX.B    D1,D0
  3651.     MOVE.W    CCR,D4
  3652.     ANDI.W    #$00FF,D0    ; EXT D7 FOR INDEX INTO ADD TABLE
  3653.     MOVE.B    $220(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  3654.     MOVE.W    (A2)+,D1
  3655.     IF    DEEBUG
  3656.     BRA    DEBUG
  3657.     ELSE
  3658.     JMP    ([A3,D1.W*4])
  3659.     ENDIF
  3660.  
  3661. MAINCF:                ; RST 08
  3662.     SUBQ.L    #1,A2
  3663.     SUBA.L    A0,A2
  3664.     MOVE.W    A2,D7
  3665.     ROL.W    #8,D7
  3666.     MOVE.W    D7,-(A4)
  3667.     MOVE.L    A0,A2
  3668.     ADDA.L    #8,A2
  3669.     MOVE.W    (A2)+,D1
  3670.     IF    DEEBUG
  3671.     BRA    DEBUG
  3672.     ELSE
  3673.     JMP    ([A3,D1.W*4])
  3674.     ENDIF
  3675.  
  3676. MAIND0:                ; RET NC
  3677.     MOVE.W    D4,CCR
  3678.     BCS.B    D01
  3679.     MOVEQ    #0,D7
  3680.     MOVE.W    (A4)+,D7
  3681.     ROL.W    #8,D7
  3682.     MOVE.L    A0,A2
  3683.     ADDA.L    D7,A2
  3684.     MOVE.W    (A2)+,D1
  3685.     IF    DEEBUG
  3686.     BRA    DEBUG
  3687.     ELSE
  3688.     JMP    ([A3,D1.W*4])
  3689.     ENDIF
  3690.  
  3691. D01:    SUBQ.L    #1,A2
  3692.     MOVE.W    (A2)+,D1
  3693.     IF    DEEBUG
  3694.     BRA    DEBUG
  3695.     ELSE
  3696.     JMP    ([A3,D1.W*4])
  3697.     ENDIF
  3698.  
  3699. MAIND1:                ; POP DE
  3700.     SWAP    D3
  3701.     ROL.W    #8,D3
  3702.     MOVE.W    (A4)+,D3
  3703.     ROL.W    #8,D3
  3704.     SWAP    D3
  3705.     SUBQ.L    #1,A2
  3706.     MOVE.W    (A2)+,D1
  3707.     IF    DEEBUG
  3708.     BRA    DEBUG
  3709.     ELSE
  3710.     JMP    ([A3,D1.W*4])
  3711.     ENDIF
  3712.  
  3713. MAIND2:                ; JP NC,XXXX
  3714.     ROL.W    #8,D1
  3715.     MOVE.B    (A2)+,D1
  3716.     ROL.W    #8,D1
  3717.     MOVE.W    D4,CCR
  3718.     BCS.B    D21
  3719.     MOVEQ    #0,D7
  3720.     MOVE.W    D1,D7
  3721.     MOVE.L    A0,A2
  3722.     ADDA.L    D7,A2
  3723.     MOVE.W    (A2)+,D1
  3724.     IF    DEEBUG
  3725.     BRA    DEBUG
  3726.     ELSE
  3727.     JMP    ([A3,D1.W*4])
  3728.     ENDIF
  3729.  
  3730. D21:    MOVE.W    (A2)+,D1
  3731.     IF    DEEBUG
  3732.     BRA    DEBUG
  3733.     ELSE
  3734.     JMP    ([A3,D1.W*4])
  3735.     ENDIF
  3736.  
  3737. MAIND3:                ; OUT (N),A  (NOP)
  3738.     MOVE.W    (A2)+,D1
  3739.     IF    DEEBUG
  3740.     BRA    DEBUG
  3741.     ELSE
  3742.     JMP    ([A3,D1.W*4])
  3743.     ENDIF
  3744.  
  3745. MAIND4:                ; CALL NC,XXXX
  3746.     ROL.W    #8,D1
  3747.     MOVE.B    (A2)+,D1
  3748.     ROL.W    #8,D1
  3749.     MOVE.W    D4,CCR
  3750.     BCS.B    D41
  3751.     SUBA.L    A0,A2
  3752.     MOVE.L    A2,D7
  3753.     ROL.W    #8,D7
  3754.     MOVE.W    D7,-(A4)
  3755.     MOVE.L    A0,A2
  3756.     MOVE.W    D1,D7
  3757.     ADDA.L    D7,A2
  3758.     MOVE.W    (A2)+,D1
  3759.     IF    DEEBUG
  3760.     BRA    DEBUG
  3761.     ELSE
  3762.     JMP    ([A3,D1.W*4])
  3763.     ENDIF
  3764.  
  3765. D41:    MOVE.W    (A2)+,D1
  3766.     IF    DEEBUG
  3767.     BRA    DEBUG
  3768.     ELSE
  3769.     JMP    ([A3,D1.W*4])
  3770.     ENDIF
  3771.  
  3772. MAIND5:                ; PUSH DE
  3773.     SWAP    D3
  3774.     ROL.W    #8,D3
  3775.     MOVE.W    D3,-(A4)
  3776.     ROL.W    #8,D3
  3777.     SWAP    D3
  3778.     SUBQ.L    #1,A2
  3779.     MOVE.W    (A2)+,D1
  3780.     IF    DEEBUG
  3781.     BRA    DEBUG
  3782.     ELSE
  3783.     JMP    ([A3,D1.W*4])
  3784.     ENDIF
  3785.  
  3786. MAIND6:                ; SUB X
  3787.     MOVE.W    D4,CCR
  3788.     SUB.B    D1,D0
  3789.     MOVE.W    CCR,D4
  3790.     ANDI.W    #$00FF,D0    ; EXT D7 FOR INDEX INTO SUB TABLE
  3791.     MOVE.B    $320(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  3792.     MOVE.W    (A2)+,D1
  3793.     IF    DEEBUG
  3794.     BRA    DEBUG
  3795.     ELSE
  3796.     JMP    ([A3,D1.W*4])
  3797.     ENDIF
  3798.  
  3799. MAIND7:                ; RST 10
  3800.     SUBQ.L    #1,A2
  3801.     SUBA.L    A0,A2
  3802.     MOVE.W    A2,D7
  3803.     ROL.W    #8,D7
  3804.     MOVE.W    D7,-(A4)
  3805.     MOVE.L    A0,A2
  3806.     ADDA.L    #$10,A2
  3807.     MOVE.W    (A2)+,D1
  3808.     IF    DEEBUG
  3809.     BRA    DEBUG
  3810.     ELSE
  3811.     JMP    ([A3,D1.W*4])
  3812.     ENDIF
  3813.  
  3814. MAIND8:                ; RET C
  3815.     MOVE.W    D4,CCR
  3816.     BCC.B    D81
  3817.     MOVEQ    #0,D7
  3818.     MOVE.W    (A4)+,D7
  3819.     ROL.W    #8,D7
  3820.     MOVE.L    A0,A2
  3821.     ADDA.L    D7,A2
  3822.     MOVE.W    (A2)+,D1
  3823.     IF    DEEBUG
  3824.     BRA    DEBUG
  3825.     ELSE
  3826.     JMP    ([A3,D1.W*4])
  3827.     ENDIF
  3828.  
  3829. D81:    SUBQ.L    #1,A2
  3830.     MOVE.W    (A2)+,D1
  3831.     IF    DEEBUG
  3832.     BRA    DEBUG
  3833.     ELSE
  3834.     JMP    ([A3,D1.W*4])
  3835.     ENDIF
  3836.  
  3837. MAIND9:                ; EXX
  3838.     MOVE.W    D2,HL
  3839.     MOVE.W    D3,BC
  3840.     SWAP    D3
  3841.     MOVE.W    D3,DE
  3842.     MOVE.W    ADE,D3
  3843.     SWAP    D3
  3844.     MOVE.W    ABC,D3
  3845.     MOVE.W    AHL,D2
  3846.     MOVE.W    HL,AHL
  3847.     MOVE.W    BC,ABC
  3848.     MOVE.W    DE,ADE
  3849.     SUBQ.L    #1,A2
  3850.     MOVE.W    (A2)+,D1
  3851.     IF    DEEBUG
  3852.     BRA    DEBUG
  3853.     ELSE
  3854.     JMP    ([A3,D1.W*4])
  3855.     ENDIF
  3856.  
  3857. MAINDA:                ; JP C,XXXX
  3858.     ROL.W    #8,D1
  3859.     MOVE.B    (A2)+,D1
  3860.     ROL.W    #8,D1
  3861.     MOVE.W    D4,CCR
  3862.     BCC.B    DA1
  3863.     MOVEQ    #0,D7
  3864.     MOVE.W    D1,D7
  3865.     MOVE.L    A0,A2
  3866.     ADDA.L    D7,A2
  3867.     MOVE.W    (A2)+,D1
  3868.     IF    DEEBUG
  3869.     BRA    DEBUG
  3870.     ELSE
  3871.     JMP    ([A3,D1.W*4])
  3872.     ENDIF
  3873.  
  3874. DA1:    MOVE.W    (A2)+,D1
  3875.     IF    DEEBUG
  3876.     BRA    DEBUG
  3877.     ELSE
  3878.     JMP    ([A3,D1.W*4])
  3879.     ENDIF
  3880.  
  3881. MAINDB:                ; IN A,(N)  (NOP)
  3882.     MOVE.B    #$FF,D0
  3883.     MOVE.W    (A2)+,D1
  3884.     IF    DEEBUG
  3885.     BRA    DEBUG
  3886.     ELSE
  3887.     JMP    ([A3,D1.W*4])
  3888.     ENDIF
  3889.  
  3890. MAINDC:                ; CALL C,XXXX
  3891.     ROL.W    #8,D1
  3892.     MOVE.B    (A2)+,D1
  3893.     ROL.W    #8,D1
  3894.     MOVE.W    D4,CCR
  3895.     BCC.B    DC1
  3896.     SUBA.L    A0,A2
  3897.     MOVE.L    A2,D7
  3898.     ROL.W    #8,D7
  3899.     MOVE.W    D7,-(A4)
  3900.     MOVE.L    A0,A2
  3901.     MOVE.W    D1,D7
  3902.     ADDA.L    D7,A2
  3903.     MOVE.W    (A2)+,D1
  3904.     IF    DEEBUG
  3905.     BRA    DEBUG
  3906.     ELSE
  3907.     JMP    ([A3,D1.W*4])
  3908.     ENDIF
  3909.  
  3910. DC1:    MOVE.W    (A2)+,D1
  3911.     IF    DEEBUG
  3912.     BRA    DEBUG
  3913.     ELSE
  3914.     JMP    ([A3,D1.W*4])
  3915.     ENDIF
  3916.  
  3917. MAINDE:                ; SBC A,X
  3918.     ORI.B    #4,D4        ; SET Z FLAG FOR SUBX INSTRUCT.
  3919.     MOVE.W    D4,CCR
  3920.     SUBX.B    D1,D0
  3921.     MOVE.W    CCR,D4
  3922.     ANDI.W    #$00FF,D0    ; EXT D7 FOR INDEX INTO SUB TABLE
  3923.     MOVE.B    $320(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  3924.     MOVE.W    (A2)+,D1
  3925.     IF    DEEBUG
  3926.     BRA    DEBUG
  3927.     ELSE
  3928.     JMP    ([A3,D1.W*4])
  3929.     ENDIF
  3930.  
  3931. MAINDF:                ; RST 18
  3932.     SUBQ.L    #1,A2
  3933.     SUBA.L    A0,A2
  3934.     MOVE.W    A2,D7
  3935.     ROL.W    #8,D7
  3936.     MOVE.W    D7,-(A4)
  3937.     MOVE.L    A0,A2
  3938.     ADDA.L    #$18,A2
  3939.     MOVE.W    (A2)+,D1
  3940.     IF    DEEBUG
  3941.     BRA    DEBUG
  3942.     ELSE
  3943.     JMP    ([A3,D1.W*4])
  3944.     ENDIF
  3945.  
  3946. MAINE0:                ; RET PO
  3947.     MOVE.W    D4,CCR
  3948.     BVS.B    E01
  3949.     MOVEQ    #0,D7
  3950.     MOVE.W    (A4)+,D7
  3951.     ROL.W    #8,D7
  3952.     MOVE.L    A0,A2
  3953.     ADDA.L    D7,A2
  3954.     MOVE.W    (A2)+,D1
  3955.     IF    DEEBUG
  3956.     BRA    DEBUG
  3957.     ELSE
  3958.     JMP    ([A3,D1.W*4])
  3959.     ENDIF
  3960.  
  3961. E01:    SUBQ.L    #1,A2
  3962.     MOVE.W    (A2)+,D1
  3963.     IF    DEEBUG
  3964.     BRA    DEBUG
  3965.     ELSE
  3966.     JMP    ([A3,D1.W*4])
  3967.     ENDIF
  3968.  
  3969. MAINE1:                ; POP HL
  3970.     ROL.W    #8,D2
  3971.     MOVE.W    (A4)+,D2
  3972.     ROL.W    #8,D2
  3973.     SUBQ.L    #1,A2
  3974.     MOVE.W    (A2)+,D1
  3975.     IF    DEEBUG
  3976.     BRA    DEBUG
  3977.     ELSE
  3978.     JMP    ([A3,D1.W*4])
  3979.     ENDIF
  3980.  
  3981. MAINE2:                ; JP PO,XXXX
  3982.     ROL.W    #8,D1
  3983.     MOVE.B    (A2)+,D1
  3984.     ROL.W    #8,D1
  3985.     MOVE.W    D4,CCR
  3986.     BVS.B    E21
  3987.     MOVEQ    #0,D7
  3988.     MOVE.W    D1,D7
  3989.     MOVE.L    A0,A2
  3990.     ADDA.L    D7,A2
  3991.     MOVE.W    (A2)+,D1
  3992.     IF    DEEBUG
  3993.     BRA    DEBUG
  3994.     ELSE
  3995.     JMP    ([A3,D1.W*4])
  3996.     ENDIF
  3997.  
  3998. E21:    MOVE.W    (A2)+,D1
  3999.     IF    DEEBUG
  4000.     BRA    DEBUG
  4001.     ELSE
  4002.     JMP    ([A3,D1.W*4])
  4003.     ENDIF
  4004.  
  4005. MAINE3:                ; EX (SP),HL
  4006.     MOVE.W    D2,D7
  4007.     MOVE.W    (A4),D2
  4008.     ROL.W    #8,D2
  4009.     ROL.W    #8,D7
  4010.     MOVE.W    D7,(A4)
  4011.     SUBQ.L    #1,A2
  4012.     MOVE.W    (A2)+,D1
  4013.     IF    DEEBUG
  4014.     BRA    DEBUG
  4015.     ELSE
  4016.     JMP    ([A3,D1.W*4])
  4017.     ENDIF
  4018.  
  4019. MAINE4:                ; CALL PO,XXXX
  4020.     ROL.W    #8,D1
  4021.     MOVE.B    (A2)+,D1
  4022.     ROL.W    #8,D1
  4023.     MOVE.W    D4,CCR
  4024.     BVS.B    E41
  4025.     SUBA.L    A0,A2
  4026.     MOVE.L    A2,D7
  4027.     ROL.W    #8,D7
  4028.     MOVE.W    D7,-(A4)
  4029.     MOVE.L    A0,A2
  4030.     MOVE.W    D1,D7
  4031.     ADDA.L    D7,A2
  4032.     MOVE.W    (A2)+,D1
  4033.     IF    DEEBUG
  4034.     BRA    DEBUG
  4035.     ELSE
  4036.     JMP    ([A3,D1.W*4])
  4037.     ENDIF
  4038.  
  4039. E41:    MOVE.W    (A2)+,D1
  4040.     IF    DEEBUG
  4041.     BRA    DEBUG
  4042.     ELSE
  4043.     JMP    ([A3,D1.W*4])
  4044.     ENDIF
  4045.  
  4046. MAINE5:                ; PUSH HL
  4047.     ROL.W    #8,D2
  4048.     MOVE.W    D2,-(A4)
  4049.     ROL.W    #8,D2
  4050.     SUBQ.L    #1,A2
  4051.     MOVE.W    (A2)+,D1
  4052.     IF    DEEBUG
  4053.     BRA    DEBUG
  4054.     ELSE
  4055.     JMP    ([A3,D1.W*4])
  4056.     ENDIF
  4057.  
  4058. MAINE6:                ; AND X
  4059.     MOVE.W    D4,CCR
  4060.     AND.B    D1,D0
  4061.     MOVE.W    CCR,D4
  4062.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO PARITY TABLE
  4063.     OR.B    (A6,D0.W),D4    ; SET V FLG TO PARITY TABLE VALUE
  4064.     ANDI.W    #$EE,D4        ; CLEAR C AND X
  4065.     MOVE.B    #$10,D5        ; SET EXTENDED Z80 FLG TO N=0 H=1
  4066.     MOVE.W    (A2)+,D1
  4067.     IF    DEEBUG
  4068.     BRA    DEBUG
  4069.     ELSE
  4070.     JMP    ([A3,D1.W*4])
  4071.     ENDIF
  4072.  
  4073. MAINE7:                ; RST 20
  4074.     SUBQ.L    #1,A2
  4075.     SUBA.L    A0,A2
  4076.     MOVE.W    A2,D7
  4077.     ROL.W    #8,D7
  4078.     MOVE.W    D7,-(A4)
  4079.     MOVE.L    A0,A2
  4080.     ADDA.L    #$20,A2
  4081.     MOVE.W    (A2)+,D1
  4082.     IF    DEEBUG
  4083.     BRA    DEBUG
  4084.     ELSE
  4085.     JMP    ([A3,D1.W*4])
  4086.     ENDIF
  4087.  
  4088. MAINE8:                ; RET PE
  4089.     MOVE.W    D4,CCR
  4090.     BVC.B    E81
  4091.     MOVEQ    #0,D7
  4092.     MOVE.W    (A4)+,D7
  4093.     ROL.W    #8,D7
  4094.     MOVE.L    A0,A2
  4095.     ADDA.L    D7,A2
  4096.     MOVE.W    (A2)+,D1
  4097.     IF    DEEBUG
  4098.     BRA    DEBUG
  4099.     ELSE
  4100.     JMP    ([A3,D1.W*4])
  4101.     ENDIF
  4102.  
  4103. E81:    SUBQ.L    #1,A2
  4104.     MOVE.W    (A2)+,D1
  4105.     IF    DEEBUG
  4106.     BRA    DEBUG
  4107.     ELSE
  4108.     JMP    ([A3,D1.W*4])
  4109.     ENDIF
  4110.  
  4111. MAINE9:                ; JP (HL)
  4112.     MOVE.L    A0,A2
  4113.     MOVEQ    #0,D1
  4114.     MOVE.W    D2,D1
  4115.     ADDA.L    D1,A2
  4116.     MOVE.W    (A2)+,D1
  4117.     IF    DEEBUG
  4118.     BRA    DEBUG
  4119.     ELSE
  4120.     JMP    ([A3,D1.W*4])
  4121.     ENDIF
  4122.  
  4123. MAINEA:                ; JP PE,XXXX
  4124.     ROL.W    #8,D1
  4125.     MOVE.B    (A2)+,D1
  4126.     ROL.W    #8,D1
  4127.     MOVE.W    D4,CCR
  4128.     BVC.B    EA1
  4129.     MOVEQ    #0,D7
  4130.     MOVE.W    D1,D7
  4131.     MOVE.L    A0,A2
  4132.     ADDA.L    D7,A2
  4133.     MOVE.W    (A2)+,D1
  4134.     IF    DEEBUG
  4135.     BRA    DEBUG
  4136.     ELSE
  4137.     JMP    ([A3,D1.W*4])
  4138.     ENDIF
  4139.  
  4140. EA1:    MOVE.W    (A2)+,D1
  4141.     IF    DEEBUG
  4142.     BRA    DEBUG
  4143.     ELSE
  4144.     JMP    ([A3,D1.W*4])
  4145.     ENDIF
  4146.  
  4147. MAINEB:                ; EX DE,HL
  4148.     MOVE.W    D2,D1
  4149.     SWAP    D3
  4150.     MOVE.W    D3,D2
  4151.     MOVE.W    D1,D3
  4152.     SWAP    D3
  4153.     SUBQ.L    #1,A2
  4154.     MOVE.W    (A2)+,D1
  4155.     IF    DEEBUG
  4156.     BRA    DEBUG
  4157.     ELSE
  4158.     JMP    ([A3,D1.W*4])
  4159.     ENDIF
  4160.  
  4161. MAINEC:                ; CALL PE,XXXX
  4162.     ROL.W    #8,D1
  4163.     MOVE.B    (A2)+,D1
  4164.     ROL.W    #8,D1
  4165.     MOVE.W    D4,CCR
  4166.     BVC.B    EC1
  4167.     SUBA.L    A0,A2
  4168.     MOVE.L    A2,D7
  4169.     ROL.W    #8,D7
  4170.     MOVE.W    D7,-(A4)
  4171.     MOVE.L    A0,A2
  4172.     MOVE.W    D1,D7
  4173.     ADDA.L    D7,A2
  4174.     MOVE.W    (A2)+,D1
  4175.     IF    DEEBUG
  4176.     BRA    DEBUG
  4177.     ELSE
  4178.     JMP    ([A3,D1.W*4])
  4179.     ENDIF
  4180.  
  4181. EC1:    MOVE.W    (A2)+,D1
  4182.     IF    DEEBUG
  4183.     BRA    DEBUG
  4184.     ELSE
  4185.     JMP    ([A3,D1.W*4])
  4186.     ENDIF
  4187.  
  4188. MAINEE:                ; XOR X
  4189.     MOVE.W    D4,CCR
  4190.     EOR.B    D1,D0
  4191.     MOVE.W    CCR,D4
  4192.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO PARITY TABLE
  4193.     OR.B    (A6,D0.W),D4    ; SET V FLG TO PARITY TABLE VALUE
  4194.     ANDI.W    #$EE,D4        ; CLEAR C AND X
  4195.     MOVEQ.B    #0,D5        ; SET EXTENDED Z80 FLG TO N=0 H=0
  4196.     MOVE.W    (A2)+,D1
  4197.     IF    DEEBUG
  4198.     BRA    DEBUG
  4199.     ELSE
  4200.     JMP    ([A3,D1.W*4])
  4201.     ENDIF
  4202.  
  4203. MAINEF:                ; RST 28
  4204.     SUBQ.L    #1,A2
  4205.     SUBA.L    A0,A2
  4206.     MOVE.W    A2,D7
  4207.     ROL.W    #8,D7
  4208.     MOVE.W    D7,-(A4)
  4209.     MOVE.L    A0,A2
  4210.     ADDA.L    #$28,A2
  4211.     MOVE.W    (A2)+,D1
  4212.     IF    DEEBUG
  4213.     BRA    DEBUG
  4214.     ELSE
  4215.     JMP    ([A3,D1.W*4])
  4216.     ENDIF
  4217.  
  4218. MAINF0:                ; RET P
  4219.     MOVE.W    D4,CCR
  4220.     BMI.B    F01
  4221.     MOVEQ    #0,D7
  4222.     MOVE.W    (A4)+,D7
  4223.     ROL.W    #8,D7
  4224.     MOVE.L    A0,A2
  4225.     ADDA.L    D7,A2
  4226.     MOVE.W    (A2)+,D1
  4227.     IF    DEEBUG
  4228.     BRA    DEBUG
  4229.     ELSE
  4230.     JMP    ([A3,D1.W*4])
  4231.     ENDIF
  4232.  
  4233. F01:    SUBQ.L    #1,A2
  4234.     MOVE.W    (A2)+,D1
  4235.     IF    DEEBUG
  4236.     BRA    DEBUG
  4237.     ELSE
  4238.     JMP    ([A3,D1.W*4])
  4239.     ENDIF
  4240.  
  4241. MAINF1:                ; POP AF
  4242.     MOVE.W    (A4)+,D7
  4243.     MOVE.B    D7,D0        ; -> A REG
  4244.     ROL.W    #8,D7
  4245.     ANDI.W    #$00FF,D7    ; MASK FOR LOOKUP TABLE
  4246.     MOVE.B    $100(A6,D7.W),D4    ; GET 680X0 EQUIV FROM TABLE
  4247.     MOVE.W    D7,D5
  4248.     ANDI.W    #$0012,D5    ; SET H AND N FLAGS
  4249.     SUBQ.L    #1,A2
  4250.     MOVE.W    (A2)+,D1
  4251.     IF    DEEBUG
  4252.     BRA    DEBUG
  4253.     ELSE
  4254.     JMP    ([A3,D1.W*4])
  4255.     ENDIF
  4256.  
  4257. MAINF2:                ; JP P,XXXX
  4258.     ROL.W    #8,D1
  4259.     MOVE.B    (A2)+,D1
  4260.     ROL.W    #8,D1
  4261.     MOVE.W    D4,CCR
  4262.     BMI.B    F21
  4263.     MOVEQ    #0,D7
  4264.     MOVE.W    D1,D7
  4265.     MOVE.L    A0,A2
  4266.     ADDA.L    D7,A2
  4267.     MOVE.W    (A2)+,D1
  4268.     IF    DEEBUG
  4269.     BRA    DEBUG
  4270.     ELSE
  4271.     JMP    ([A3,D1.W*4])
  4272.     ENDIF
  4273.  
  4274. F21:    MOVE.W    (A2)+,D1
  4275.     IF    DEEBUG
  4276.     BRA    DEBUG
  4277.     ELSE
  4278.     JMP    ([A3,D1.W*4])
  4279.     ENDIF
  4280.  
  4281. MAINF3:                ; DI (NOP)
  4282.     SUBQ.L    #1,A2
  4283.     MOVE.W    (A2)+,D1
  4284.     IF    DEEBUG
  4285.     BRA    DEBUG
  4286.     ELSE
  4287.     JMP    ([A3,D1.W*4])
  4288.     ENDIF
  4289.  
  4290. MAINF4:                ; CALL P,XXXX
  4291.     ROL.W    #8,D1
  4292.     MOVE.B    (A2)+,D1
  4293.     ROL.W    #8,D1
  4294.     MOVE.W    D4,CCR
  4295.     BMI.B    F41
  4296.     SUBA.L    A0,A2
  4297.     MOVE.L    A2,D7
  4298.     ROL.W    #8,D7
  4299.     MOVE.W    D7,-(A4)
  4300.     MOVE.L    A0,A2
  4301.     MOVE.W    D1,D7
  4302.     ADDA.L    D7,A2
  4303.     MOVE.W    (A2)+,D1
  4304.     IF    DEEBUG
  4305.     BRA    DEBUG
  4306.     ELSE
  4307.     JMP    ([A3,D1.W*4])
  4308.     ENDIF
  4309.  
  4310. F41:    MOVE.W    (A2)+,D1
  4311.     IF    DEEBUG
  4312.     BRA    DEBUG
  4313.     ELSE
  4314.     JMP    ([A3,D1.W*4])
  4315.     ENDIF
  4316.  
  4317. MAINF5:                ; PUSH AF
  4318.     ANDI.W    #$001F,D4    ; INDEX INTO FLG TABLE
  4319.     MOVE.B    $200(A6,D4.W),D7; GET Z80 FLAGS FROM LOOKUP TABLE
  4320.     OR.B    D5,D7        ; SET H AND N IN FLAGS
  4321.     ROL.W    #8,D7
  4322.     MOVE.B    D0,D7        ; GET A REG
  4323.     MOVE.W    D7,-(A4)    ; SAVE ON STACK
  4324.     SUBQ.L    #1,A2
  4325.     MOVE.W    (A2)+,D1
  4326.     IF    DEEBUG
  4327.     BRA    DEBUG
  4328.     ELSE
  4329.     JMP    ([A3,D1.W*4])
  4330.     ENDIF
  4331.  
  4332. MAINF6:                ; OR X
  4333.     MOVE.W    D4,CCR
  4334.     OR.B    D1,D0
  4335.     MOVE.W    CCR,D4
  4336.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO PARITY TABLE
  4337.     OR.B    (A6,D0.W),D4    ; SET V FLG TO PARITY TABLE VALUE
  4338.     ANDI.W    #$EE,D4        ; CLEAR C AND X
  4339.     MOVEQ.B    #0,D5        ; SET EXTENDED Z80 FLG TO N=0 H=0
  4340.     MOVE.W    (A2)+,D1
  4341.     IF    DEEBUG
  4342.     BRA    DEBUG
  4343.     ELSE
  4344.     JMP    ([A3,D1.W*4])
  4345.     ENDIF
  4346.  
  4347. MAINF7:                ; RST 30
  4348.     SUBQ.L    #1,A2
  4349.     SUBA.L    A0,A2
  4350.     MOVE.W    A2,D7
  4351.     ROL.W    #8,D7
  4352.     MOVE.W    D7,-(A4)
  4353.     MOVE.L    A0,A2
  4354.     ADDA.L    #$30,A2
  4355.     MOVE.W    (A2)+,D1
  4356.     IF    DEEBUG
  4357.     BRA    DEBUG
  4358.     ELSE
  4359.     JMP    ([A3,D1.W*4])
  4360.     ENDIF
  4361.  
  4362. MAINF8:                ; RET M
  4363.     MOVE.W    D4,CCR
  4364.     BPL.B    F81
  4365.     MOVEQ    #0,D7
  4366.     MOVE.W    (A4)+,D7
  4367.     ROL.W    #8,D7
  4368.     MOVE.L    A0,A2
  4369.     ADDA.L    D7,A2
  4370.     MOVE.W    (A2)+,D1
  4371.     IF    DEEBUG
  4372.     BRA    DEBUG
  4373.     ELSE
  4374.     JMP    ([A3,D1.W*4])
  4375.     ENDIF
  4376.  
  4377. F81:    SUBQ.L    #1,A2
  4378.     MOVE.W    (A2)+,D1
  4379.     IF    DEEBUG
  4380.     BRA    DEBUG
  4381.     ELSE
  4382.     JMP    ([A3,D1.W*4])
  4383.     ENDIF
  4384.  
  4385. MAINF9:                ; LD SP,HL
  4386.     MOVE.L    A0,A4
  4387.     MOVEQ    #0,D7
  4388.     MOVE.W    D2,D7
  4389.     ADDA.L    D7,A4
  4390.     SUBQ.L    #1,A2
  4391.     MOVE.W    (A2)+,D1
  4392.     IF    DEEBUG
  4393.     BRA    DEBUG
  4394.     ELSE
  4395.     JMP    ([A3,D1.W*4])
  4396.     ENDIF
  4397.  
  4398. MAINFA:                ; JP M,XXXX
  4399.     ROL.W    #8,D1
  4400.     MOVE.B    (A2)+,D1
  4401.     ROL.W    #8,D1
  4402.     MOVE.W    D4,CCR
  4403.     BPL.B    FA1
  4404.     MOVEQ    #0,D7
  4405.     MOVE.W    D1,D7
  4406.     MOVE.L    A0,A2
  4407.     ADDA.L    D7,A2
  4408.     MOVE.W    (A2)+,D1
  4409.     IF    DEEBUG
  4410.     BRA    DEBUG
  4411.     ELSE
  4412.     JMP    ([A3,D1.W*4])
  4413.     ENDIF
  4414.  
  4415. FA1:    MOVE.W    (A2)+,D1
  4416.     IF    DEEBUG
  4417.     BRA    DEBUG
  4418.     ELSE
  4419.     JMP    ([A3,D1.W*4])
  4420.     ENDIF
  4421.  
  4422. MAINFB:                ; EI (NOP)
  4423.     SUBQ.L    #1,A2
  4424.     MOVE.W    (A2)+,D1
  4425.     IF    DEEBUG
  4426.     BRA    DEBUG
  4427.     ELSE
  4428.     JMP    ([A3,D1.W*4])
  4429.     ENDIF
  4430.  
  4431. MAINFC:                ; CALL M,XXXX
  4432.     ROL.W    #8,D1
  4433.     MOVE.B    (A2)+,D1
  4434.     ROL.W    #8,D1
  4435.     MOVE.W    D4,CCR
  4436.     BPL.B    FC1
  4437.     SUBA.L    A0,A2
  4438.     MOVE.L    A2,D7
  4439.     ROL.W    #8,D7
  4440.     MOVE.W    D7,-(A4)
  4441.     MOVE.L    A0,A2
  4442.     MOVE.W    D1,D7
  4443.     ADDA.L    D7,A2
  4444.     MOVE.W    (A2)+,D1
  4445.     IF    DEEBUG
  4446.     BRA    DEBUG
  4447.     ELSE
  4448.     JMP    ([A3,D1.W*4])
  4449.     ENDIF
  4450.  
  4451. FC1:    MOVE.W    (A2)+,D1
  4452.     IF    DEEBUG
  4453.     BRA    DEBUG
  4454.     ELSE
  4455.     JMP    ([A3,D1.W*4])
  4456.     ENDIF
  4457.  
  4458. MAINFE:                ; CP X
  4459.     MOVE.B    D0,D6
  4460.     MOVE.W    D4,CCR
  4461.     SUB.B    D1,D6
  4462.     MOVE.W    CCR,D4
  4463.     ANDI.W    #$00FF,D6    ; EXT D6 FOR INDEX INTO SUB TABLE
  4464.     MOVE.B    $320(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  4465.     MOVE.W    (A2)+,D1
  4466.     IF    DEEBUG
  4467.     BRA    DEBUG
  4468.     ELSE
  4469.     JMP    ([A3,D1.W*4])
  4470.     ENDIF
  4471.  
  4472. MAINFF:                ; RST 38
  4473.     SUBQ.L    #1,A2
  4474.     SUBA.L    A0,A2
  4475.     MOVE.W    A2,D7
  4476.     ROL.W    #8,D7
  4477.     MOVE.W    D7,-(A4)
  4478.     MOVE.L    A0,A2
  4479.     ADDA.L    #$38,A2
  4480.     MOVE.W    (A2)+,D1
  4481.     JMP    ([A3,D1.W*4])
  4482.     IF    DEEBUG
  4483.     BRA    DEBUG
  4484.     ELSE
  4485.     JMP    ([A3,D1.W*4])
  4486.     ENDIF
  4487.  
  4488. * CB INSTRUCTIONS
  4489.  
  4490. MCB00:                ; RLC B
  4491.     ROL.W    #8,D3
  4492.     MOVE.W    D4,CCR
  4493.     ROL.B    #1,D3
  4494.     MOVE.W    CCR,D4
  4495.     SCS    D7
  4496.     ANDI.B    #$11,D7        ; SET X = C BIT
  4497.     OR.B    D7,D4
  4498.     MOVE.B    D3,D6
  4499.     ANDI.W    #$00FF,D6    ; EXT D0 FOR INDEX INTO PARITY TABLE
  4500.     OR.B    (A6,D6.W),D4    ; SET V FLG TO PARITY TABLE VALUE
  4501.     MOVEQ.B    #0,D5        ; SET EXTENDED Z80 FLG TO N=0 H=0
  4502.     ROL.W    #8,D3
  4503.     MOVE.W    (A2)+,D1
  4504.     IF    DEEBUG
  4505.     BRA    DEBUG
  4506.     ELSE
  4507.     JMP    ([A3,D1.W*4])
  4508.     ENDIF
  4509.  
  4510. MCB01:                ; RLC C
  4511.     MOVE.W    D4,CCR
  4512.     ROL.B    #1,D3
  4513.     MOVE.W    CCR,D4
  4514.     SCS    D7
  4515.     ANDI.B    #$11,D7
  4516.     OR.B    D7,D4
  4517.     MOVE.B    D3,D6
  4518.     ANDI.W    #$00FF,D6
  4519.     OR.B    (A6,D6.W),D4
  4520.     MOVEQ.B    #0,D5
  4521.     MOVE.W    (A2)+,D1
  4522.     IF    DEEBUG
  4523.     BRA    DEBUG
  4524.     ELSE
  4525.     JMP    ([A3,D1.W*4])
  4526.     ENDIF
  4527.  
  4528. MCB02:                ; RLC D
  4529.     ROL.L    #8,D3
  4530.     MOVE.W    D4,CCR
  4531.     ROL.B    #1,D3
  4532.     MOVE.W    CCR,D4
  4533.     SCS    D7
  4534.     ANDI.B    #$01,D7
  4535.     ROL.B    #4,D7
  4536.     OR.B    D7,D4
  4537.     MOVE.B    D3,D6
  4538.     ANDI.W    #$00FF,D6
  4539.     OR.B    (A6,D6.W),D4
  4540.     MOVEQ.B    #0,D5
  4541.     ROR.L    #8,D3
  4542.     MOVE.W    (A2)+,D1
  4543.     IF    DEEBUG
  4544.     BRA    DEBUG
  4545.     ELSE
  4546.     JMP    ([A3,D1.W*4])
  4547.     ENDIF
  4548.  
  4549. MCB03:                ; RLC E
  4550.     SWAP    D3
  4551.     MOVE.W    D4,CCR
  4552.     ROL.B    #1,D3
  4553.     MOVE.W    CCR,D4
  4554.     SCS    D7
  4555.     ANDI.B    #$01,D7
  4556.     ROL.B    #4,D7
  4557.     OR.B    D7,D4
  4558.     MOVE.B    D3,D6
  4559.     ANDI.W    #$00FF,D6
  4560.     OR.B    (A6,D6.W),D4
  4561.     MOVEQ.B    #0,D5
  4562.     SWAP    D3
  4563.     MOVE.W    (A2)+,D1
  4564.     IF    DEEBUG
  4565.     BRA    DEBUG
  4566.     ELSE
  4567.     JMP    ([A3,D1.W*4])
  4568.     ENDIF
  4569.  
  4570. MCB04:                ; RLC H
  4571.     ROL.W    #8,D2
  4572.     MOVE.W    D4,CCR
  4573.     ROL.B    #1,D2
  4574.     MOVE.W    CCR,D4
  4575.     SCS    D7
  4576.     ANDI.B    #$01,D7
  4577.     ROL.B    #4,D7
  4578.     OR.B    D7,D4
  4579.     MOVE.B    D2,D6
  4580.     ANDI.W    #$00FF,D6
  4581.     OR.B    (A6,D6.W),D4
  4582.     MOVEQ.B    #0,D5
  4583.     ROL.W    #8,D2
  4584.     MOVE.W    (A2)+,D1
  4585.     IF    DEEBUG
  4586.     BRA    DEBUG
  4587.     ELSE
  4588.     JMP    ([A3,D1.W*4])
  4589.     ENDIF
  4590.  
  4591. MCB05:                ; RLC L
  4592.     MOVE.W    D4,CCR
  4593.     ROL.B    #1,D2
  4594.     MOVE.W    CCR,D4
  4595.     SCS    D7
  4596.     ANDI.B    #$01,D7
  4597.     ROL.B    #4,D7
  4598.     OR.B    D7,D4
  4599.     MOVE.B    D2,D6
  4600.     ANDI.W    #$00FF,D6
  4601.     OR.B    (A6,D6.W),D4
  4602.     MOVEQ.B    #0,D5
  4603.     MOVE.W    (A2)+,D1
  4604.     IF    DEEBUG
  4605.     BRA    DEBUG
  4606.     ELSE
  4607.     JMP    ([A3,D1.W*4])
  4608.     ENDIF
  4609.  
  4610. MCB06:                ; RLC (HL)
  4611.     MOVEQ    #0,D1
  4612.     MOVE.W    D2,D1
  4613.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  4614.     BCS.B    .L1
  4615.     MOVE.B    (A0,D1.L),D6
  4616.     MOVE.W    D4,CCR
  4617.     ROL.B    #1,D6
  4618.     MOVE.W    CCR,D4
  4619.     SCS    D7
  4620.     ANDI.B    #$01,D7
  4621.     ROL.B    #4,D7
  4622.     OR.B    D7,D4
  4623.     ANDI.W    #$00FF,D6
  4624.     OR.B    (A6,D6.W),D4
  4625.     MOVEQ.B    #0,D5
  4626.     MOVE.B    D6,(A0,D1.L)
  4627.     MOVE.W    (A2)+,D1
  4628.     IF    DEEBUG
  4629.     BRA    DEBUG
  4630.     ELSE
  4631.     JMP    ([A3,D1.W*4])
  4632.     ENDIF
  4633. .L1
  4634.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  4635.     BHI.B    .L2
  4636.     MOVE.B    (A0,D1.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER (HL)
  4637.     ROL.B    #1,D6
  4638.     MOVE.W    CCR,D4
  4639.     SCS    D7
  4640.     ANDI.B    #$01,D7
  4641.     ROL.B    #4,D7
  4642.     OR.B    D7,D4
  4643.     ANDI.W    #$00FF,D6
  4644.     OR.B    (A6,D6.W),D4
  4645.     MOVEQ.B    #0,D5
  4646.     MOVE.W    (A2)+,D1
  4647.     IF    DEEBUG
  4648.     BRA    DEBUG
  4649.     ELSE
  4650.     JMP    ([A3,D1.W*4])
  4651.     ENDIF
  4652. .L2
  4653.     MOVE.B    (A0,D1.L),D6
  4654.     MOVE.W    D4,CCR
  4655.     ROL.B    #1,D6
  4656.     MOVE.W    CCR,D4
  4657.     SCS    D7
  4658.     ANDI.B    #$01,D7
  4659.     ROL.B    #4,D7
  4660.     OR.B    D7,D4
  4661.     ANDI.W    #$00FF,D6
  4662.     OR.B    (A6,D6.W),D4
  4663.     MOVEQ.B    #0,D5
  4664.     MOVE.B    D6,(A0,D1.L)
  4665.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  4666.     MOVE.W    (A2)+,D1
  4667.     IF    DEEBUG
  4668.     BRA    DEBUG
  4669.     ELSE
  4670.     JMP    ([A3,D1.W*4])
  4671.     ENDIF
  4672.  
  4673. MCB07:                ; RLC A
  4674.     MOVE.W    D4,CCR
  4675.     ROL.B    #1,D0
  4676.     MOVE.W    CCR,D4
  4677.     SCS    D7
  4678.     ANDI.B    #$01,D7
  4679.     ROL.B    #4,D7
  4680.     OR.B    D7,D4
  4681.     ANDI.W    #$00FF,D0
  4682.     OR.B    (A6,D0.W),D4
  4683.     MOVEQ.B    #0,D5
  4684.     MOVE.W    (A2)+,D1
  4685.     IF    DEEBUG
  4686.     BRA    DEBUG
  4687.     ELSE
  4688.     JMP    ([A3,D1.W*4])
  4689.     ENDIF
  4690.  
  4691. MCB08:                ; RRC B
  4692.     ROL.W    #8,D3
  4693.     MOVE.W    D4,CCR
  4694.     ROR.B    #1,D3
  4695.     MOVE.W    CCR,D4
  4696.     SCS    D7
  4697.     ANDI.B    #$01,D7
  4698.     ROL.B    #4,D7
  4699.     OR.B    D7,D4
  4700.     MOVE.B    D3,D6
  4701.     ANDI.W    #$00FF,D6
  4702.     OR.B    (A6,D6.W),D4
  4703.     MOVEQ.B    #0,D5
  4704.     ROL.W    #8,D3
  4705.     MOVE.W    (A2)+,D1
  4706.     IF    DEEBUG
  4707.     BRA    DEBUG
  4708.     ELSE
  4709.     JMP    ([A3,D1.W*4])
  4710.     ENDIF
  4711.  
  4712. MCB09:                ; RRC C
  4713.     MOVE.W    D4,CCR
  4714.     ROR.B    #1,D3
  4715.     MOVE.W    CCR,D4
  4716.     SCS    D7
  4717.     ANDI.B    #$01,D7
  4718.     ROL.B    #4,D7
  4719.     OR.B    D7,D4
  4720.     MOVE.B    D3,D6
  4721.     ANDI.W    #$00FF,D6
  4722.     OR.B    (A6,D6.W),D4
  4723.     MOVEQ.B    #0,D5
  4724.     MOVE.W    (A2)+,D1
  4725.     IF    DEEBUG
  4726.     BRA    DEBUG
  4727.     ELSE
  4728.     JMP    ([A3,D1.W*4])
  4729.     ENDIF
  4730.  
  4731. MCB0A:                ; RRC D
  4732.     ROL.L    #8,D3
  4733.     MOVE.W    D4,CCR
  4734.     ROR.B    #1,D3
  4735.     MOVE.W    CCR,D4
  4736.     SCS    D7
  4737.     ANDI.B    #$01,D7
  4738.     ROL.B    #4,D7
  4739.     OR.B    D7,D4
  4740.     MOVE.B    D3,D6
  4741.     ANDI.W    #$00FF,D6
  4742.     OR.B    (A6,D6.W),D4
  4743.     MOVEQ.B    #0,D5
  4744.     ROR.L    #8,D3
  4745.     MOVE.W    (A2)+,D1
  4746.     IF    DEEBUG
  4747.     BRA    DEBUG
  4748.     ELSE
  4749.     JMP    ([A3,D1.W*4])
  4750.     ENDIF
  4751.  
  4752. MCB0B:                ; RRC E
  4753.     SWAP    D3
  4754.     MOVE.W    D4,CCR
  4755.     ROR.B    #1,D3
  4756.     MOVE.W    CCR,D4
  4757.     SCS    D7
  4758.     ANDI.B    #$01,D7
  4759.     ROL.B    #4,D7
  4760.     OR.B    D7,D4
  4761.     MOVE.B    D3,D6
  4762.     ANDI.W    #$00FF,D6
  4763.     OR.B    (A6,D6.W),D4
  4764.     MOVEQ.B    #0,D5
  4765.     SWAP    D3
  4766.     MOVE.W    (A2)+,D1
  4767.     IF    DEEBUG
  4768.     BRA    DEBUG
  4769.     ELSE
  4770.     JMP    ([A3,D1.W*4])
  4771.     ENDIF
  4772.  
  4773. MCB0C:                ; RRC H
  4774.     ROL.W    #8,D2
  4775.     MOVE.W    D4,CCR
  4776.     ROR.B    #1,D2
  4777.     MOVE.W    CCR,D4
  4778.     SCS    D7
  4779.     ANDI.B    #$01,D7
  4780.     ROL.B    #4,D7
  4781.     OR.B    D7,D4
  4782.     MOVE.B    D2,D6
  4783.     ANDI.W    #$00FF,D6
  4784.     OR.B    (A6,D6.W),D4
  4785.     MOVEQ.B    #0,D5
  4786.     ROL.W    #8,D2
  4787.     MOVE.W    (A2)+,D1
  4788.     IF    DEEBUG
  4789.     BRA    DEBUG
  4790.     ELSE
  4791.     JMP    ([A3,D1.W*4])
  4792.     ENDIF
  4793.  
  4794. MCB0D:                ; RRC L
  4795.     MOVE.W    D4,CCR
  4796.     ROR.B    #1,D2
  4797.     MOVE.W    CCR,D4
  4798.     SCS    D7
  4799.     ANDI.B    #$01,D7
  4800.     ROL.B    #4,D7
  4801.     OR.B    D7,D4
  4802.     MOVE.B    D2,D6
  4803.     ANDI.W    #$00FF,D6
  4804.     OR.B    (A6,D6.W),D4
  4805.     MOVEQ.B    #0,D5
  4806.     MOVE.W    (A2)+,D1
  4807.     IF    DEEBUG
  4808.     BRA    DEBUG
  4809.     ELSE
  4810.     JMP    ([A3,D1.W*4])
  4811.     ENDIF
  4812.  
  4813. MCB0E:                ; RRC (HL)
  4814.     MOVEQ    #0,D1
  4815.     MOVE.W    D2,D1
  4816.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  4817.     BCS.B    .L1
  4818.     MOVE.B    (A0,D1.L),D6
  4819.     MOVE.W    D4,CCR
  4820.     ROR.B    #1,D6
  4821.     MOVE.W    CCR,D4
  4822.     SCS    D7
  4823.     ANDI.B    #$01,D7
  4824.     ROL.B    #4,D7
  4825.     OR.B    D7,D4
  4826.     ANDI.W    #$00FF,D6
  4827.     OR.B    (A6,D6.W),D4
  4828.     MOVEQ.B    #0,D5
  4829.     MOVE.B    D6,(A0,D1.L)
  4830.     MOVE.W    (A2)+,D1
  4831.     IF    DEEBUG
  4832.     BRA    DEBUG
  4833.     ELSE
  4834.     JMP    ([A3,D1.W*4])
  4835.     ENDIF
  4836. .L1
  4837.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  4838.     BHI.B    .L2
  4839.     MOVE.B    (A0,D1.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER (HL)
  4840.     ROR.B    #1,D6
  4841.     MOVE.W    CCR,D4
  4842.     SCS    D7
  4843.     ANDI.B    #$01,D7
  4844.     ROL.B    #4,D7
  4845.     OR.B    D7,D4
  4846.     ANDI.W    #$00FF,D6
  4847.     OR.B    (A6,D6.W),D4
  4848.     MOVEQ.B    #0,D5
  4849.     MOVE.W    (A2)+,D1
  4850.     IF    DEEBUG
  4851.     BRA    DEBUG
  4852.     ELSE
  4853.     JMP    ([A3,D1.W*4])
  4854.     ENDIF
  4855. .L2
  4856.     MOVE.B    (A0,D1.L),D6
  4857.     MOVE.W    D4,CCR
  4858.     ROR.B    #1,D6
  4859.     MOVE.W    CCR,D4
  4860.     SCS    D7
  4861.     ANDI.B    #$01,D7
  4862.     ROL.B    #4,D7
  4863.     OR.B    D7,D4
  4864.     ANDI.W    #$00FF,D6
  4865.     OR.B    (A6,D6.W),D4
  4866.     MOVEQ.B    #0,D5
  4867.     MOVE.B    D6,(A0,D1.L)
  4868.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  4869.     MOVE.W    (A2)+,D1
  4870.     IF    DEEBUG
  4871.     BRA    DEBUG
  4872.     ELSE
  4873.     JMP    ([A3,D1.W*4])
  4874.     ENDIF
  4875.  
  4876. MCB0F:                ; RRC A
  4877.     MOVE.W    D4,CCR
  4878.     ROR.B    #1,D0
  4879.     MOVE.W    CCR,D4
  4880.     SCS    D7
  4881.     ANDI.B    #$01,D7
  4882.     ROL.B    #4,D7
  4883.     OR.B    D7,D4
  4884.     ANDI.W    #$00FF,D0
  4885.     OR.B    (A6,D0.W),D4
  4886.     MOVEQ.B    #0,D5
  4887.     MOVE.W    (A2)+,D1
  4888.     IF    DEEBUG
  4889.     BRA    DEBUG
  4890.     ELSE
  4891.     JMP    ([A3,D1.W*4])
  4892.     ENDIF
  4893.  
  4894. MCB10:                ; RL B
  4895.     ROL.W    #8,D3
  4896.     MOVE.W    D4,CCR
  4897.     ROXL.B    #1,D3
  4898.     MOVE.W    CCR,D4
  4899.     SCS    D7
  4900.     ANDI.B    #$01,D7
  4901.     ROL.B    #4,D7
  4902.     OR.B    D7,D4
  4903.     MOVE.B    D3,D6
  4904.     ANDI.W    #$00FF,D6
  4905.     OR.B    (A6,D6.W),D4
  4906.     MOVEQ.B    #0,D5
  4907.     ROL.W    #8,D3
  4908.     MOVE.W    (A2)+,D1
  4909.     IF    DEEBUG
  4910.     BRA    DEBUG
  4911.     ELSE
  4912.     JMP    ([A3,D1.W*4])
  4913.     ENDIF
  4914.  
  4915. MCB11:                ; RL C
  4916.     MOVE.W    D4,CCR
  4917.     ROXL.B    #1,D3
  4918.     MOVE.W    CCR,D4
  4919.     SCS    D7
  4920.     ANDI.B    #$01,D7
  4921.     ROL.B    #4,D7
  4922.     OR.B    D7,D4
  4923.     MOVE.B    D3,D6
  4924.     ANDI.W    #$00FF,D6
  4925.     OR.B    (A6,D6.W),D4
  4926.     MOVEQ.B    #0,D5
  4927.     MOVE.W    (A2)+,D1
  4928.     IF    DEEBUG
  4929.     BRA    DEBUG
  4930.     ELSE
  4931.     JMP    ([A3,D1.W*4])
  4932.     ENDIF
  4933.  
  4934. MCB12:                ; RL D
  4935.     ROL.L    #8,D3
  4936.     MOVE.W    D4,CCR
  4937.     ROXL.B    #1,D3
  4938.     MOVE.W    CCR,D4
  4939.     SCS    D7
  4940.     ANDI.B    #$01,D7
  4941.     ROL.B    #4,D7
  4942.     OR.B    D7,D4
  4943.     MOVE.B    D3,D6
  4944.     ANDI.W    #$00FF,D6
  4945.     OR.B    (A6,D6.W),D4
  4946.     MOVEQ.B    #0,D5
  4947.     ROR.L    #8,D3
  4948.     MOVE.W    (A2)+,D1
  4949.     IF    DEEBUG
  4950.     BRA    DEBUG
  4951.     ELSE
  4952.     JMP    ([A3,D1.W*4])
  4953.     ENDIF
  4954.  
  4955. MCB13:                ; RL E
  4956.     SWAP    D3
  4957.     MOVE.W    D4,CCR
  4958.     ROXL.B    #1,D3
  4959.     MOVE.W    CCR,D4
  4960.     SCS    D7
  4961.     ANDI.B    #$01,D7
  4962.     ROL.B    #4,D7
  4963.     OR.B    D7,D4
  4964.     MOVE.B    D3,D6
  4965.     ANDI.W    #$00FF,D6
  4966.     OR.B    (A6,D6.W),D4
  4967.     MOVEQ.B    #0,D5
  4968.     SWAP    D3
  4969.     MOVE.W    (A2)+,D1
  4970.     IF    DEEBUG
  4971.     BRA    DEBUG
  4972.     ELSE
  4973.     JMP    ([A3,D1.W*4])
  4974.     ENDIF
  4975.  
  4976. MCB14:                ; RL H
  4977.     ROL.W    #8,D2
  4978.     MOVE.W    D4,CCR
  4979.     ROXL.B    #1,D2
  4980.     MOVE.W    CCR,D4
  4981.     SCS    D7
  4982.     ANDI.B    #$01,D7
  4983.     ROL.B    #4,D7
  4984.     OR.B    D7,D4
  4985.     MOVE.B    D2,D6
  4986.     ANDI.W    #$00FF,D6
  4987.     OR.B    (A6,D6.W),D4
  4988.     MOVEQ.B    #0,D5
  4989.     ROL.W    #8,D2
  4990.     MOVE.W    (A2)+,D1
  4991.     IF    DEEBUG
  4992.     BRA    DEBUG
  4993.     ELSE
  4994.     JMP    ([A3,D1.W*4])
  4995.     ENDIF
  4996.  
  4997. MCB15:                ; RL L
  4998.     MOVE.W    D4,CCR
  4999.     ROXL.B    #1,D2
  5000.     MOVE.W    CCR,D4
  5001.     SCS    D7
  5002.     ANDI.B    #$01,D7
  5003.     ROL.B    #4,D7
  5004.     OR.B    D7,D4
  5005.     MOVE.B    D2,D6
  5006.     ANDI.W    #$00FF,D6
  5007.     OR.B    (A6,D6.W),D4
  5008.     MOVEQ.B    #0,D5
  5009.     MOVE.W    (A2)+,D1
  5010.     IF    DEEBUG
  5011.     BRA    DEBUG
  5012.     ELSE
  5013.     JMP    ([A3,D1.W*4])
  5014.     ENDIF
  5015.  
  5016. MCB16:                ; RL (HL)
  5017.     MOVEQ    #0,D1
  5018.     MOVE.W    D2,D1
  5019.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  5020.     BCS.B    .L1
  5021.     MOVE.B    (A0,D1.L),D6
  5022.     MOVE.W    D4,CCR
  5023.     ROXL.B    #1,D6
  5024.     MOVE.W    CCR,D4
  5025.     SCS    D7
  5026.     ANDI.B    #$01,D7
  5027.     ROL.B    #4,D7
  5028.     OR.B    D7,D4
  5029.     ANDI.W    #$00FF,D6
  5030.     OR.B    (A6,D6.W),D4
  5031.     MOVEQ.B    #0,D5
  5032.     MOVE.B    D6,(A0,D1.L)
  5033.     MOVE.W    (A2)+,D1
  5034.     IF    DEEBUG
  5035.     BRA    DEBUG
  5036.     ELSE
  5037.     JMP    ([A3,D1.W*4])
  5038.     ENDIF
  5039. .L1
  5040.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  5041.     BHI.B    .L2
  5042.     MOVE.B    (A0,D1.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER (HL)
  5043.     ROXL.B    #1,D6
  5044.     MOVE.W    CCR,D4
  5045.     SCS    D7
  5046.     ANDI.B    #$01,D7
  5047.     ROL.B    #4,D7
  5048.     OR.B    D7,D4
  5049.     ANDI.W    #$00FF,D6
  5050.     OR.B    (A6,D6.W),D4
  5051.     MOVEQ.B    #0,D5
  5052.     MOVE.W    (A2)+,D1
  5053.     IF    DEEBUG
  5054.     BRA    DEBUG
  5055.     ELSE
  5056.     JMP    ([A3,D1.W*4])
  5057.     ENDIF
  5058. .L2
  5059.     MOVE.B    (A0,D1.L),D6
  5060.     MOVE.W    D4,CCR
  5061.     ROXL.B    #1,D6
  5062.     MOVE.W    CCR,D4
  5063.     SCS    D7
  5064.     ANDI.B    #$01,D7
  5065.     ROL.B    #4,D7
  5066.     OR.B    D7,D4
  5067.     ANDI.W    #$00FF,D6
  5068.     OR.B    (A6,D6.W),D4
  5069.     MOVEQ.B    #0,D5
  5070.     MOVE.B    D6,(A0,D1.L)
  5071.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  5072.     MOVE.W    (A2)+,D1
  5073.     IF    DEEBUG
  5074.     BRA    DEBUG
  5075.     ELSE
  5076.     JMP    ([A3,D1.W*4])
  5077.     ENDIF
  5078.  
  5079. MCB17:                ; RL A
  5080.     MOVE.W    D4,CCR
  5081.     ROXL.B    #1,D0
  5082.     MOVE.W    CCR,D4
  5083.     SCS    D7
  5084.     ANDI.B    #$01,D7
  5085.     ROL.B    #4,D7
  5086.     OR.B    D7,D4
  5087.     ANDI.W    #$00FF,D0
  5088.     OR.B    (A6,D0.W),D4
  5089.     MOVEQ.B    #0,D5
  5090.     MOVE.W    (A2)+,D1
  5091.     IF    DEEBUG
  5092.     BRA    DEBUG
  5093.     ELSE
  5094.     JMP    ([A3,D1.W*4])
  5095.     ENDIF
  5096.  
  5097. MCB18:                ; RR B
  5098.     ROL.W    #8,D3
  5099.     MOVE.W    D4,CCR
  5100.     ROXR.B    #1,D3
  5101.     MOVE.W    CCR,D4
  5102.     SCS    D7
  5103.     ANDI.B    #$01,D7
  5104.     ROL.B    #4,D7
  5105.     OR.B    D7,D4
  5106.     MOVE.B    D3,D6
  5107.     ANDI.W    #$00FF,D6
  5108.     OR.B    (A6,D6.W),D4
  5109.     MOVEQ.B    #0,D5
  5110.     ROL.W    #8,D3
  5111.     MOVE.W    (A2)+,D1
  5112.     IF    DEEBUG
  5113.     BRA    DEBUG
  5114.     ELSE
  5115.     JMP    ([A3,D1.W*4])
  5116.     ENDIF
  5117.  
  5118. MCB19:                ; RR C
  5119.     MOVE.W    D4,CCR
  5120.     ROXR.B    #1,D3
  5121.     MOVE.W    CCR,D4
  5122.     SCS    D7
  5123.     ANDI.B    #$01,D7
  5124.     ROL.B    #4,D7
  5125.     OR.B    D7,D4
  5126.     MOVE.B    D3,D6
  5127.     ANDI.W    #$00FF,D6
  5128.     OR.B    (A6,D6.W),D4
  5129.     MOVEQ.B    #0,D5
  5130.     MOVE.W    (A2)+,D1
  5131.     IF    DEEBUG
  5132.     BRA    DEBUG
  5133.     ELSE
  5134.     JMP    ([A3,D1.W*4])
  5135.     ENDIF
  5136.  
  5137. MCB1A:                ; RR D
  5138.     ROL.L    #8,D3
  5139.     MOVE.W    D4,CCR
  5140.     ROXR.B    #1,D3
  5141.     MOVE.W    CCR,D4
  5142.     SCS    D7
  5143.     ANDI.B    #$01,D7
  5144.     ROL.B    #4,D7
  5145.     OR.B    D7,D4
  5146.     MOVE.B    D3,D6
  5147.     ANDI.W    #$00FF,D6
  5148.     OR.B    (A6,D6.W),D4
  5149.     MOVEQ.B    #0,D5
  5150.     ROR.L    #8,D3
  5151.     MOVE.W    (A2)+,D1
  5152.     IF    DEEBUG
  5153.     BRA    DEBUG
  5154.     ELSE
  5155.     JMP    ([A3,D1.W*4])
  5156.     ENDIF
  5157.  
  5158. MCB1B:                ; RR E
  5159.     SWAP    D3
  5160.     MOVE.W    D4,CCR
  5161.     ROXR.B    #1,D3
  5162.     MOVE.W    CCR,D4
  5163.     SCS    D7
  5164.     ANDI.B    #$01,D7
  5165.     ROL.B    #4,D7
  5166.     OR.B    D7,D4
  5167.     MOVE.B    D3,D6
  5168.     ANDI.W    #$00FF,D6
  5169.     OR.B    (A6,D6.W),D4
  5170.     MOVEQ.B    #0,D5
  5171.     SWAP    D3
  5172.     MOVE.W    (A2)+,D1
  5173.     IF    DEEBUG
  5174.     BRA    DEBUG
  5175.     ELSE
  5176.     JMP    ([A3,D1.W*4])
  5177.     ENDIF
  5178.  
  5179. MCB1C:                ; RR H
  5180.     ROL.W    #8,D2
  5181.     MOVE.W    D4,CCR
  5182.     ROXR.B    #1,D2
  5183.     MOVE.W    CCR,D4
  5184.     SCS    D7
  5185.     ANDI.B    #$01,D7
  5186.     ROL.B    #4,D7
  5187.     OR.B    D7,D4
  5188.     MOVE.B    D2,D6
  5189.     ANDI.W    #$00FF,D6
  5190.     OR.B    (A6,D6.W),D4
  5191.     MOVEQ.B    #0,D5
  5192.     ROL.W    #8,D2
  5193.     MOVE.W    (A2)+,D1
  5194.     IF    DEEBUG
  5195.     BRA    DEBUG
  5196.     ELSE
  5197.     JMP    ([A3,D1.W*4])
  5198.     ENDIF
  5199.  
  5200. MCB1D:                ; RR L
  5201.     MOVE.W    D4,CCR
  5202.     ROXR.B    #1,D2
  5203.     MOVE.W    CCR,D4
  5204.     SCS    D7
  5205.     ANDI.B    #$01,D7
  5206.     ROL.B    #4,D7
  5207.     OR.B    D7,D4
  5208.     MOVE.B    D2,D6
  5209.     ANDI.W    #$00FF,D6
  5210.     OR.B    (A6,D6.W),D4
  5211.     MOVEQ.B    #0,D5
  5212.     MOVE.W    (A2)+,D1
  5213.     IF    DEEBUG
  5214.     BRA    DEBUG
  5215.     ELSE
  5216.     JMP    ([A3,D1.W*4])
  5217.     ENDIF
  5218.  
  5219. MCB1E:                ; RR (HL)
  5220.     MOVEQ    #0,D1
  5221.     MOVE.W    D2,D1
  5222.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  5223.     BCS.B    .L1
  5224.     MOVE.B    (A0,D1.L),D6
  5225.     MOVE.W    D4,CCR
  5226.     ROXR.B    #1,D6
  5227.     MOVE.W    CCR,D4
  5228.     SCS    D7
  5229.     ANDI.B    #$01,D7
  5230.     ROL.B    #4,D7
  5231.     OR.B    D7,D4
  5232.     ANDI.W    #$00FF,D6
  5233.     OR.B    (A6,D6.W),D4
  5234.     MOVEQ.B    #0,D5
  5235.     MOVE.B    D6,(A0,D1.L)
  5236.     MOVE.W    (A2)+,D1
  5237.     IF    DEEBUG
  5238.     BRA    DEBUG
  5239.     ELSE
  5240.     JMP    ([A3,D1.W*4])
  5241.     ENDIF
  5242. .L1
  5243.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  5244.     BHI.B    .L2
  5245.     MOVE.B    (A0,D1.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER (HL)
  5246.     ROXR.B    #1,D6
  5247.     MOVE.W    CCR,D4
  5248.     SCS    D7
  5249.     ANDI.B    #$01,D7
  5250.     ROL.B    #4,D7
  5251.     OR.B    D7,D4
  5252.     ANDI.W    #$00FF,D6
  5253.     OR.B    (A6,D6.W),D4
  5254.     MOVEQ.B    #0,D5
  5255.     MOVE.W    (A2)+,D1
  5256.     IF    DEEBUG
  5257.     BRA    DEBUG
  5258.     ELSE
  5259.     JMP    ([A3,D1.W*4])
  5260.     ENDIF
  5261. .L2
  5262.     MOVE.B    (A0,D1.L),D6
  5263.     MOVE.W    D4,CCR
  5264.     ROXR.B    #1,D6
  5265.     MOVE.W    CCR,D4
  5266.     SCS    D7
  5267.     ANDI.B    #$01,D7
  5268.     ROL.B    #4,D7
  5269.     OR.B    D7,D4
  5270.     ANDI.W    #$00FF,D6
  5271.     OR.B    (A6,D6.W),D4
  5272.     MOVEQ.B    #0,D5
  5273.     MOVE.B    D6,(A0,D1.L)
  5274.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  5275.     MOVE.W    (A2)+,D1
  5276.     IF    DEEBUG
  5277.     BRA    DEBUG
  5278.     ELSE
  5279.     JMP    ([A3,D1.W*4])
  5280.     ENDIF
  5281.  
  5282. MCB1F:                ; RR A
  5283.     MOVE.W    D4,CCR
  5284.     ROXR.B    #1,D0
  5285.     MOVE.W    CCR,D4
  5286.     SCS    D7
  5287.     ANDI.B    #$01,D7
  5288.     ROL.B    #4,D7
  5289.     OR.B    D7,D4
  5290.     ANDI.W    #$00FF,D0
  5291.     OR.B    (A6,D0.W),D4
  5292.     MOVEQ.B    #0,D5
  5293.     MOVE.W    (A2)+,D1
  5294.     IF    DEEBUG
  5295.     BRA    DEBUG
  5296.     ELSE
  5297.     JMP    ([A3,D1.W*4])
  5298.     ENDIF
  5299.  
  5300. MCB20:                ; SLA B
  5301.     ROL.W    #8,D3
  5302.     MOVE.W    D4,CCR
  5303.     LSL.B    #1,D3
  5304.     MOVE.W    CCR,D4
  5305.     SCS    D7
  5306.     ANDI.B    #$01,D7
  5307.     ROL.B    #4,D7
  5308.     OR.B    D7,D4
  5309.     MOVE.B    D3,D6
  5310.     ANDI.W    #$00FF,D6
  5311.     OR.B    (A6,D6.W),D4
  5312.     MOVEQ.B    #0,D5
  5313.     ROL.W    #8,D3
  5314.     MOVE.W    (A2)+,D1
  5315.     IF    DEEBUG
  5316.     BRA    DEBUG
  5317.     ELSE
  5318.     JMP    ([A3,D1.W*4])
  5319.     ENDIF
  5320.  
  5321. MCB21:                ; SLA C
  5322.     MOVE.W    D4,CCR
  5323.     LSL.B    #1,D3
  5324.     MOVE.W    CCR,D4
  5325.     SCS    D7
  5326.     ANDI.B    #$01,D7
  5327.     ROL.B    #4,D7
  5328.     OR.B    D7,D4
  5329.     MOVE.B    D3,D6
  5330.     ANDI.W    #$00FF,D6
  5331.     OR.B    (A6,D6.W),D4
  5332.     MOVEQ.B    #0,D5
  5333.     MOVE.W    (A2)+,D1
  5334.     IF    DEEBUG
  5335.     BRA    DEBUG
  5336.     ELSE
  5337.     JMP    ([A3,D1.W*4])
  5338.     ENDIF
  5339.  
  5340. MCB22:                ; SLA D
  5341.     ROL.L    #8,D3
  5342.     MOVE.W    D4,CCR
  5343.     LSL.B    #1,D3
  5344.     MOVE.W    CCR,D4
  5345.     SCS    D7
  5346.     ANDI.B    #$01,D7
  5347.     ROL.B    #4,D7
  5348.     OR.B    D7,D4
  5349.     MOVE.B    D3,D6
  5350.     ANDI.W    #$00FF,D6
  5351.     OR.B    (A6,D6.W),D4
  5352.     MOVEQ.B    #0,D5
  5353.     ROR.L    #8,D3
  5354.     MOVE.W    (A2)+,D1
  5355.     IF    DEEBUG
  5356.     BRA    DEBUG
  5357.     ELSE
  5358.     JMP    ([A3,D1.W*4])
  5359.     ENDIF
  5360.  
  5361. MCB23:                ; SLA E
  5362.     SWAP    D3
  5363.     MOVE.W    D4,CCR
  5364.     LSL.B    #1,D3
  5365.     MOVE.W    CCR,D4
  5366.     SCS    D7
  5367.     ANDI.B    #$01,D7
  5368.     ROL.B    #4,D7
  5369.     OR.B    D7,D4
  5370.     MOVE.B    D3,D6
  5371.     ANDI.W    #$00FF,D6
  5372.     OR.B    (A6,D6.W),D4
  5373.     MOVEQ.B    #0,D5
  5374.     SWAP    D3
  5375.     MOVE.W    (A2)+,D1
  5376.     IF    DEEBUG
  5377.     BRA    DEBUG
  5378.     ELSE
  5379.     JMP    ([A3,D1.W*4])
  5380.     ENDIF
  5381.  
  5382. MCB24:                ; SLA H
  5383.     ROL.W    #8,D2
  5384.     MOVE.W    D4,CCR
  5385.     LSL.B    #1,D2
  5386.     MOVE.W    CCR,D4
  5387.     SCS    D7
  5388.     ANDI.B    #$01,D7
  5389.     ROL.B    #4,D7
  5390.     OR.B    D7,D4
  5391.     MOVE.B    D2,D6
  5392.     ANDI.W    #$00FF,D6
  5393.     OR.B    (A6,D6.W),D4
  5394.     MOVEQ.B    #0,D5
  5395.     ROL.W    #8,D2
  5396.     MOVE.W    (A2)+,D1
  5397.     IF    DEEBUG
  5398.     BRA    DEBUG
  5399.     ELSE
  5400.     JMP    ([A3,D1.W*4])
  5401.     ENDIF
  5402.  
  5403. MCB25:                ; SLA L
  5404.     MOVE.W    D4,CCR
  5405.     LSL.B    #1,D2
  5406.     MOVE.W    CCR,D4
  5407.     SCS    D7
  5408.     ANDI.B    #$01,D7
  5409.     ROL.B    #4,D7
  5410.     OR.B    D7,D4
  5411.     MOVE.B    D2,D6
  5412.     ANDI.W    #$00FF,D6
  5413.     OR.B    (A6,D6.W),D4
  5414.     MOVEQ.B    #0,D5
  5415.     MOVE.W    (A2)+,D1
  5416.     IF    DEEBUG
  5417.     BRA    DEBUG
  5418.     ELSE
  5419.     JMP    ([A3,D1.W*4])
  5420.     ENDIF
  5421.  
  5422. MCB26:                ; SLA (HL)
  5423.     MOVEQ    #0,D1
  5424.     MOVE.W    D2,D1
  5425.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  5426.     BCS.B    .L1
  5427.     MOVE.B    (A0,D1.L),D6
  5428.     MOVE.W    D4,CCR
  5429.     LSL.B    #1,D6
  5430.     MOVE.W    CCR,D4
  5431.     SCS    D7
  5432.     ANDI.B    #$01,D7
  5433.     ROL.B    #4,D7
  5434.     OR.B    D7,D4
  5435.     ANDI.W    #$00FF,D6
  5436.     OR.B    (A6,D6.W),D4
  5437.     MOVEQ.B    #0,D5
  5438.     MOVE.B    D6,(A0,D1.L)
  5439.     MOVE.W    (A2)+,D1
  5440.     IF    DEEBUG
  5441.     BRA    DEBUG
  5442.     ELSE
  5443.     JMP    ([A3,D1.W*4])
  5444.     ENDIF
  5445. .L1
  5446.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  5447.     BHI.B    .L2
  5448.     MOVE.B    (A0,D1.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER (HL)
  5449.     LSL.B    #1,D6
  5450.     MOVE.W    CCR,D4
  5451.     SCS    D7
  5452.     ANDI.B    #$01,D7
  5453.     ROL.B    #4,D7
  5454.     OR.B    D7,D4
  5455.     ANDI.W    #$00FF,D6
  5456.     OR.B    (A6,D6.W),D4
  5457.     MOVEQ.B    #0,D5
  5458.     MOVE.W    (A2)+,D1
  5459.     IF    DEEBUG
  5460.     BRA    DEBUG
  5461.     ELSE
  5462.     JMP    ([A3,D1.W*4])
  5463.     ENDIF
  5464. .L2
  5465.     MOVE.B    (A0,D1.L),D6
  5466.     MOVE.W    D4,CCR
  5467.     LSL.B    #1,D6
  5468.     MOVE.W    CCR,D4
  5469.     SCS    D7
  5470.     ANDI.B    #$01,D7
  5471.     ROL.B    #4,D7
  5472.     OR.B    D7,D4
  5473.     ANDI.W    #$00FF,D6
  5474.     OR.B    (A6,D6.W),D4
  5475.     MOVEQ.B    #0,D5
  5476.     MOVE.B    D6,(A0,D1.L)
  5477.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  5478.     MOVE.W    (A2)+,D1
  5479.     IF    DEEBUG
  5480.     BRA    DEBUG
  5481.     ELSE
  5482.     JMP    ([A3,D1.W*4])
  5483.     ENDIF
  5484.  
  5485. MCB27:                ; SLA A
  5486.     MOVE.W    D4,CCR
  5487.     LSL.B    #1,D0
  5488.     MOVE.W    CCR,D4
  5489.     SCS    D7
  5490.     ANDI.B    #$01,D7
  5491.     ROL.B    #4,D7
  5492.     OR.B    D7,D4
  5493.     ANDI.W    #$00FF,D0
  5494.     OR.B    (A6,D0.W),D4
  5495.     MOVEQ.B    #0,D5
  5496.     MOVE.W    (A2)+,D1
  5497.     IF    DEEBUG
  5498.     BRA    DEBUG
  5499.     ELSE
  5500.     JMP    ([A3,D1.W*4])
  5501.     ENDIF
  5502.  
  5503. MCB28:                ; SRA B
  5504.     ROL.W    #8,D3
  5505.     MOVE.W    D4,CCR
  5506.     ASR.B    #1,D3
  5507.     MOVE.W    CCR,D4
  5508.     SCS    D7
  5509.     ANDI.B    #$01,D7
  5510.     ROL.B    #4,D7
  5511.     OR.B    D7,D4
  5512.     MOVE.B    D3,D6
  5513.     ANDI.W    #$00FF,D6
  5514.     OR.B    (A6,D6.W),D4
  5515.     MOVEQ.B    #0,D5
  5516.     ROL.W    #8,D3
  5517.     MOVE.W    (A2)+,D1
  5518.     IF    DEEBUG
  5519.     BRA    DEBUG
  5520.     ELSE
  5521.     JMP    ([A3,D1.W*4])
  5522.     ENDIF
  5523.  
  5524. MCB29:                ; SRA C
  5525.     MOVE.W    D4,CCR
  5526.     ASR.B    #1,D3
  5527.     MOVE.W    CCR,D4
  5528.     SCS    D7
  5529.     ANDI.B    #$01,D7
  5530.     ROL.B    #4,D7
  5531.     OR.B    D7,D4
  5532.     MOVE.B    D3,D6
  5533.     ANDI.W    #$00FF,D6
  5534.     OR.B    (A6,D6.W),D4
  5535.     MOVEQ.B    #0,D5
  5536.     MOVE.W    (A2)+,D1
  5537.     IF    DEEBUG
  5538.     BRA    DEBUG
  5539.     ELSE
  5540.     JMP    ([A3,D1.W*4])
  5541.     ENDIF
  5542.  
  5543. MCB2A:                ; SRA D
  5544.     ROL.L    #8,D3
  5545.     MOVE.W    D4,CCR
  5546.     ASR.B    #1,D3
  5547.     MOVE.W    CCR,D4
  5548.     SCS    D7
  5549.     ANDI.B    #$01,D7
  5550.     ROL.B    #4,D7
  5551.     OR.B    D7,D4
  5552.     MOVE.B    D3,D6
  5553.     ANDI.W    #$00FF,D6
  5554.     OR.B    (A6,D6.W),D4
  5555.     MOVEQ.B    #0,D5
  5556.     ROR.L    #8,D3
  5557.     MOVE.W    (A2)+,D1
  5558.     IF    DEEBUG
  5559.     BRA    DEBUG
  5560.     ELSE
  5561.     JMP    ([A3,D1.W*4])
  5562.     ENDIF
  5563.  
  5564. MCB2B:                ; SRA E
  5565.     SWAP    D3
  5566.     MOVE.W    D4,CCR
  5567.     ASR.B    #1,D3
  5568.     MOVE.W    CCR,D4
  5569.     SCS    D7
  5570.     ANDI.B    #$01,D7
  5571.     ROL.B    #4,D7
  5572.     OR.B    D7,D4
  5573.     MOVE.B    D3,D6
  5574.     ANDI.W    #$00FF,D6
  5575.     OR.B    (A6,D6.W),D4
  5576.     MOVEQ.B    #0,D5
  5577.     SWAP    D3
  5578.     MOVE.W    (A2)+,D1
  5579.     IF    DEEBUG
  5580.     BRA    DEBUG
  5581.     ELSE
  5582.     JMP    ([A3,D1.W*4])
  5583.     ENDIF
  5584.  
  5585. MCB2C:                ; SRA H
  5586.     ROL.W    #8,D2
  5587.     MOVE.W    D4,CCR
  5588.     ASR.B    #1,D2
  5589.     MOVE.W    CCR,D4
  5590.     SCS    D7
  5591.     ANDI.B    #$01,D7
  5592.     ROL.B    #4,D7
  5593.     OR.B    D7,D4
  5594.     MOVE.B    D2,D6
  5595.     ANDI.W    #$00FF,D6
  5596.     OR.B    (A6,D6.W),D4
  5597.     MOVEQ.B    #0,D5
  5598.     ROL.W    #8,D2
  5599.     MOVE.W    (A2)+,D1
  5600.     IF    DEEBUG
  5601.     BRA    DEBUG
  5602.     ELSE
  5603.     JMP    ([A3,D1.W*4])
  5604.     ENDIF
  5605.  
  5606. MCB2D:                ; SRA L
  5607.     MOVE.W    D4,CCR
  5608.     ASR.B    #1,D2
  5609.     MOVE.W    CCR,D4
  5610.     SCS    D7
  5611.     ANDI.B    #$01,D7
  5612.     ROL.B    #4,D7
  5613.     OR.B    D7,D4
  5614.     MOVE.B    D2,D6
  5615.     ANDI.W    #$00FF,D6
  5616.     OR.B    (A6,D6.W),D4
  5617.     MOVEQ.B    #0,D5
  5618.     MOVE.W    (A2)+,D1
  5619.     IF    DEEBUG
  5620.     BRA    DEBUG
  5621.     ELSE
  5622.     JMP    ([A3,D1.W*4])
  5623.     ENDIF
  5624.  
  5625. MCB2E:                ; SRA (HL)
  5626.     MOVEQ    #0,D1
  5627.     MOVE.W    D2,D1
  5628.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  5629.     BCS.B    .L1
  5630.     MOVE.B    (A0,D1.L),D6
  5631.     MOVE.W    D4,CCR
  5632.     ASR.B    #1,D6
  5633.     MOVE.W    CCR,D4
  5634.     SCS    D7
  5635.     ANDI.B    #$01,D7
  5636.     ROL.B    #4,D7
  5637.     OR.B    D7,D4
  5638.     ANDI.W    #$00FF,D6
  5639.     OR.B    (A6,D6.W),D4
  5640.     MOVEQ.B    #0,D5
  5641.     MOVE.B    D6,(A0,D1.L)
  5642.     MOVE.W    (A2)+,D1
  5643.     IF    DEEBUG
  5644.     BRA    DEBUG
  5645.     ELSE
  5646.     JMP    ([A3,D1.W*4])
  5647.     ENDIF
  5648. .L1
  5649.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  5650.     BHI.B    .L2
  5651.     MOVE.B    (A0,D1.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER (HL)
  5652.     ASR.B    #1,D6
  5653.     MOVE.W    CCR,D4
  5654.     SCS    D7
  5655.     ANDI.B    #$01,D7
  5656.     ROL.B    #4,D7
  5657.     OR.B    D7,D4
  5658.     ANDI.W    #$00FF,D6
  5659.     OR.B    (A6,D6.W),D4
  5660.     MOVEQ.B    #0,D5
  5661.     MOVE.W    (A2)+,D1
  5662.     IF    DEEBUG
  5663.     BRA    DEBUG
  5664.     ELSE
  5665.     JMP    ([A3,D1.W*4])
  5666.     ENDIF
  5667. .L2
  5668.     MOVE.B    (A0,D1.L),D6
  5669.     MOVE.W    D4,CCR
  5670.     ASR.B    #1,D6
  5671.     MOVE.W    CCR,D4
  5672.     SCS    D7
  5673.     ANDI.B    #$01,D7
  5674.     ROL.B    #4,D7
  5675.     OR.B    D7,D4
  5676.     ANDI.W    #$00FF,D6
  5677.     OR.B    (A6,D6.W),D4
  5678.     MOVEQ.B    #0,D5
  5679.     MOVE.B    D6,(A0,D1.L)
  5680.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  5681.     MOVE.W    (A2)+,D1
  5682.     IF    DEEBUG
  5683.     BRA    DEBUG
  5684.     ELSE
  5685.     JMP    ([A3,D1.W*4])
  5686.     ENDIF
  5687.  
  5688. MCB2F:                ; SRA A
  5689.     MOVE.W    D4,CCR
  5690.     ASR.B    #1,D0
  5691.     MOVE.W    CCR,D4
  5692.     SCS    D7
  5693.     ANDI.B    #$01,D7
  5694.     ROL.B    #4,D7
  5695.     OR.B    D7,D4
  5696.     ANDI.W    #$00FF,D0
  5697.     OR.B    (A6,D0.W),D4
  5698.     MOVEQ.B    #0,D5
  5699.     MOVE.W    (A2)+,D1
  5700.     IF    DEEBUG
  5701.     BRA    DEBUG
  5702.     ELSE
  5703.     JMP    ([A3,D1.W*4])
  5704.     ENDIF
  5705.  
  5706. MCB38:                ; SRL B
  5707.     ROL.W    #8,D3
  5708.     MOVE.W    D4,CCR
  5709.     LSR.B    #1,D3
  5710.     MOVE.W    CCR,D4
  5711.     SCS    D7
  5712.     ANDI.B    #$01,D7
  5713.     ROL.B    #4,D7
  5714.     OR.B    D7,D4
  5715.     MOVE.B    D3,D6
  5716.     ANDI.W    #$00FF,D6
  5717.     OR.B    (A6,D6.W),D4
  5718.     MOVEQ.B    #0,D5
  5719.     ROL.W    #8,D3
  5720.     MOVE.W    (A2)+,D1
  5721.     IF    DEEBUG
  5722.     BRA    DEBUG
  5723.     ELSE
  5724.     JMP    ([A3,D1.W*4])
  5725.     ENDIF
  5726.  
  5727. MCB39:                ; SRL C
  5728.     MOVE.W    D4,CCR
  5729.     LSR.B    #1,D3
  5730.     MOVE.W    CCR,D4
  5731.     SCS    D7
  5732.     ANDI.B    #$01,D7
  5733.     ROL.B    #4,D7
  5734.     OR.B    D7,D4
  5735.     MOVE.B    D3,D6
  5736.     ANDI.W    #$00FF,D6
  5737.     OR.B    (A6,D6.W),D4
  5738.     MOVEQ.B    #0,D5
  5739.     MOVE.W    (A2)+,D1
  5740.     IF    DEEBUG
  5741.     BRA    DEBUG
  5742.     ELSE
  5743.     JMP    ([A3,D1.W*4])
  5744.     ENDIF
  5745.  
  5746. MCB3A:                ; SRL D
  5747.     ROL.L    #8,D3
  5748.     MOVE.W    D4,CCR
  5749.     LSR.B    #1,D3
  5750.     MOVE.W    CCR,D4
  5751.     SCS    D7
  5752.     ANDI.B    #$01,D7
  5753.     ROL.B    #4,D7
  5754.     OR.B    D7,D4
  5755.     MOVE.B    D3,D6
  5756.     ANDI.W    #$00FF,D6
  5757.     OR.B    (A6,D6.W),D4
  5758.     MOVEQ.B    #0,D5
  5759.     ROR.L    #8,D3
  5760.     MOVE.W    (A2)+,D1
  5761.     IF    DEEBUG
  5762.     BRA    DEBUG
  5763.     ELSE
  5764.     JMP    ([A3,D1.W*4])
  5765.     ENDIF
  5766.  
  5767. MCB3B:                ; SRL E
  5768.     SWAP    D3
  5769.     MOVE.W    D4,CCR
  5770.     LSR.B    #1,D3
  5771.     MOVE.W    CCR,D4
  5772.     SCS    D7
  5773.     ANDI.B    #$01,D7
  5774.     ROL.B    #4,D7
  5775.     OR.B    D7,D4
  5776.     MOVE.B    D3,D6
  5777.     ANDI.W    #$00FF,D6
  5778.     OR.B    (A6,D6.W),D4
  5779.     MOVEQ.B    #0,D5
  5780.     SWAP    D3
  5781.     MOVE.W    (A2)+,D1
  5782.     IF    DEEBUG
  5783.     BRA    DEBUG
  5784.     ELSE
  5785.     JMP    ([A3,D1.W*4])
  5786.     ENDIF
  5787.  
  5788. MCB3C:                ; SRL H
  5789.     ROL.W    #8,D2
  5790.     MOVE.W    D4,CCR
  5791.     LSR.B    #1,D2
  5792.     MOVE.W    CCR,D4
  5793.     SCS    D7
  5794.     ANDI.B    #$01,D7
  5795.     ROL.B    #4,D7
  5796.     OR.B    D7,D4
  5797.     MOVE.B    D2,D6
  5798.     ANDI.W    #$00FF,D6
  5799.     OR.B    (A6,D6.W),D4
  5800.     MOVEQ.B    #0,D5
  5801.     ROL.W    #8,D2
  5802.     MOVE.W    (A2)+,D1
  5803.     IF    DEEBUG
  5804.     BRA    DEBUG
  5805.     ELSE
  5806.     JMP    ([A3,D1.W*4])
  5807.     ENDIF
  5808.  
  5809. MCB3D:                ; SRL L
  5810.     MOVE.W    D4,CCR
  5811.     LSR.B    #1,D2
  5812.     MOVE.W    CCR,D4
  5813.     SCS    D7
  5814.     ANDI.B    #$01,D7
  5815.     ROL.B    #4,D7
  5816.     OR.B    D7,D4
  5817.     MOVE.B    D2,D6
  5818.     ANDI.W    #$00FF,D6
  5819.     OR.B    (A6,D6.W),D4
  5820.     MOVEQ.B    #0,D5
  5821.     MOVE.W    (A2)+,D1
  5822.     IF    DEEBUG
  5823.     BRA    DEBUG
  5824.     ELSE
  5825.     JMP    ([A3,D1.W*4])
  5826.     ENDIF
  5827.  
  5828. MCB3E:                ; SRL (HL)
  5829.     MOVEQ    #0,D1
  5830.     MOVE.W    D2,D1
  5831.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  5832.     BCS.B    .L1
  5833.     MOVE.B    (A0,D1.L),D6
  5834.     MOVE.W    D4,CCR
  5835.     LSR.B    #1,D6
  5836.     MOVE.W    CCR,D4
  5837.     SCS    D7
  5838.     ANDI.B    #$01,D7
  5839.     ROL.B    #4,D7
  5840.     OR.B    D7,D4
  5841.     ANDI.W    #$00FF,D6
  5842.     OR.B    (A6,D6.W),D4
  5843.     MOVEQ.B    #0,D5
  5844.     MOVE.B    D6,(A0,D1.L)
  5845.     MOVE.W    (A2)+,D1
  5846.     IF    DEEBUG
  5847.     BRA    DEBUG
  5848.     ELSE
  5849.     JMP    ([A3,D1.W*4])
  5850.     ENDIF
  5851. .L1
  5852.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  5853.     BHI.B    .L2
  5854.     MOVE.B    (A0,D1.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER (HL)
  5855.     LSR.B    #1,D6
  5856.     MOVE.W    CCR,D4
  5857.     SCS    D7
  5858.     ANDI.B    #$01,D7
  5859.     ROL.B    #4,D7
  5860.     OR.B    D7,D4
  5861.     ANDI.W    #$00FF,D6
  5862.     OR.B    (A6,D6.W),D4
  5863.     MOVEQ.B    #0,D5
  5864.     MOVE.W    (A2)+,D1
  5865.     IF    DEEBUG
  5866.     BRA    DEBUG
  5867.     ELSE
  5868.     JMP    ([A3,D1.W*4])
  5869.     ENDIF
  5870. .L2
  5871.     MOVE.B    (A0,D1.L),D6
  5872.     MOVE.W    D4,CCR
  5873.     LSR.B    #1,D6
  5874.     MOVE.W    CCR,D4
  5875.     SCS    D7
  5876.     ANDI.B    #$01,D7
  5877.     ROL.B    #4,D7
  5878.     OR.B    D7,D4
  5879.     ANDI.W    #$00FF,D6
  5880.     OR.B    (A6,D6.W),D4
  5881.     MOVEQ.B    #0,D5
  5882.     MOVE.B    D6,(A0,D1.L)
  5883.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  5884.     MOVE.W    (A2)+,D1
  5885.     IF    DEEBUG
  5886.     BRA    DEBUG
  5887.     ELSE
  5888.     JMP    ([A3,D1.W*4])
  5889.     ENDIF
  5890.  
  5891. MCB3F:                ; SRL A
  5892.     MOVE.W    D4,CCR
  5893.     LSR.B    #1,D0
  5894.     MOVE.W    CCR,D4
  5895.     SCS    D7
  5896.     ANDI.B    #$01,D7
  5897.     ROL.B    #4,D7
  5898.     OR.B    D7,D4
  5899.     ANDI.W    #$00FF,D0
  5900.     OR.B    (A6,D0.W),D4
  5901.     MOVEQ.B    #0,D5
  5902.     MOVE.W    (A2)+,D1
  5903.     IF    DEEBUG
  5904.     BRA    DEBUG
  5905.     ELSE
  5906.     JMP    ([A3,D1.W*4])
  5907.     ENDIF
  5908.  
  5909.  
  5910. MCB40:                ; BIT 0,B
  5911.     MOVE.W    D4,CCR
  5912.     BTST    #8,D3
  5913.     MOVE.W    CCR,D4
  5914.     MOVE.W    (A2)+,D1
  5915.     IF    DEEBUG
  5916.     BRA    DEBUG
  5917.     ELSE
  5918.     JMP    ([A3,D1.W*4])
  5919.     ENDIF
  5920.  
  5921. MCB41:                ; BIT 0,C
  5922.     MOVE.W    D4,CCR
  5923.     BTST    #0,D3
  5924.     MOVE.W    CCR,D4
  5925.     MOVE.W    (A2)+,D1
  5926.     IF    DEEBUG
  5927.     BRA    DEBUG
  5928.     ELSE
  5929.     JMP    ([A3,D1.W*4])
  5930.     ENDIF
  5931.  
  5932. MCB42:                ; BIT 0,D
  5933.     MOVE.W    D4,CCR
  5934.     BTST    #24,D3
  5935.     MOVE.W    CCR,D4
  5936.     MOVE.W    (A2)+,D1
  5937.     IF    DEEBUG
  5938.     BRA    DEBUG
  5939.     ELSE
  5940.     JMP    ([A3,D1.W*4])
  5941.     ENDIF
  5942.  
  5943. MCB43:                ; BIT 0,E
  5944.     MOVE.W    D4,CCR
  5945.     BTST    #16,D3
  5946.     MOVE.W    CCR,D4
  5947.     MOVE.W    (A2)+,D1
  5948.     IF    DEEBUG
  5949.     BRA    DEBUG
  5950.     ELSE
  5951.     JMP    ([A3,D1.W*4])
  5952.     ENDIF
  5953.  
  5954. MCB44:                ; BIT 0,H
  5955.     MOVE.W    D4,CCR
  5956.     BTST    #8,D2
  5957.     MOVE.W    CCR,D4
  5958.     MOVE.W    (A2)+,D1
  5959.     IF    DEEBUG
  5960.     BRA    DEBUG
  5961.     ELSE
  5962.     JMP    ([A3,D1.W*4])
  5963.     ENDIF
  5964.  
  5965. MCB45:                ; BIT 0,L
  5966.     MOVE.W    D4,CCR
  5967.     BTST    #0,D2
  5968.     MOVE.W    CCR,D4
  5969.     MOVE.W    (A2)+,D1
  5970.     IF    DEEBUG
  5971.     BRA    DEBUG
  5972.     ELSE
  5973.     JMP    ([A3,D1.W*4])
  5974.     ENDIF
  5975.  
  5976. MCB46:                ; BIT 0,(HL)
  5977.     MOVEQ    #0,D1
  5978.     MOVE.W    D2,D1
  5979.     MOVE.B    (A0,D1.L),D7
  5980.     MOVE.W    D4,CCR
  5981.     BTST    #0,D7
  5982.     MOVE.W    CCR,D4
  5983.     MOVE.W    (A2)+,D1
  5984.     IF    DEEBUG
  5985.     BRA    DEBUG
  5986.     ELSE
  5987.     JMP    ([A3,D1.W*4])
  5988.     ENDIF
  5989.  
  5990. MCB47:                ; BIT 0,A
  5991.     MOVE.W    D4,CCR
  5992.     BTST    #0,D0
  5993.     MOVE.W    CCR,D4
  5994.     MOVE.W    (A2)+,D1
  5995.     IF    DEEBUG
  5996.     BRA    DEBUG
  5997.     ELSE
  5998.     JMP    ([A3,D1.W*4])
  5999.     ENDIF
  6000.  
  6001. MCB48:                ; BIT 1,B
  6002.     MOVE.W    D4,CCR
  6003.     BTST    #9,D3
  6004.     MOVE.W    CCR,D4
  6005.     MOVE.W    (A2)+,D1
  6006.     IF    DEEBUG
  6007.     BRA    DEBUG
  6008.     ELSE
  6009.     JMP    ([A3,D1.W*4])
  6010.     ENDIF
  6011.  
  6012. MCB49:                ; BIT 1,C
  6013.     MOVE.W    D4,CCR
  6014.     BTST    #1,D3
  6015.     MOVE.W    CCR,D4
  6016.     MOVE.W    (A2)+,D1
  6017.     IF    DEEBUG
  6018.     BRA    DEBUG
  6019.     ELSE
  6020.     JMP    ([A3,D1.W*4])
  6021.     ENDIF
  6022.  
  6023. MCB4A:                ; BIT 1,D
  6024.     MOVE.W    D4,CCR
  6025.     BTST    #25,D3
  6026.     MOVE.W    CCR,D4
  6027.     MOVE.W    (A2)+,D1
  6028.     IF    DEEBUG
  6029.     BRA    DEBUG
  6030.     ELSE
  6031.     JMP    ([A3,D1.W*4])
  6032.     ENDIF
  6033.  
  6034. MCB4B:                ; BIT 1,E
  6035.     MOVE.W    D4,CCR
  6036.     BTST    #17,D3
  6037.     MOVE.W    CCR,D4
  6038.     MOVE.W    (A2)+,D1
  6039.     IF    DEEBUG
  6040.     BRA    DEBUG
  6041.     ELSE
  6042.     JMP    ([A3,D1.W*4])
  6043.     ENDIF
  6044.  
  6045. MCB4C:                ; BIT 1,H
  6046.     MOVE.W    D4,CCR
  6047.     BTST    #9,D2
  6048.     MOVE.W    CCR,D4
  6049.     MOVE.W    (A2)+,D1
  6050.     IF    DEEBUG
  6051.     BRA    DEBUG
  6052.     ELSE
  6053.     JMP    ([A3,D1.W*4])
  6054.     ENDIF
  6055.  
  6056. MCB4D:                ; BIT 1,L
  6057.     MOVE.W    D4,CCR
  6058.     BTST    #1,D2
  6059.     MOVE.W    CCR,D4
  6060.     MOVE.W    (A2)+,D1
  6061.     IF    DEEBUG
  6062.     BRA    DEBUG
  6063.     ELSE
  6064.     JMP    ([A3,D1.W*4])
  6065.     ENDIF
  6066.  
  6067. MCB4E:                ; BIT 1,(HL)
  6068.     MOVEQ    #0,D1
  6069.     MOVE.W    D2,D1
  6070.     MOVE.B    (A0,D1.L),D7
  6071.     MOVE.W    D4,CCR
  6072.     BTST    #1,D7
  6073.     MOVE.W    CCR,D4
  6074.     MOVE.W    (A2)+,D1
  6075.     IF    DEEBUG
  6076.     BRA    DEBUG
  6077.     ELSE
  6078.     JMP    ([A3,D1.W*4])
  6079.     ENDIF
  6080.  
  6081. MCB4F:                ; BIT 1,A
  6082.     MOVE.W    D4,CCR
  6083.     BTST    #1,D0
  6084.     MOVE.W    CCR,D4
  6085.     MOVE.W    (A2)+,D1
  6086.     IF    DEEBUG
  6087.     BRA    DEBUG
  6088.     ELSE
  6089.     JMP    ([A3,D1.W*4])
  6090.     ENDIF
  6091.  
  6092. MCB50:                ; BIT 2,B
  6093.     MOVE.W    D4,CCR
  6094.     BTST    #10,D3
  6095.     MOVE.W    CCR,D4
  6096.     MOVE.W    (A2)+,D1
  6097.     IF    DEEBUG
  6098.     BRA    DEBUG
  6099.     ELSE
  6100.     JMP    ([A3,D1.W*4])
  6101.     ENDIF
  6102.  
  6103. MCB51:                ; BIT 2,C
  6104.     MOVE.W    D4,CCR
  6105.     BTST    #2,D3
  6106.     MOVE.W    CCR,D4
  6107.     MOVE.W    (A2)+,D1
  6108.     IF    DEEBUG
  6109.     BRA    DEBUG
  6110.     ELSE
  6111.     JMP    ([A3,D1.W*4])
  6112.     ENDIF
  6113.  
  6114. MCB52:                ; BIT 2,D
  6115.     MOVE.W    D4,CCR
  6116.     BTST    #26,D3
  6117.     MOVE.W    CCR,D4
  6118.     MOVE.W    (A2)+,D1
  6119.     IF    DEEBUG
  6120.     BRA    DEBUG
  6121.     ELSE
  6122.     JMP    ([A3,D1.W*4])
  6123.     ENDIF
  6124.  
  6125. MCB53:                ; BIT 2,E
  6126.     MOVE.W    D4,CCR
  6127.     BTST    #18,D3
  6128.     MOVE.W    CCR,D4
  6129.     MOVE.W    (A2)+,D1
  6130.     IF    DEEBUG
  6131.     BRA    DEBUG
  6132.     ELSE
  6133.     JMP    ([A3,D1.W*4])
  6134.     ENDIF
  6135.  
  6136. MCB54:                ; BIT 2,H
  6137.     MOVE.W    D4,CCR
  6138.     BTST    #10,D2
  6139.     MOVE.W    CCR,D4
  6140.     MOVE.W    (A2)+,D1
  6141.     IF    DEEBUG
  6142.     BRA    DEBUG
  6143.     ELSE
  6144.     JMP    ([A3,D1.W*4])
  6145.     ENDIF
  6146.  
  6147. MCB55:                ; BIT 2,L
  6148.     MOVE.W    D4,CCR
  6149.     BTST    #2,D2
  6150.     MOVE.W    CCR,D4
  6151.     MOVE.W    (A2)+,D1
  6152.     IF    DEEBUG
  6153.     BRA    DEBUG
  6154.     ELSE
  6155.     JMP    ([A3,D1.W*4])
  6156.     ENDIF
  6157.  
  6158. MCB56:                ; BIT 2,(HL)
  6159.     MOVEQ    #0,D1
  6160.     MOVE.W    D2,D1
  6161.     MOVE.B    (A0,D1.L),D7
  6162.     MOVE.W    D4,CCR
  6163.     BTST    #2,D7
  6164.     MOVE.W    CCR,D4
  6165.     MOVE.W    (A2)+,D1
  6166.     IF    DEEBUG
  6167.     BRA    DEBUG
  6168.     ELSE
  6169.     JMP    ([A3,D1.W*4])
  6170.     ENDIF
  6171.  
  6172. MCB57:                ; BIT 2,A
  6173.     MOVE.W    D4,CCR
  6174.     BTST    #2,D0
  6175.     MOVE.W    CCR,D4
  6176.     MOVE.W    (A2)+,D1
  6177.     IF    DEEBUG
  6178.     BRA    DEBUG
  6179.     ELSE
  6180.     JMP    ([A3,D1.W*4])
  6181.     ENDIF
  6182.  
  6183. MCB58:                ; BIT 3,B
  6184.     MOVE.W    D4,CCR
  6185.     BTST    #11,D3
  6186.     MOVE.W    CCR,D4
  6187.     MOVE.W    (A2)+,D1
  6188.     IF    DEEBUG
  6189.     BRA    DEBUG
  6190.     ELSE
  6191.     JMP    ([A3,D1.W*4])
  6192.     ENDIF
  6193.  
  6194. MCB59:                ; BIT 3,C
  6195.     MOVE.W    D4,CCR
  6196.     BTST    #3,D3
  6197.     MOVE.W    CCR,D4
  6198.     MOVE.W    (A2)+,D1
  6199.     IF    DEEBUG
  6200.     BRA    DEBUG
  6201.     ELSE
  6202.     JMP    ([A3,D1.W*4])
  6203.     ENDIF
  6204.  
  6205. MCB5A:                ; BIT 3,D
  6206.     MOVE.W    D4,CCR
  6207.     BTST    #27,D3
  6208.     MOVE.W    CCR,D4
  6209.     MOVE.W    (A2)+,D1
  6210.     IF    DEEBUG
  6211.     BRA    DEBUG
  6212.     ELSE
  6213.     JMP    ([A3,D1.W*4])
  6214.     ENDIF
  6215.  
  6216. MCB5B:                ; BIT 3,E
  6217.     MOVE.W    D4,CCR
  6218.     BTST    #19,D3
  6219.     MOVE.W    CCR,D4
  6220.     MOVE.W    (A2)+,D1
  6221.     IF    DEEBUG
  6222.     BRA    DEBUG
  6223.     ELSE
  6224.     JMP    ([A3,D1.W*4])
  6225.     ENDIF
  6226.  
  6227. MCB5C:                ; BIT 3,H
  6228.     MOVE.W    D4,CCR
  6229.     BTST    #11,D2
  6230.     MOVE.W    CCR,D4
  6231.     MOVE.W    (A2)+,D1
  6232.     IF    DEEBUG
  6233.     BRA    DEBUG
  6234.     ELSE
  6235.     JMP    ([A3,D1.W*4])
  6236.     ENDIF
  6237.  
  6238. MCB5D:                ; BIT 3,L
  6239.     MOVE.W    D4,CCR
  6240.     BTST    #3,D2
  6241.     MOVE.W    CCR,D4
  6242.     MOVE.W    (A2)+,D1
  6243.     IF    DEEBUG
  6244.     BRA    DEBUG
  6245.     ELSE
  6246.     JMP    ([A3,D1.W*4])
  6247.     ENDIF
  6248.  
  6249. MCB5E:                ; BIT 3,(HL)
  6250.     MOVEQ    #0,D1
  6251.     MOVE.W    D2,D1
  6252.     MOVE.B    (A0,D1.L),D7
  6253.     MOVE.W    D4,CCR
  6254.     BTST    #3,D7
  6255.     MOVE.W    CCR,D4
  6256.     MOVE.W    (A2)+,D1
  6257.     IF    DEEBUG
  6258.     BRA    DEBUG
  6259.     ELSE
  6260.     JMP    ([A3,D1.W*4])
  6261.     ENDIF
  6262.  
  6263. MCB5F:                ; BIT 3,A
  6264.     MOVE.W    D4,CCR
  6265.     BTST    #3,D0
  6266.     MOVE.W    CCR,D4
  6267.     MOVE.W    (A2)+,D1
  6268.     IF    DEEBUG
  6269.     BRA    DEBUG
  6270.     ELSE
  6271.     JMP    ([A3,D1.W*4])
  6272.     ENDIF
  6273.  
  6274. MCB60:                ; BIT 4,B
  6275.     MOVE.W    D4,CCR
  6276.     BTST    #12,D3
  6277.     MOVE.W    CCR,D4
  6278.     MOVE.W    (A2)+,D1
  6279.     IF    DEEBUG
  6280.     BRA    DEBUG
  6281.     ELSE
  6282.     JMP    ([A3,D1.W*4])
  6283.     ENDIF
  6284.  
  6285. MCB61:                ; BIT 4,C
  6286.     MOVE.W    D4,CCR
  6287.     BTST    #4,D3
  6288.     MOVE.W    CCR,D4
  6289.     MOVE.W    (A2)+,D1
  6290.     IF    DEEBUG
  6291.     BRA    DEBUG
  6292.     ELSE
  6293.     JMP    ([A3,D1.W*4])
  6294.     ENDIF
  6295.  
  6296. MCB62:                ; BIT 4,D
  6297.     MOVE.W    D4,CCR
  6298.     BTST    #28,D3
  6299.     MOVE.W    CCR,D4
  6300.     MOVE.W    (A2)+,D1
  6301.     IF    DEEBUG
  6302.     BRA    DEBUG
  6303.     ELSE
  6304.     JMP    ([A3,D1.W*4])
  6305.     ENDIF
  6306.  
  6307. MCB63:                ; BIT 4,E
  6308.     MOVE.W    D4,CCR
  6309.     BTST    #20,D3
  6310.     MOVE.W    CCR,D4
  6311.     MOVE.W    (A2)+,D1
  6312.     IF    DEEBUG
  6313.     BRA    DEBUG
  6314.     ELSE
  6315.     JMP    ([A3,D1.W*4])
  6316.     ENDIF
  6317.  
  6318. MCB64:                ; BIT 4,H
  6319.     MOVE.W    D4,CCR
  6320.     BTST    #12,D2
  6321.     MOVE.W    CCR,D4
  6322.     MOVE.W    (A2)+,D1
  6323.     IF    DEEBUG
  6324.     BRA    DEBUG
  6325.     ELSE
  6326.     JMP    ([A3,D1.W*4])
  6327.     ENDIF
  6328.  
  6329. MCB65:                ; BIT 4,L
  6330.     MOVE.W    D4,CCR
  6331.     BTST    #4,D2
  6332.     MOVE.W    CCR,D4
  6333.     MOVE.W    (A2)+,D1
  6334.     IF    DEEBUG
  6335.     BRA    DEBUG
  6336.     ELSE
  6337.     JMP    ([A3,D1.W*4])
  6338.     ENDIF
  6339.  
  6340. MCB66:                ; BIT 4,(HL)
  6341.     MOVEQ    #0,D1
  6342.     MOVE.W    D2,D1
  6343.     MOVE.B    (A0,D1.L),D7
  6344.     MOVE.W    D4,CCR
  6345.     BTST    #4,D7
  6346.     MOVE.W    CCR,D4
  6347.     MOVE.W    (A2)+,D1
  6348.     IF    DEEBUG
  6349.     BRA    DEBUG
  6350.     ELSE
  6351.     JMP    ([A3,D1.W*4])
  6352.     ENDIF
  6353.  
  6354. MCB67:                ; BIT 4,A
  6355.     MOVE.W    D4,CCR
  6356.     BTST    #4,D0
  6357.     MOVE.W    CCR,D4
  6358.     MOVE.W    (A2)+,D1
  6359.     IF    DEEBUG
  6360.     BRA    DEBUG
  6361.     ELSE
  6362.     JMP    ([A3,D1.W*4])
  6363.     ENDIF
  6364.  
  6365. MCB68:                ; BIT 5,B
  6366.     MOVE.W    D4,CCR
  6367.     BTST    #13,D3
  6368.     MOVE.W    CCR,D4
  6369.     MOVE.W    (A2)+,D1
  6370.     IF    DEEBUG
  6371.     BRA    DEBUG
  6372.     ELSE
  6373.     JMP    ([A3,D1.W*4])
  6374.     ENDIF
  6375.  
  6376. MCB69:                ; BIT 5,C
  6377.     MOVE.W    D4,CCR
  6378.     BTST    #5,D3
  6379.     MOVE.W    CCR,D4
  6380.     MOVE.W    (A2)+,D1
  6381.     IF    DEEBUG
  6382.     BRA    DEBUG
  6383.     ELSE
  6384.     JMP    ([A3,D1.W*4])
  6385.     ENDIF
  6386.  
  6387. MCB6A:                ; BIT 5,D
  6388.     MOVE.W    D4,CCR
  6389.     BTST    #29,D3
  6390.     MOVE.W    CCR,D4
  6391.     MOVE.W    (A2)+,D1
  6392.     IF    DEEBUG
  6393.     BRA    DEBUG
  6394.     ELSE
  6395.     JMP    ([A3,D1.W*4])
  6396.     ENDIF
  6397.  
  6398. MCB6B:                ; BIT 5,E
  6399.     MOVE.W    D4,CCR
  6400.     BTST    #21,D3
  6401.     MOVE.W    CCR,D4
  6402.     MOVE.W    (A2)+,D1
  6403.     IF    DEEBUG
  6404.     BRA    DEBUG
  6405.     ELSE
  6406.     JMP    ([A3,D1.W*4])
  6407.     ENDIF
  6408.  
  6409. MCB6C:                ; BIT 5,H
  6410.     MOVE.W    D4,CCR
  6411.     BTST    #13,D2
  6412.     MOVE.W    CCR,D4
  6413.     MOVE.W    (A2)+,D1
  6414.     IF    DEEBUG
  6415.     BRA    DEBUG
  6416.     ELSE
  6417.     JMP    ([A3,D1.W*4])
  6418.     ENDIF
  6419.  
  6420. MCB6D:                ; BIT 5,L
  6421.     MOVE.W    D4,CCR
  6422.     BTST    #5,D2
  6423.     MOVE.W    CCR,D4
  6424.     MOVE.W    (A2)+,D1
  6425.     IF    DEEBUG
  6426.     BRA    DEBUG
  6427.     ELSE
  6428.     JMP    ([A3,D1.W*4])
  6429.     ENDIF
  6430.  
  6431. MCB6E:                ; BIT 5,(HL)
  6432.     MOVEQ    #0,D1
  6433.     MOVE.W    D2,D1
  6434.     MOVE.B    (A0,D1.L),D7
  6435.     MOVE.W    D4,CCR
  6436.     BTST    #5,D7
  6437.     MOVE.W    CCR,D4
  6438.     MOVE.W    (A2)+,D1
  6439.     IF    DEEBUG
  6440.     BRA    DEBUG
  6441.     ELSE
  6442.     JMP    ([A3,D1.W*4])
  6443.     ENDIF
  6444.  
  6445. MCB6F:                ; BIT 5,A
  6446.     MOVE.W    D4,CCR
  6447.     BTST    #5,D0
  6448.     MOVE.W    CCR,D4
  6449.     MOVE.W    (A2)+,D1
  6450.     IF    DEEBUG
  6451.     BRA    DEBUG
  6452.     ELSE
  6453.     JMP    ([A3,D1.W*4])
  6454.     ENDIF
  6455.  
  6456. MCB70:                ; BIT 6,B
  6457.     MOVE.W    D4,CCR
  6458.     BTST    #14,D3
  6459.     MOVE.W    CCR,D4
  6460.     MOVE.W    (A2)+,D1
  6461.     IF    DEEBUG
  6462.     BRA    DEBUG
  6463.     ELSE
  6464.     JMP    ([A3,D1.W*4])
  6465.     ENDIF
  6466.  
  6467. MCB71:                ; BIT 6,C
  6468.     MOVE.W    D4,CCR
  6469.     BTST    #6,D3
  6470.     MOVE.W    CCR,D4
  6471.     MOVE.W    (A2)+,D1
  6472.     IF    DEEBUG
  6473.     BRA    DEBUG
  6474.     ELSE
  6475.     JMP    ([A3,D1.W*4])
  6476.     ENDIF
  6477.  
  6478. MCB72:                ; BIT 6,D
  6479.     MOVE.W    D4,CCR
  6480.     BTST    #30,D3
  6481.     MOVE.W    CCR,D4
  6482.     MOVE.W    (A2)+,D1
  6483.     IF    DEEBUG
  6484.     BRA    DEBUG
  6485.     ELSE
  6486.     JMP    ([A3,D1.W*4])
  6487.     ENDIF
  6488.  
  6489. MCB73:                ; BIT 6,E
  6490.     MOVE.W    D4,CCR
  6491.     BTST    #22,D3
  6492.     MOVE.W    CCR,D4
  6493.     MOVE.W    (A2)+,D1
  6494.     IF    DEEBUG
  6495.     BRA    DEBUG
  6496.     ELSE
  6497.     JMP    ([A3,D1.W*4])
  6498.     ENDIF
  6499.  
  6500. MCB74:                ; BIT 6,H
  6501.     MOVE.W    D4,CCR
  6502.     BTST    #14,D2
  6503.     MOVE.W    CCR,D4
  6504.     MOVE.W    (A2)+,D1
  6505.     IF    DEEBUG
  6506.     BRA    DEBUG
  6507.     ELSE
  6508.     JMP    ([A3,D1.W*4])
  6509.     ENDIF
  6510.  
  6511. MCB75:                ; BIT 6,L
  6512.     MOVE.W    D4,CCR
  6513.     BTST    #6,D2
  6514.     MOVE.W    CCR,D4
  6515.     MOVE.W    (A2)+,D1
  6516.     IF    DEEBUG
  6517.     BRA    DEBUG
  6518.     ELSE
  6519.     JMP    ([A3,D1.W*4])
  6520.     ENDIF
  6521.  
  6522. MCB76:                ; BIT 6,(HL)
  6523.     MOVEQ    #0,D1
  6524.     MOVE.W    D2,D1
  6525.     MOVE.B    (A0,D1.L),D7
  6526.     MOVE.W    D4,CCR
  6527.     BTST    #6,D7
  6528.     MOVE.W    CCR,D4
  6529.     MOVE.W    (A2)+,D1
  6530.     IF    DEEBUG
  6531.     BRA    DEBUG
  6532.     ELSE
  6533.     JMP    ([A3,D1.W*4])
  6534.     ENDIF
  6535.  
  6536. MCB77:                ; BIT 6,A
  6537.     MOVE.W    D4,CCR
  6538.     BTST    #6,D0
  6539.     MOVE.W    CCR,D4
  6540.     MOVE.W    (A2)+,D1
  6541.     IF    DEEBUG
  6542.     BRA    DEBUG
  6543.     ELSE
  6544.     JMP    ([A3,D1.W*4])
  6545.     ENDIF
  6546.  
  6547. MCB78:                ; BIT 7,B
  6548.     MOVE.W    D4,CCR
  6549.     BTST    #15,D3
  6550.     MOVE.W    CCR,D4
  6551.     MOVE.W    (A2)+,D1
  6552.     IF    DEEBUG
  6553.     BRA    DEBUG
  6554.     ELSE
  6555.     JMP    ([A3,D1.W*4])
  6556.     ENDIF
  6557.  
  6558. MCB79:                ; BIT 7,C
  6559.     MOVE.W    D4,CCR
  6560.     BTST    #7,D3
  6561.     MOVE.W    CCR,D4
  6562.     MOVE.W    (A2)+,D1
  6563.     IF    DEEBUG
  6564.     BRA    DEBUG
  6565.     ELSE
  6566.     JMP    ([A3,D1.W*4])
  6567.     ENDIF
  6568.  
  6569. MCB7A:                ; BIT 7,D
  6570.     MOVE.W    D4,CCR
  6571.     BTST    #31,D3
  6572.     MOVE.W    CCR,D4
  6573.     MOVE.W    (A2)+,D1
  6574.     IF    DEEBUG
  6575.     BRA    DEBUG
  6576.     ELSE
  6577.     JMP    ([A3,D1.W*4])
  6578.     ENDIF
  6579.  
  6580. MCB7B:                ; BIT 7,E
  6581.     MOVE.W    D4,CCR
  6582.     BTST    #23,D3
  6583.     MOVE.W    CCR,D4
  6584.     MOVE.W    (A2)+,D1
  6585.     IF    DEEBUG
  6586.     BRA    DEBUG
  6587.     ELSE
  6588.     JMP    ([A3,D1.W*4])
  6589.     ENDIF
  6590.  
  6591. MCB7C:                ; BIT 7,H
  6592.     MOVE.W    D4,CCR
  6593.     BTST    #15,D2
  6594.     MOVE.W    CCR,D4
  6595.     MOVE.W    (A2)+,D1
  6596.     IF    DEEBUG
  6597.     BRA    DEBUG
  6598.     ELSE
  6599.     JMP    ([A3,D1.W*4])
  6600.     ENDIF
  6601.  
  6602. MCB7D:                ; BIT 7,L
  6603.     MOVE.W    D4,CCR
  6604.     BTST    #7,D2
  6605.     MOVE.W    CCR,D4
  6606.     MOVE.W    (A2)+,D1
  6607.     IF    DEEBUG
  6608.     BRA    DEBUG
  6609.     ELSE
  6610.     JMP    ([A3,D1.W*4])
  6611.     ENDIF
  6612.  
  6613. MCB7E:                ; BIT 7,(HL)
  6614.     MOVEQ    #0,D1
  6615.     MOVE.W    D2,D1
  6616.     MOVE.B    (A0,D1.L),D7
  6617.     MOVE.W    D4,CCR
  6618.     BTST    #7,D7
  6619.     MOVE.W    CCR,D4
  6620.     MOVE.W    (A2)+,D1
  6621.     IF    DEEBUG
  6622.     BRA    DEBUG
  6623.     ELSE
  6624.     JMP    ([A3,D1.W*4])
  6625.     ENDIF
  6626.  
  6627. MCB7F:                ; BIT 7,A
  6628.     MOVE.W    D4,CCR
  6629.     BTST    #7,D0
  6630.     MOVE.W    CCR,D4
  6631.     MOVE.W    (A2)+,D1
  6632.     IF    DEEBUG
  6633.     BRA    DEBUG
  6634.     ELSE
  6635.     JMP    ([A3,D1.W*4])
  6636.     ENDIF
  6637.  
  6638. MCB80:                ; RES 0,B
  6639.     BCLR    #8,D3
  6640.     MOVE.W    (A2)+,D1
  6641.     IF    DEEBUG
  6642.     BRA    DEBUG
  6643.     ELSE
  6644.     JMP    ([A3,D1.W*4])
  6645.     ENDIF
  6646.  
  6647. MCB81:                ; RES 0,C
  6648.     BCLR    #0,D3
  6649.     MOVE.W    (A2)+,D1
  6650.     IF    DEEBUG
  6651.     BRA    DEBUG
  6652.     ELSE
  6653.     JMP    ([A3,D1.W*4])
  6654.     ENDIF
  6655.  
  6656. MCB82:                ; RES 0,D
  6657.     BCLR    #24,D3
  6658.     MOVE.W    (A2)+,D1
  6659.     IF    DEEBUG
  6660.     BRA    DEBUG
  6661.     ELSE
  6662.     JMP    ([A3,D1.W*4])
  6663.     ENDIF
  6664.  
  6665. MCB83:                ; RES 0,E
  6666.     BCLR    #16,D3
  6667.     MOVE.W    (A2)+,D1
  6668.     IF    DEEBUG
  6669.     BRA    DEBUG
  6670.     ELSE
  6671.     JMP    ([A3,D1.W*4])
  6672.     ENDIF
  6673.  
  6674. MCB84:                ; RES 0,H
  6675.     BCLR    #8,D2
  6676.     MOVE.W    (A2)+,D1
  6677.     IF    DEEBUG
  6678.     BRA    DEBUG
  6679.     ELSE
  6680.     JMP    ([A3,D1.W*4])
  6681.     ENDIF
  6682.  
  6683. MCB85:                ; RES 0,L
  6684.     BCLR    #0,D2
  6685.     MOVE.W    (A2)+,D1
  6686.     IF    DEEBUG
  6687.     BRA    DEBUG
  6688.     ELSE
  6689.     JMP    ([A3,D1.W*4])
  6690.     ENDIF
  6691.  
  6692. MCB86:                ; RES 0,(HL)
  6693.     MOVEQ    #0,D1
  6694.     MOVE.W    D2,D1
  6695.     CMPI.W    #$4000,D1    
  6696.     BCS.B    .L1
  6697.     BCLR    #0,(A0,D1.L)
  6698.     MOVE.W    (A2)+,D1
  6699.     IF    DEEBUG
  6700.     BRA    DEBUG
  6701.     ELSE
  6702.     JMP    ([A3,D1.W*4])
  6703.     ENDIF
  6704. .L1
  6705.     CMPI.W    #$3BFF,D1    
  6706.     BHI.B    .L2
  6707.     MOVE.W    (A2)+,D1
  6708.     IF    DEEBUG
  6709.     BRA    DEBUG
  6710.     ELSE
  6711.     JMP    ([A3,D1.W*4])
  6712.     ENDIF
  6713. .L2
  6714.     BCLR    #0,(A0,D1.L)
  6715.     MOVE.B    (A0,D1.L),D6    
  6716.     BSR    _screenwrite
  6717.     MOVE.W    (A2)+,D1
  6718.     IF    DEEBUG
  6719.     BRA    DEBUG
  6720.     ELSE
  6721.     JMP    ([A3,D1.W*4])
  6722.     ENDIF
  6723.  
  6724. MCB87:                ; RES 0,A
  6725.     BCLR    #0,D0
  6726.     MOVE.W    (A2)+,D1
  6727.     IF    DEEBUG
  6728.     BRA    DEBUG
  6729.     ELSE
  6730.     JMP    ([A3,D1.W*4])
  6731.     ENDIF
  6732.  
  6733. MCB88:                ; RES 1,B
  6734.     BCLR    #9,D3
  6735.     MOVE.W    (A2)+,D1
  6736.     IF    DEEBUG
  6737.     BRA    DEBUG
  6738.     ELSE
  6739.     JMP    ([A3,D1.W*4])
  6740.     ENDIF
  6741.  
  6742. MCB89:                ; RES 1,C
  6743.     BCLR    #1,D3
  6744.     MOVE.W    (A2)+,D1
  6745.     IF    DEEBUG
  6746.     BRA    DEBUG
  6747.     ELSE
  6748.     JMP    ([A3,D1.W*4])
  6749.     ENDIF
  6750.  
  6751. MCB8A:                ; RES 1,D
  6752.     BCLR    #25,D3
  6753.     MOVE.W    (A2)+,D1
  6754.     IF    DEEBUG
  6755.     BRA    DEBUG
  6756.     ELSE
  6757.     JMP    ([A3,D1.W*4])
  6758.     ENDIF
  6759.  
  6760. MCB8B:                ; RES 1,E
  6761.     BCLR    #17,D3
  6762.     MOVE.W    (A2)+,D1
  6763.     IF    DEEBUG
  6764.     BRA    DEBUG
  6765.     ELSE
  6766.     JMP    ([A3,D1.W*4])
  6767.     ENDIF
  6768.  
  6769. MCB8C:                ; RES 1,H
  6770.     BCLR    #9,D2
  6771.     MOVE.W    (A2)+,D1
  6772.     IF    DEEBUG
  6773.     BRA    DEBUG
  6774.     ELSE
  6775.     JMP    ([A3,D1.W*4])
  6776.     ENDIF
  6777.  
  6778. MCB8D:                ; RES 1,L
  6779.     BCLR    #1,D2
  6780.     MOVE.W    (A2)+,D1
  6781.     IF    DEEBUG
  6782.     BRA    DEBUG
  6783.     ELSE
  6784.     JMP    ([A3,D1.W*4])
  6785.     ENDIF
  6786.  
  6787. MCB8E:                ; RES 1,(HL)
  6788.     MOVEQ    #0,D1
  6789.     MOVE.W    D2,D1
  6790.     CMPI.W    #$4000,D1    
  6791.     BCS.B    .L1
  6792.     BCLR    #1,(A0,D1.L)
  6793.     MOVE.W    (A2)+,D1
  6794.     IF    DEEBUG
  6795.     BRA    DEBUG
  6796.     ELSE
  6797.     JMP    ([A3,D1.W*4])
  6798.     ENDIF
  6799. .L1
  6800.     CMPI.W    #$3BFF,D1    
  6801.     BHI.B    .L2
  6802.     MOVE.W    (A2)+,D1
  6803.     IF    DEEBUG
  6804.     BRA    DEBUG
  6805.     ELSE
  6806.     JMP    ([A3,D1.W*4])
  6807.     ENDIF
  6808. .L2
  6809.     BCLR    #1,(A0,D1.L)
  6810.     MOVE.B    (A0,D1.L),D6    
  6811.     BSR    _screenwrite
  6812.     MOVE.W    (A2)+,D1
  6813.     IF    DEEBUG
  6814.     BRA    DEBUG
  6815.     ELSE
  6816.     JMP    ([A3,D1.W*4])
  6817.     ENDIF
  6818.  
  6819. MCB8F:                ; RES 1,A
  6820.     BCLR    #1,D0
  6821.     MOVE.W    (A2)+,D1
  6822.     IF    DEEBUG
  6823.     BRA    DEBUG
  6824.     ELSE
  6825.     JMP    ([A3,D1.W*4])
  6826.     ENDIF
  6827.  
  6828. MCB90:                ; RES 2,B
  6829.     BCLR    #10,D3
  6830.     MOVE.W    (A2)+,D1
  6831.     IF    DEEBUG
  6832.     BRA    DEBUG
  6833.     ELSE
  6834.     JMP    ([A3,D1.W*4])
  6835.     ENDIF
  6836.  
  6837. MCB91:                ; RES 2,C
  6838.     BCLR    #2,D3
  6839.     MOVE.W    (A2)+,D1
  6840.     IF    DEEBUG
  6841.     BRA    DEBUG
  6842.     ELSE
  6843.     JMP    ([A3,D1.W*4])
  6844.     ENDIF
  6845.  
  6846. MCB92:                ; RES 2,D
  6847.     BCLR    #26,D3
  6848.     MOVE.W    (A2)+,D1
  6849.     IF    DEEBUG
  6850.     BRA    DEBUG
  6851.     ELSE
  6852.     JMP    ([A3,D1.W*4])
  6853.     ENDIF
  6854.  
  6855. MCB93:                ; RES 2,E
  6856.     BCLR    #18,D3
  6857.     MOVE.W    (A2)+,D1
  6858.     IF    DEEBUG
  6859.     BRA    DEBUG
  6860.     ELSE
  6861.     JMP    ([A3,D1.W*4])
  6862.     ENDIF
  6863.  
  6864. MCB94:                ; RES 2,H
  6865.     BCLR    #10,D2
  6866.     MOVE.W    (A2)+,D1
  6867.     IF    DEEBUG
  6868.     BRA    DEBUG
  6869.     ELSE
  6870.     JMP    ([A3,D1.W*4])
  6871.     ENDIF
  6872.  
  6873. MCB95:                ; RES 2,L
  6874.     BCLR    #2,D2
  6875.     MOVE.W    (A2)+,D1
  6876.     IF    DEEBUG
  6877.     BRA    DEBUG
  6878.     ELSE
  6879.     JMP    ([A3,D1.W*4])
  6880.     ENDIF
  6881.  
  6882. MCB96:                ; RES 2,(HL)
  6883.     MOVEQ    #0,D1
  6884.     MOVE.W    D2,D1
  6885.     CMPI.W    #$4000,D1    
  6886.     BCS.B    .L1
  6887.     BCLR    #2,(A0,D1.L)
  6888.     MOVE.W    (A2)+,D1
  6889.     IF    DEEBUG
  6890.     BRA    DEBUG
  6891.     ELSE
  6892.     JMP    ([A3,D1.W*4])
  6893.     ENDIF
  6894. .L1
  6895.     CMPI.W    #$3BFF,D1    
  6896.     BHI.B    .L2
  6897.     MOVE.W    (A2)+,D1
  6898.     IF    DEEBUG
  6899.     BRA    DEBUG
  6900.     ELSE
  6901.     JMP    ([A3,D1.W*4])
  6902.     ENDIF
  6903. .L2
  6904.     BCLR    #2,(A0,D1.L)
  6905.     MOVE.B    (A0,D1.L),D6    
  6906.     BSR    _screenwrite
  6907.     MOVE.W    (A2)+,D1
  6908.     IF    DEEBUG
  6909.     BRA    DEBUG
  6910.     ELSE
  6911.     JMP    ([A3,D1.W*4])
  6912.     ENDIF
  6913.  
  6914. MCB97:                ; RES 2,A
  6915.     BCLR    #2,D0
  6916.     MOVE.W    (A2)+,D1
  6917.     IF    DEEBUG
  6918.     BRA    DEBUG
  6919.     ELSE
  6920.     JMP    ([A3,D1.W*4])
  6921.     ENDIF
  6922.  
  6923. MCB98:                ; RES 3,B
  6924.     BCLR    #11,D3
  6925.     MOVE.W    (A2)+,D1
  6926.     IF    DEEBUG
  6927.     BRA    DEBUG
  6928.     ELSE
  6929.     JMP    ([A3,D1.W*4])
  6930.     ENDIF
  6931.  
  6932. MCB99:                ; RES 3,C
  6933.     BCLR    #3,D3
  6934.     MOVE.W    (A2)+,D1
  6935.     IF    DEEBUG
  6936.     BRA    DEBUG
  6937.     ELSE
  6938.     JMP    ([A3,D1.W*4])
  6939.     ENDIF
  6940.  
  6941. MCB9A:                ; RES 3,D
  6942.     BCLR    #27,D3
  6943.     MOVE.W    (A2)+,D1
  6944.     IF    DEEBUG
  6945.     BRA    DEBUG
  6946.     ELSE
  6947.     JMP    ([A3,D1.W*4])
  6948.     ENDIF
  6949.  
  6950. MCB9B:                ; RES 3,E
  6951.     BCLR    #19,D3
  6952.     MOVE.W    (A2)+,D1
  6953.     IF    DEEBUG
  6954.     BRA    DEBUG
  6955.     ELSE
  6956.     JMP    ([A3,D1.W*4])
  6957.     ENDIF
  6958.  
  6959. MCB9C:                ; RES 3,H
  6960.     BCLR    #11,D2
  6961.     MOVE.W    (A2)+,D1
  6962.     IF    DEEBUG
  6963.     BRA    DEBUG
  6964.     ELSE
  6965.     JMP    ([A3,D1.W*4])
  6966.     ENDIF
  6967.  
  6968. MCB9D:                ; RES 3,L
  6969.     BCLR    #3,D2
  6970.     MOVE.W    (A2)+,D1
  6971.     IF    DEEBUG
  6972.     BRA    DEBUG
  6973.     ELSE
  6974.     JMP    ([A3,D1.W*4])
  6975.     ENDIF
  6976.  
  6977. MCB9E:                ; RES 3,(HL)
  6978.     MOVEQ    #0,D1
  6979.     MOVE.W    D2,D1
  6980.     CMPI.W    #$4000,D1    
  6981.     BCS.B    .L1
  6982.     BCLR    #3,(A0,D1.L)
  6983.     MOVE.W    (A2)+,D1
  6984.     IF    DEEBUG
  6985.     BRA    DEBUG
  6986.     ELSE
  6987.     JMP    ([A3,D1.W*4])
  6988.     ENDIF
  6989. .L1
  6990.     CMPI.W    #$3BFF,D1    
  6991.     BHI.B    .L2
  6992.     MOVE.W    (A2)+,D1
  6993.     IF    DEEBUG
  6994.     BRA    DEBUG
  6995.     ELSE
  6996.     JMP    ([A3,D1.W*4])
  6997.     ENDIF
  6998. .L2
  6999.     BCLR    #3,(A0,D1.L)
  7000.     MOVE.B    (A0,D1.L),D6    
  7001.     BSR    _screenwrite
  7002.     MOVE.W    (A2)+,D1
  7003.     IF    DEEBUG
  7004.     BRA    DEBUG
  7005.     ELSE
  7006.     JMP    ([A3,D1.W*4])
  7007.     ENDIF
  7008.  
  7009. MCB9F:                ; RES 3,A
  7010.     BCLR    #3,D0
  7011.     MOVE.W    (A2)+,D1
  7012.     IF    DEEBUG
  7013.     BRA    DEBUG
  7014.     ELSE
  7015.     JMP    ([A3,D1.W*4])
  7016.     ENDIF
  7017.  
  7018. MCBA0:                ; RES 4,B
  7019.     BCLR    #12,D3
  7020.     MOVE.W    (A2)+,D1
  7021.     IF    DEEBUG
  7022.     BRA    DEBUG
  7023.     ELSE
  7024.     JMP    ([A3,D1.W*4])
  7025.     ENDIF
  7026.  
  7027. MCBA1:                ; RES 4,C
  7028.     BCLR    #4,D3
  7029.     MOVE.W    (A2)+,D1
  7030.     IF    DEEBUG
  7031.     BRA    DEBUG
  7032.     ELSE
  7033.     JMP    ([A3,D1.W*4])
  7034.     ENDIF
  7035.  
  7036. MCBA2:                ; RES 4,D
  7037.     BCLR    #28,D3
  7038.     MOVE.W    (A2)+,D1
  7039.     IF    DEEBUG
  7040.     BRA    DEBUG
  7041.     ELSE
  7042.     JMP    ([A3,D1.W*4])
  7043.     ENDIF
  7044.  
  7045. MCBA3:                ; RES 4,E
  7046.     BCLR    #20,D3
  7047.     MOVE.W    (A2)+,D1
  7048.     IF    DEEBUG
  7049.     BRA    DEBUG
  7050.     ELSE
  7051.     JMP    ([A3,D1.W*4])
  7052.     ENDIF
  7053.  
  7054. MCBA4:                ; RES 4,H
  7055.     BCLR    #12,D2
  7056.     MOVE.W    (A2)+,D1
  7057.     IF    DEEBUG
  7058.     BRA    DEBUG
  7059.     ELSE
  7060.     JMP    ([A3,D1.W*4])
  7061.     ENDIF
  7062.  
  7063. MCBA5:                ; RES 4,L
  7064.     BCLR    #4,D2
  7065.     MOVE.W    (A2)+,D1
  7066.     IF    DEEBUG
  7067.     BRA    DEBUG
  7068.     ELSE
  7069.     JMP    ([A3,D1.W*4])
  7070.     ENDIF
  7071.  
  7072. MCBA6:                ; RES 4,(HL)
  7073.     MOVEQ    #0,D1
  7074.     MOVE.W    D2,D1
  7075.     CMPI.W    #$4000,D1    
  7076.     BCS.B    .L1
  7077.     BCLR    #4,(A0,D1.L)
  7078.     MOVE.W    (A2)+,D1
  7079.     IF    DEEBUG
  7080.     BRA    DEBUG
  7081.     ELSE
  7082.     JMP    ([A3,D1.W*4])
  7083.     ENDIF
  7084. .L1
  7085.     CMPI.W    #$3BFF,D1    
  7086.     BHI.B    .L2
  7087.     MOVE.W    (A2)+,D1
  7088.     IF    DEEBUG
  7089.     BRA    DEBUG
  7090.     ELSE
  7091.     JMP    ([A3,D1.W*4])
  7092.     ENDIF
  7093. .L2
  7094.     BCLR    #4,(A0,D1.L)
  7095.     MOVE.B    (A0,D1.L),D6    
  7096.     BSR    _screenwrite
  7097.     MOVE.W    (A2)+,D1
  7098.     IF    DEEBUG
  7099.     BRA    DEBUG
  7100.     ELSE
  7101.     JMP    ([A3,D1.W*4])
  7102.     ENDIF
  7103.  
  7104. MCBA7:                ; RES 4,A
  7105.     BCLR    #4,D0
  7106.     MOVE.W    (A2)+,D1
  7107.     IF    DEEBUG
  7108.     BRA    DEBUG
  7109.     ELSE
  7110.     JMP    ([A3,D1.W*4])
  7111.     ENDIF
  7112.  
  7113. MCBA8:                ; RES 5,B
  7114.     BCLR    #13,D3
  7115.     MOVE.W    (A2)+,D1
  7116.     IF    DEEBUG
  7117.     BRA    DEBUG
  7118.     ELSE
  7119.     JMP    ([A3,D1.W*4])
  7120.     ENDIF
  7121.  
  7122. MCBA9:                ; RES 5,C
  7123.     BCLR    #5,D3
  7124.     MOVE.W    (A2)+,D1
  7125.     IF    DEEBUG
  7126.     BRA    DEBUG
  7127.     ELSE
  7128.     JMP    ([A3,D1.W*4])
  7129.     ENDIF
  7130.  
  7131. MCBAA:                ; RES 5,D
  7132.     BCLR    #29,D3
  7133.     MOVE.W    (A2)+,D1
  7134.     IF    DEEBUG
  7135.     BRA    DEBUG
  7136.     ELSE
  7137.     JMP    ([A3,D1.W*4])
  7138.     ENDIF
  7139.  
  7140. MCBAB:                ; RES 5,E
  7141.     BCLR    #21,D3
  7142.     MOVE.W    (A2)+,D1
  7143.     IF    DEEBUG
  7144.     BRA    DEBUG
  7145.     ELSE
  7146.     JMP    ([A3,D1.W*4])
  7147.     ENDIF
  7148.  
  7149. MCBAC:                ; RES 5,H
  7150.     BCLR    #13,D2
  7151.     MOVE.W    (A2)+,D1
  7152.     IF    DEEBUG
  7153.     BRA    DEBUG
  7154.     ELSE
  7155.     JMP    ([A3,D1.W*4])
  7156.     ENDIF
  7157.  
  7158. MCBAD:                ; RES 5,L
  7159.     BCLR    #5,D2
  7160.     MOVE.W    (A2)+,D1
  7161.     IF    DEEBUG
  7162.     BRA    DEBUG
  7163.     ELSE
  7164.     JMP    ([A3,D1.W*4])
  7165.     ENDIF
  7166.  
  7167. MCBAE:                ; RES 5,(HL)
  7168.     MOVEQ    #0,D1
  7169.     MOVE.W    D2,D1
  7170.     CMPI.W    #$4000,D1    
  7171.     BCS.B    .L1
  7172.     BCLR    #5,(A0,D1.L)
  7173.     MOVE.W    (A2)+,D1
  7174.     IF    DEEBUG
  7175.     BRA    DEBUG
  7176.     ELSE
  7177.     JMP    ([A3,D1.W*4])
  7178.     ENDIF
  7179. .L1
  7180.     CMPI.W    #$3BFF,D1    
  7181.     BHI.B    .L2
  7182.     MOVE.W    (A2)+,D1
  7183.     IF    DEEBUG
  7184.     BRA    DEBUG
  7185.     ELSE
  7186.     JMP    ([A3,D1.W*4])
  7187.     ENDIF
  7188. .L2
  7189.     BCLR    #5,(A0,D1.L)
  7190.     MOVE.B    (A0,D1.L),D6    
  7191.     BSR    _screenwrite
  7192.     MOVE.W    (A2)+,D1
  7193.     IF    DEEBUG
  7194.     BRA    DEBUG
  7195.     ELSE
  7196.     JMP    ([A3,D1.W*4])
  7197.     ENDIF
  7198.  
  7199. MCBAF:                ; RES 5,A
  7200.     BCLR    #5,D0
  7201.     MOVE.W    (A2)+,D1
  7202.     IF    DEEBUG
  7203.     BRA    DEBUG
  7204.     ELSE
  7205.     JMP    ([A3,D1.W*4])
  7206.     ENDIF
  7207.  
  7208. MCBB0:                ; RES 6,B
  7209.     BCLR    #14,D3
  7210.     MOVE.W    (A2)+,D1
  7211.     IF    DEEBUG
  7212.     BRA    DEBUG
  7213.     ELSE
  7214.     JMP    ([A3,D1.W*4])
  7215.     ENDIF
  7216.  
  7217. MCBB1:                ; RES 6,C
  7218.     BCLR    #6,D3
  7219.     MOVE.W    (A2)+,D1
  7220.     IF    DEEBUG
  7221.     BRA    DEBUG
  7222.     ELSE
  7223.     JMP    ([A3,D1.W*4])
  7224.     ENDIF
  7225.  
  7226. MCBB2:                ; RES 6,D
  7227.     BCLR    #30,D3
  7228.     MOVE.W    (A2)+,D1
  7229.     IF    DEEBUG
  7230.     BRA    DEBUG
  7231.     ELSE
  7232.     JMP    ([A3,D1.W*4])
  7233.     ENDIF
  7234.  
  7235. MCBB3:                ; RES 6,E
  7236.     BCLR    #22,D3
  7237.     MOVE.W    (A2)+,D1
  7238.     IF    DEEBUG
  7239.     BRA    DEBUG
  7240.     ELSE
  7241.     JMP    ([A3,D1.W*4])
  7242.     ENDIF
  7243.  
  7244. MCBB4:                ; RES 6,H
  7245.     BCLR    #14,D2
  7246.     MOVE.W    (A2)+,D1
  7247.     IF    DEEBUG
  7248.     BRA    DEBUG
  7249.     ELSE
  7250.     JMP    ([A3,D1.W*4])
  7251.     ENDIF
  7252.  
  7253. MCBB5:                ; RES 6,L
  7254.     BCLR    #6,D2
  7255.     MOVE.W    (A2)+,D1
  7256.     IF    DEEBUG
  7257.     BRA    DEBUG
  7258.     ELSE
  7259.     JMP    ([A3,D1.W*4])
  7260.     ENDIF
  7261.  
  7262. MCBB6:                ; RES 6,(HL)
  7263.     MOVEQ    #0,D1
  7264.     MOVE.W    D2,D1
  7265.     CMPI.W    #$4000,D1    
  7266.     BCS.B    .L1
  7267.     BCLR    #6,(A0,D1.L)
  7268.     MOVE.W    (A2)+,D1
  7269.     IF    DEEBUG
  7270.     BRA    DEBUG
  7271.     ELSE
  7272.     JMP    ([A3,D1.W*4])
  7273.     ENDIF
  7274. .L1
  7275.     CMPI.W    #$3BFF,D1    
  7276.     BHI.B    .L2
  7277.     MOVE.W    (A2)+,D1
  7278.     IF    DEEBUG
  7279.     BRA    DEBUG
  7280.     ELSE
  7281.     JMP    ([A3,D1.W*4])
  7282.     ENDIF
  7283. .L2
  7284.     BCLR    #6,(A0,D1.L)
  7285.     MOVE.B    (A0,D1.L),D6    
  7286.     BSR    _screenwrite
  7287.     MOVE.W    (A2)+,D1
  7288.     IF    DEEBUG
  7289.     BRA    DEBUG
  7290.     ELSE
  7291.     JMP    ([A3,D1.W*4])
  7292.     ENDIF
  7293.  
  7294. MCBB7:                ; RES 6,A
  7295.     BCLR    #6,D0
  7296.     MOVE.W    (A2)+,D1
  7297.     IF    DEEBUG
  7298.     BRA    DEBUG
  7299.     ELSE
  7300.     JMP    ([A3,D1.W*4])
  7301.     ENDIF
  7302.  
  7303. MCBB8:                ; RES 7,B
  7304.     BCLR    #15,D3
  7305.     MOVE.W    (A2)+,D1
  7306.     IF    DEEBUG
  7307.     BRA    DEBUG
  7308.     ELSE
  7309.     JMP    ([A3,D1.W*4])
  7310.     ENDIF
  7311.  
  7312. MCBB9:                ; RES 7,C
  7313.     BCLR    #7,D3
  7314.     MOVE.W    (A2)+,D1
  7315.     IF    DEEBUG
  7316.     BRA    DEBUG
  7317.     ELSE
  7318.     JMP    ([A3,D1.W*4])
  7319.     ENDIF
  7320.  
  7321. MCBBA:                ; RES 7,D
  7322.     BCLR    #31,D3
  7323.     MOVE.W    (A2)+,D1
  7324.     IF    DEEBUG
  7325.     BRA    DEBUG
  7326.     ELSE
  7327.     JMP    ([A3,D1.W*4])
  7328.     ENDIF
  7329.  
  7330. MCBBB:                ; RES 7,E
  7331.     BCLR    #23,D3
  7332.     MOVE.W    (A2)+,D1
  7333.     IF    DEEBUG
  7334.     BRA    DEBUG
  7335.     ELSE
  7336.     JMP    ([A3,D1.W*4])
  7337.     ENDIF
  7338.  
  7339. MCBBC:                ; RES 7,H
  7340.     BCLR    #15,D2
  7341.     MOVE.W    (A2)+,D1
  7342.     IF    DEEBUG
  7343.     BRA    DEBUG
  7344.     ELSE
  7345.     JMP    ([A3,D1.W*4])
  7346.     ENDIF
  7347.  
  7348. MCBBD:                ; RES 7,L
  7349.     BCLR    #7,D2
  7350.     MOVE.W    (A2)+,D1
  7351.     IF    DEEBUG
  7352.     BRA    DEBUG
  7353.     ELSE
  7354.     JMP    ([A3,D1.W*4])
  7355.     ENDIF
  7356.  
  7357. MCBBE:                ; RES 7,(HL)
  7358.     MOVEQ    #0,D1
  7359.     MOVE.W    D2,D1
  7360.     CMPI.W    #$4000,D1    
  7361.     BCS.B    .L1
  7362.     BCLR    #7,(A0,D1.L)
  7363.     MOVE.W    (A2)+,D1
  7364.     IF    DEEBUG
  7365.     BRA    DEBUG
  7366.     ELSE
  7367.     JMP    ([A3,D1.W*4])
  7368.     ENDIF
  7369. .L1
  7370.     CMPI.W    #$3BFF,D1    
  7371.     BHI.B    .L2
  7372.     MOVE.W    (A2)+,D1
  7373.     IF    DEEBUG
  7374.     BRA    DEBUG
  7375.     ELSE
  7376.     JMP    ([A3,D1.W*4])
  7377.     ENDIF
  7378. .L2
  7379.     BCLR    #7,(A0,D1.L)
  7380.     MOVE.B    (A0,D1.L),D6    
  7381.     BSR    _screenwrite
  7382.     MOVE.W    (A2)+,D1
  7383.     IF    DEEBUG
  7384.     BRA    DEBUG
  7385.     ELSE
  7386.     JMP    ([A3,D1.W*4])
  7387.     ENDIF
  7388.  
  7389. MCBBF:                ; RES 7,A
  7390.     BCLR    #7,D0
  7391.     MOVE.W    (A2)+,D1
  7392.     IF    DEEBUG
  7393.     BRA    DEBUG
  7394.     ELSE
  7395.     JMP    ([A3,D1.W*4])
  7396.     ENDIF
  7397.  
  7398. MCBC0:                ; SET 0,B
  7399.     BSET    #8,D3
  7400.     MOVE.W    (A2)+,D1
  7401.     IF    DEEBUG
  7402.     BRA    DEBUG
  7403.     ELSE
  7404.     JMP    ([A3,D1.W*4])
  7405.     ENDIF
  7406.  
  7407. MCBC1:                ; SET 0,C
  7408.     BSET    #0,D3
  7409.     MOVE.W    (A2)+,D1
  7410.     IF    DEEBUG
  7411.     BRA    DEBUG
  7412.     ELSE
  7413.     JMP    ([A3,D1.W*4])
  7414.     ENDIF
  7415.  
  7416. MCBC2:                ; SET 0,D
  7417.     BSET    #24,D3
  7418.     MOVE.W    (A2)+,D1
  7419.     IF    DEEBUG
  7420.     BRA    DEBUG
  7421.     ELSE
  7422.     JMP    ([A3,D1.W*4])
  7423.     ENDIF
  7424.  
  7425. MCBC3:                ; SET 0,E
  7426.     BSET    #16,D3
  7427.     MOVE.W    (A2)+,D1
  7428.     IF    DEEBUG
  7429.     BRA    DEBUG
  7430.     ELSE
  7431.     JMP    ([A3,D1.W*4])
  7432.     ENDIF
  7433.  
  7434. MCBC4:                ; SET 0,H
  7435.     BSET    #8,D2
  7436.     MOVE.W    (A2)+,D1
  7437.     IF    DEEBUG
  7438.     BRA    DEBUG
  7439.     ELSE
  7440.     JMP    ([A3,D1.W*4])
  7441.     ENDIF
  7442.  
  7443. MCBC5:                ; SET 0,L
  7444.     BSET    #0,D2
  7445.     MOVE.W    (A2)+,D1
  7446.     IF    DEEBUG
  7447.     BRA    DEBUG
  7448.     ELSE
  7449.     JMP    ([A3,D1.W*4])
  7450.     ENDIF
  7451.  
  7452. MCBC6:                ; SET 0,(HL)
  7453.     MOVEQ    #0,D1
  7454.     MOVE.W    D2,D1
  7455.     CMPI.W    #$4000,D1    
  7456.     BCS.B    .L1
  7457.     BSET    #0,(A0,D1.L)
  7458.     MOVE.W    (A2)+,D1
  7459.     IF    DEEBUG
  7460.     BRA    DEBUG
  7461.     ELSE
  7462.     JMP    ([A3,D1.W*4])
  7463.     ENDIF
  7464. .L1
  7465.     CMPI.W    #$3BFF,D1    
  7466.     BHI.B    .L2
  7467.     MOVE.W    (A2)+,D1
  7468.     IF    DEEBUG
  7469.     BRA    DEBUG
  7470.     ELSE
  7471.     JMP    ([A3,D1.W*4])
  7472.     ENDIF
  7473. .L2
  7474.     BSET    #0,(A0,D1.L)
  7475.     MOVE.B    (A0,D1.L),D6    
  7476.     BSR    _screenwrite
  7477.     MOVE.W    (A2)+,D1
  7478.     IF    DEEBUG
  7479.     BRA    DEBUG
  7480.     ELSE
  7481.     JMP    ([A3,D1.W*4])
  7482.     ENDIF
  7483.  
  7484. MCBC7:                ; SET 0,A
  7485.     BSET    #0,D0
  7486.     MOVE.W    (A2)+,D1
  7487.     IF    DEEBUG
  7488.     BRA    DEBUG
  7489.     ELSE
  7490.     JMP    ([A3,D1.W*4])
  7491.     ENDIF
  7492.  
  7493. MCBC8:                ; SET 1,B
  7494.     BSET    #9,D3
  7495.     MOVE.W    (A2)+,D1
  7496.     IF    DEEBUG
  7497.     BRA    DEBUG
  7498.     ELSE
  7499.     JMP    ([A3,D1.W*4])
  7500.     ENDIF
  7501.  
  7502. MCBC9:                ; SET 1,C
  7503.     BSET    #1,D3
  7504.     MOVE.W    (A2)+,D1
  7505.     IF    DEEBUG
  7506.     BRA    DEBUG
  7507.     ELSE
  7508.     JMP    ([A3,D1.W*4])
  7509.     ENDIF
  7510.  
  7511. MCBCA:                ; SET 1,D
  7512.     BSET    #25,D3
  7513.     MOVE.W    (A2)+,D1
  7514.     IF    DEEBUG
  7515.     BRA    DEBUG
  7516.     ELSE
  7517.     JMP    ([A3,D1.W*4])
  7518.     ENDIF
  7519.  
  7520. MCBCB:                ; SET 1,E
  7521.     BSET    #17,D3
  7522.     MOVE.W    (A2)+,D1
  7523.     IF    DEEBUG
  7524.     BRA    DEBUG
  7525.     ELSE
  7526.     JMP    ([A3,D1.W*4])
  7527.     ENDIF
  7528.  
  7529. MCBCC:                ; SET 1,H
  7530.     BSET    #9,D2
  7531.     MOVE.W    (A2)+,D1
  7532.     IF    DEEBUG
  7533.     BRA    DEBUG
  7534.     ELSE
  7535.     JMP    ([A3,D1.W*4])
  7536.     ENDIF
  7537.  
  7538. MCBCD:                ; SET 1,L
  7539.     BSET    #1,D2
  7540.     MOVE.W    (A2)+,D1
  7541.     IF    DEEBUG
  7542.     BRA    DEBUG
  7543.     ELSE
  7544.     JMP    ([A3,D1.W*4])
  7545.     ENDIF
  7546.  
  7547. MCBCE:                ; SET 1,(HL)
  7548.     MOVEQ    #0,D1
  7549.     MOVE.W    D2,D1
  7550.     CMPI.W    #$4000,D1    
  7551.     BCS.B    .L1
  7552.     BSET    #1,(A0,D1.L)
  7553.     MOVE.W    (A2)+,D1
  7554.     IF    DEEBUG
  7555.     BRA    DEBUG
  7556.     ELSE
  7557.     JMP    ([A3,D1.W*4])
  7558.     ENDIF
  7559. .L1
  7560.     CMPI.W    #$3BFF,D1    
  7561.     BHI.B    .L2
  7562.     MOVE.W    (A2)+,D1
  7563.     IF    DEEBUG
  7564.     BRA    DEBUG
  7565.     ELSE
  7566.     JMP    ([A3,D1.W*4])
  7567.     ENDIF
  7568. .L2
  7569.     BSET    #1,(A0,D1.L)
  7570.     MOVE.B    (A0,D1.L),D6    
  7571.     BSR    _screenwrite
  7572.     MOVE.W    (A2)+,D1
  7573.     IF    DEEBUG
  7574.     BRA    DEBUG
  7575.     ELSE
  7576.     JMP    ([A3,D1.W*4])
  7577.     ENDIF
  7578.  
  7579. MCBCF:                ; SET 1,A
  7580.     BSET    #1,D0
  7581.     MOVE.W    (A2)+,D1
  7582.     IF    DEEBUG
  7583.     BRA    DEBUG
  7584.     ELSE
  7585.     JMP    ([A3,D1.W*4])
  7586.     ENDIF
  7587.  
  7588. MCBD0:                ; SET 2,B
  7589.     BSET    #10,D3
  7590.     MOVE.W    (A2)+,D1
  7591.     IF    DEEBUG
  7592.     BRA    DEBUG
  7593.     ELSE
  7594.     JMP    ([A3,D1.W*4])
  7595.     ENDIF
  7596.  
  7597. MCBD1:                ; SET 2,C
  7598.     BSET    #2,D3
  7599.     MOVE.W    (A2)+,D1
  7600.     IF    DEEBUG
  7601.     BRA    DEBUG
  7602.     ELSE
  7603.     JMP    ([A3,D1.W*4])
  7604.     ENDIF
  7605.  
  7606. MCBD2:                ; SET 2,D
  7607.     BSET    #26,D3
  7608.     MOVE.W    (A2)+,D1
  7609.     IF    DEEBUG
  7610.     BRA    DEBUG
  7611.     ELSE
  7612.     JMP    ([A3,D1.W*4])
  7613.     ENDIF
  7614.  
  7615. MCBD3:                ; SET 2,E
  7616.     BSET    #18,D3
  7617.     MOVE.W    (A2)+,D1
  7618.     IF    DEEBUG
  7619.     BRA    DEBUG
  7620.     ELSE
  7621.     JMP    ([A3,D1.W*4])
  7622.     ENDIF
  7623.  
  7624. MCBD4:                ; SET 2,H
  7625.     BSET    #10,D2
  7626.     MOVE.W    (A2)+,D1
  7627.     IF    DEEBUG
  7628.     BRA    DEBUG
  7629.     ELSE
  7630.     JMP    ([A3,D1.W*4])
  7631.     ENDIF
  7632.  
  7633. MCBD5:                ; SET 2,L
  7634.     BSET    #2,D2
  7635.     MOVE.W    (A2)+,D1
  7636.     IF    DEEBUG
  7637.     BRA    DEBUG
  7638.     ELSE
  7639.     JMP    ([A3,D1.W*4])
  7640.     ENDIF
  7641.  
  7642. MCBD6:                ; SET 2,(HL)
  7643.     MOVEQ    #0,D1
  7644.     MOVE.W    D2,D1
  7645.     CMPI.W    #$4000,D1    
  7646.     BCS.B    .L1
  7647.     BSET    #2,(A0,D1.L)
  7648.     MOVE.W    (A2)+,D1
  7649.     IF    DEEBUG
  7650.     BRA    DEBUG
  7651.     ELSE
  7652.     JMP    ([A3,D1.W*4])
  7653.     ENDIF
  7654. .L1
  7655.     CMPI.W    #$3BFF,D1    
  7656.     BHI.B    .L2
  7657.     MOVE.W    (A2)+,D1
  7658.     IF    DEEBUG
  7659.     BRA    DEBUG
  7660.     ELSE
  7661.     JMP    ([A3,D1.W*4])
  7662.     ENDIF
  7663. .L2
  7664.     BSET    #2,(A0,D1.L)
  7665.     MOVE.B    (A0,D1.L),D6    
  7666.     BSR    _screenwrite
  7667.     MOVE.W    (A2)+,D1
  7668.     IF    DEEBUG
  7669.     BRA    DEBUG
  7670.     ELSE
  7671.     JMP    ([A3,D1.W*4])
  7672.     ENDIF
  7673.  
  7674. MCBD7:                ; SET 2,A
  7675.     BSET    #2,D0
  7676.     MOVE.W    (A2)+,D1
  7677.     IF    DEEBUG
  7678.     BRA    DEBUG
  7679.     ELSE
  7680.     JMP    ([A3,D1.W*4])
  7681.     ENDIF
  7682.  
  7683. MCBD8:                ; SET 3,B
  7684.     BSET    #11,D3
  7685.     MOVE.W    (A2)+,D1
  7686.     IF    DEEBUG
  7687.     BRA    DEBUG
  7688.     ELSE
  7689.     JMP    ([A3,D1.W*4])
  7690.     ENDIF
  7691.  
  7692. MCBD9:                ; SET 3,C
  7693.     BSET    #3,D3
  7694.     MOVE.W    (A2)+,D1
  7695.     IF    DEEBUG
  7696.     BRA    DEBUG
  7697.     ELSE
  7698.     JMP    ([A3,D1.W*4])
  7699.     ENDIF
  7700.  
  7701. MCBDA:                ; SET 3,D
  7702.     BSET    #27,D3
  7703.     MOVE.W    (A2)+,D1
  7704.     IF    DEEBUG
  7705.     BRA    DEBUG
  7706.     ELSE
  7707.     JMP    ([A3,D1.W*4])
  7708.     ENDIF
  7709.  
  7710. MCBDB:                ; SET 3,E
  7711.     BSET    #19,D3
  7712.     MOVE.W    (A2)+,D1
  7713.     IF    DEEBUG
  7714.     BRA    DEBUG
  7715.     ELSE
  7716.     JMP    ([A3,D1.W*4])
  7717.     ENDIF
  7718.  
  7719. MCBDC:                ; SET 3,H
  7720.     BSET    #11,D2
  7721.     MOVE.W    (A2)+,D1
  7722.     IF    DEEBUG
  7723.     BRA    DEBUG
  7724.     ELSE
  7725.     JMP    ([A3,D1.W*4])
  7726.     ENDIF
  7727.  
  7728. MCBDD:                ; SET 3,L
  7729.     BSET    #3,D2
  7730.     MOVE.W    (A2)+,D1
  7731.     IF    DEEBUG
  7732.     BRA    DEBUG
  7733.     ELSE
  7734.     JMP    ([A3,D1.W*4])
  7735.     ENDIF
  7736.  
  7737. MCBDE:                ; SET 3,(HL)
  7738.     MOVEQ    #0,D1
  7739.     MOVE.W    D2,D1
  7740.     CMPI.W    #$4000,D1    
  7741.     BCS.B    .L1
  7742.     BSET    #3,(A0,D1.L)
  7743.     MOVE.W    (A2)+,D1
  7744.     IF    DEEBUG
  7745.     BRA    DEBUG
  7746.     ELSE
  7747.     JMP    ([A3,D1.W*4])
  7748.     ENDIF
  7749. .L1
  7750.     CMPI.W    #$3BFF,D1    
  7751.     BHI.B    .L2
  7752.     MOVE.W    (A2)+,D1
  7753.     IF    DEEBUG
  7754.     BRA    DEBUG
  7755.     ELSE
  7756.     JMP    ([A3,D1.W*4])
  7757.     ENDIF
  7758. .L2
  7759.     BSET    #3,(A0,D1.L)
  7760.     MOVE.B    (A0,D1.L),D6    
  7761.     BSR    _screenwrite
  7762.     MOVE.W    (A2)+,D1
  7763.     IF    DEEBUG
  7764.     BRA    DEBUG
  7765.     ELSE
  7766.     JMP    ([A3,D1.W*4])
  7767.     ENDIF
  7768.  
  7769. MCBDF:                ; SET 3,A
  7770.     BSET    #3,D0
  7771.     MOVE.W    (A2)+,D1
  7772.     IF    DEEBUG
  7773.     BRA    DEBUG
  7774.     ELSE
  7775.     JMP    ([A3,D1.W*4])
  7776.     ENDIF
  7777.  
  7778. MCBE0:                ; SET 4,B
  7779.     BSET    #12,D3
  7780.     MOVE.W    (A2)+,D1
  7781.     IF    DEEBUG
  7782.     BRA    DEBUG
  7783.     ELSE
  7784.     JMP    ([A3,D1.W*4])
  7785.     ENDIF
  7786.  
  7787. MCBE1:                ; SET 4,C
  7788.     BSET    #4,D3
  7789.     MOVE.W    (A2)+,D1
  7790.     IF    DEEBUG
  7791.     BRA    DEBUG
  7792.     ELSE
  7793.     JMP    ([A3,D1.W*4])
  7794.     ENDIF
  7795.  
  7796. MCBE2:                ; SET 4,D
  7797.     BSET    #28,D3
  7798.     MOVE.W    (A2)+,D1
  7799.     IF    DEEBUG
  7800.     BRA    DEBUG
  7801.     ELSE
  7802.     JMP    ([A3,D1.W*4])
  7803.     ENDIF
  7804.  
  7805. MCBE3:                ; SET 4,E
  7806.     BSET    #20,D3
  7807.     MOVE.W    (A2)+,D1
  7808.     IF    DEEBUG
  7809.     BRA    DEBUG
  7810.     ELSE
  7811.     JMP    ([A3,D1.W*4])
  7812.     ENDIF
  7813.  
  7814. MCBE4:                ; SET 4,H
  7815.     BSET    #12,D2
  7816.     MOVE.W    (A2)+,D1
  7817.     IF    DEEBUG
  7818.     BRA    DEBUG
  7819.     ELSE
  7820.     JMP    ([A3,D1.W*4])
  7821.     ENDIF
  7822.  
  7823. MCBE5:                ; SET 4,L
  7824.     BSET    #4,D2
  7825.     MOVE.W    (A2)+,D1
  7826.     IF    DEEBUG
  7827.     BRA    DEBUG
  7828.     ELSE
  7829.     JMP    ([A3,D1.W*4])
  7830.     ENDIF
  7831.  
  7832. MCBE6:                ; SET 4,(HL)
  7833.     MOVEQ    #0,D1
  7834.     MOVE.W    D2,D1
  7835.     CMPI.W    #$4000,D1    
  7836.     BCS.B    .L1
  7837.     BSET    #4,(A0,D1.L)
  7838.     MOVE.W    (A2)+,D1
  7839.     IF    DEEBUG
  7840.     BRA    DEBUG
  7841.     ELSE
  7842.     JMP    ([A3,D1.W*4])
  7843.     ENDIF
  7844. .L1
  7845.     CMPI.W    #$3BFF,D1    
  7846.     BHI.B    .L2
  7847.     MOVE.W    (A2)+,D1
  7848.     IF    DEEBUG
  7849.     BRA    DEBUG
  7850.     ELSE
  7851.     JMP    ([A3,D1.W*4])
  7852.     ENDIF
  7853. .L2
  7854.     BSET    #4,(A0,D1.L)
  7855.     MOVE.B    (A0,D1.L),D6    
  7856.     BSR    _screenwrite
  7857.     MOVE.W    (A2)+,D1
  7858.     IF    DEEBUG
  7859.     BRA    DEBUG
  7860.     ELSE
  7861.     JMP    ([A3,D1.W*4])
  7862.     ENDIF
  7863.  
  7864. MCBE7:                ; SET 4,A
  7865.     BSET    #4,D0
  7866.     MOVE.W    (A2)+,D1
  7867.     IF    DEEBUG
  7868.     BRA    DEBUG
  7869.     ELSE
  7870.     JMP    ([A3,D1.W*4])
  7871.     ENDIF
  7872.  
  7873. MCBE8:                ; SET 5,B
  7874.     BSET    #13,D3
  7875.     MOVE.W    (A2)+,D1
  7876.     IF    DEEBUG
  7877.     BRA    DEBUG
  7878.     ELSE
  7879.     JMP    ([A3,D1.W*4])
  7880.     ENDIF
  7881.  
  7882. MCBE9:                ; SET 5,C
  7883.     BSET    #5,D3
  7884.     MOVE.W    (A2)+,D1
  7885.     IF    DEEBUG
  7886.     BRA    DEBUG
  7887.     ELSE
  7888.     JMP    ([A3,D1.W*4])
  7889.     ENDIF
  7890.  
  7891. MCBEA:                ; SET 5,D
  7892.     BSET    #29,D3
  7893.     MOVE.W    (A2)+,D1
  7894.     IF    DEEBUG
  7895.     BRA    DEBUG
  7896.     ELSE
  7897.     JMP    ([A3,D1.W*4])
  7898.     ENDIF
  7899.  
  7900. MCBEB:                ; SET 5,E
  7901.     BSET    #21,D3
  7902.     MOVE.W    (A2)+,D1
  7903.     IF    DEEBUG
  7904.     BRA    DEBUG
  7905.     ELSE
  7906.     JMP    ([A3,D1.W*4])
  7907.     ENDIF
  7908.  
  7909. MCBEC:                ; SET 5,H
  7910.     BSET    #13,D2
  7911.     MOVE.W    (A2)+,D1
  7912.     IF    DEEBUG
  7913.     BRA    DEBUG
  7914.     ELSE
  7915.     JMP    ([A3,D1.W*4])
  7916.     ENDIF
  7917.  
  7918. MCBED:                ; SET 5,L
  7919.     BSET    #5,D2
  7920.     MOVE.W    (A2)+,D1
  7921.     IF    DEEBUG
  7922.     BRA    DEBUG
  7923.     ELSE
  7924.     JMP    ([A3,D1.W*4])
  7925.     ENDIF
  7926.  
  7927. MCBEE:                ; SET 5,(HL)
  7928.     MOVEQ    #0,D1
  7929.     MOVE.W    D2,D1
  7930.     CMPI.W    #$4000,D1    
  7931.     BCS.B    .L1
  7932.     BSET    #5,(A0,D1.L)
  7933.     MOVE.W    (A2)+,D1
  7934.     IF    DEEBUG
  7935.     BRA    DEBUG
  7936.     ELSE
  7937.     JMP    ([A3,D1.W*4])
  7938.     ENDIF
  7939. .L1
  7940.     CMPI.W    #$3BFF,D1    
  7941.     BHI.B    .L2
  7942.     MOVE.W    (A2)+,D1
  7943.     IF    DEEBUG
  7944.     BRA    DEBUG
  7945.     ELSE
  7946.     JMP    ([A3,D1.W*4])
  7947.     ENDIF
  7948. .L2
  7949.     BSET    #5,(A0,D1.L)
  7950.     MOVE.B    (A0,D1.L),D6    
  7951.     BSR    _screenwrite
  7952.     MOVE.W    (A2)+,D1
  7953.     IF    DEEBUG
  7954.     BRA    DEBUG
  7955.     ELSE
  7956.     JMP    ([A3,D1.W*4])
  7957.     ENDIF
  7958.  
  7959. MCBEF:                ; SET 5,A
  7960.     BSET    #5,D0
  7961.     MOVE.W    (A2)+,D1
  7962.     IF    DEEBUG
  7963.     BRA    DEBUG
  7964.     ELSE
  7965.     JMP    ([A3,D1.W*4])
  7966.     ENDIF
  7967.  
  7968. MCBF0:                ; SET 6,B
  7969.     BSET    #14,D3
  7970.     MOVE.W    (A2)+,D1
  7971.     IF    DEEBUG
  7972.     BRA    DEBUG
  7973.     ELSE
  7974.     JMP    ([A3,D1.W*4])
  7975.     ENDIF
  7976.  
  7977. MCBF1:                ; SET 6,C
  7978.     BSET    #6,D3
  7979.     MOVE.W    (A2)+,D1
  7980.     IF    DEEBUG
  7981.     BRA    DEBUG
  7982.     ELSE
  7983.     JMP    ([A3,D1.W*4])
  7984.     ENDIF
  7985.  
  7986. MCBF2:                ; SET 6,D
  7987.     BSET    #30,D3
  7988.     MOVE.W    (A2)+,D1
  7989.     IF    DEEBUG
  7990.     BRA    DEBUG
  7991.     ELSE
  7992.     JMP    ([A3,D1.W*4])
  7993.     ENDIF
  7994.  
  7995. MCBF3:                ; SET 6,E
  7996.     BSET    #22,D3
  7997.     MOVE.W    (A2)+,D1
  7998.     IF    DEEBUG
  7999.     BRA    DEBUG
  8000.     ELSE
  8001.     JMP    ([A3,D1.W*4])
  8002.     ENDIF
  8003.  
  8004. MCBF4:                ; SET 6,H
  8005.     BSET    #14,D2
  8006.     MOVE.W    (A2)+,D1
  8007.     IF    DEEBUG
  8008.     BRA    DEBUG
  8009.     ELSE
  8010.     JMP    ([A3,D1.W*4])
  8011.     ENDIF
  8012.  
  8013. MCBF5:                ; SET 6,L
  8014.     BSET    #6,D2
  8015.     MOVE.W    (A2)+,D1
  8016.     IF    DEEBUG
  8017.     BRA    DEBUG
  8018.     ELSE
  8019.     JMP    ([A3,D1.W*4])
  8020.     ENDIF
  8021.  
  8022. MCBF6:                ; SET 6,(HL)
  8023.     MOVEQ    #0,D1
  8024.     MOVE.W    D2,D1
  8025.     CMPI.W    #$4000,D1    
  8026.     BCS.B    .L1
  8027.     BSET    #6,(A0,D1.L)
  8028.     MOVE.W    (A2)+,D1
  8029.     IF    DEEBUG
  8030.     BRA    DEBUG
  8031.     ELSE
  8032.     JMP    ([A3,D1.W*4])
  8033.     ENDIF
  8034. .L1
  8035.     CMPI.W    #$3BFF,D1    
  8036.     BHI.B    .L2
  8037.     MOVE.W    (A2)+,D1
  8038.     IF    DEEBUG
  8039.     BRA    DEBUG
  8040.     ELSE
  8041.     JMP    ([A3,D1.W*4])
  8042.     ENDIF
  8043. .L2
  8044.     BSET    #6,(A0,D1.L)
  8045.     MOVE.B    (A0,D1.L),D6    
  8046.     BSR    _screenwrite
  8047.     MOVE.W    (A2)+,D1
  8048.     IF    DEEBUG
  8049.     BRA    DEBUG
  8050.     ELSE
  8051.     JMP    ([A3,D1.W*4])
  8052.     ENDIF
  8053.  
  8054. MCBF7:                ; SET 6,A
  8055.     BSET    #6,D0
  8056.     MOVE.W    (A2)+,D1
  8057.     IF    DEEBUG
  8058.     BRA    DEBUG
  8059.     ELSE
  8060.     JMP    ([A3,D1.W*4])
  8061.     ENDIF
  8062.  
  8063. MCBF8:                ; SET 7,B
  8064.     BSET    #15,D3
  8065.     MOVE.W    (A2)+,D1
  8066.     IF    DEEBUG
  8067.     BRA    DEBUG
  8068.     ELSE
  8069.     JMP    ([A3,D1.W*4])
  8070.     ENDIF
  8071.  
  8072. MCBF9:                ; SET 7,C
  8073.     BSET    #7,D3
  8074.     MOVE.W    (A2)+,D1
  8075.     IF    DEEBUG
  8076.     BRA    DEBUG
  8077.     ELSE
  8078.     JMP    ([A3,D1.W*4])
  8079.     ENDIF
  8080.  
  8081. MCBFA:                ; SET 7,D
  8082.     BSET    #31,D3
  8083.     MOVE.W    (A2)+,D1
  8084.     IF    DEEBUG
  8085.     BRA    DEBUG
  8086.     ELSE
  8087.     JMP    ([A3,D1.W*4])
  8088.     ENDIF
  8089.  
  8090. MCBFB:                ; SET 7,E
  8091.     BSET    #23,D3
  8092.     MOVE.W    (A2)+,D1
  8093.     IF    DEEBUG
  8094.     BRA    DEBUG
  8095.     ELSE
  8096.     JMP    ([A3,D1.W*4])
  8097.     ENDIF
  8098.  
  8099. MCBFC:                ; SET 7,H
  8100.     BSET    #15,D2
  8101.     MOVE.W    (A2)+,D1
  8102.     IF    DEEBUG
  8103.     BRA    DEBUG
  8104.     ELSE
  8105.     JMP    ([A3,D1.W*4])
  8106.     ENDIF
  8107.  
  8108. MCBFD:                ; SET 7,L
  8109.     BSET    #7,D2
  8110.     MOVE.W    (A2)+,D1
  8111.     IF    DEEBUG
  8112.     BRA    DEBUG
  8113.     ELSE
  8114.     JMP    ([A3,D1.W*4])
  8115.     ENDIF
  8116.  
  8117. MCBFE:                ; SET 7,(HL)
  8118.     MOVEQ    #0,D1
  8119.     MOVE.W    D2,D1
  8120.     CMPI.W    #$4000,D1    
  8121.     BCS.B    .L1
  8122.     BSET    #7,(A0,D1.L)
  8123.     MOVE.W    (A2)+,D1
  8124.     IF    DEEBUG
  8125.     BRA    DEBUG
  8126.     ELSE
  8127.     JMP    ([A3,D1.W*4])
  8128.     ENDIF
  8129. .L1
  8130.     CMPI.W    #$3BFF,D1    
  8131.     BHI.B    .L2
  8132.     MOVE.W    (A2)+,D1
  8133.     IF    DEEBUG
  8134.     BRA    DEBUG
  8135.     ELSE
  8136.     JMP    ([A3,D1.W*4])
  8137.     ENDIF
  8138. .L2
  8139.     BSET    #7,(A0,D1.L)
  8140.     MOVE.B    (A0,D1.L),D6    
  8141.     BSR    _screenwrite
  8142.     MOVE.W    (A2)+,D1
  8143.     IF    DEEBUG
  8144.     BRA    DEBUG
  8145.     ELSE
  8146.     JMP    ([A3,D1.W*4])
  8147.     ENDIF
  8148.  
  8149. MCBFF:                ; SET 7,A
  8150.     BSET    #7,D0
  8151.     MOVE.W    (A2)+,D1
  8152.     IF    DEEBUG
  8153.     BRA    DEBUG
  8154.     ELSE
  8155.     JMP    ([A3,D1.W*4])
  8156.     ENDIF
  8157.  
  8158.  
  8159. * DD INSTRUCTIONS
  8160.  
  8161. MDD09:                ; ADD IX,BC
  8162.     SUBA.L    A0,A1
  8163.     MOVE.L    A1,D7
  8164.     ADD.W    D3,D7
  8165.     SCS.W    D6
  8166.     ANDI.W    #$EE,D4        ; CLEAR X,C
  8167.     ANDI.W    #$11,D6
  8168.     OR.B    D6,D4        ; SET X,C IF CARRY
  8169.     MOVEQ    #0,D5        ; SET H,N=0
  8170.     MOVE.L    A0,A1
  8171.     ADDA.L    D7,A1
  8172.     MOVE.W    (A2)+,D1
  8173.     IF    DEEBUG
  8174.     BRA    DEBUG
  8175.     ELSE
  8176.     JMP    ([A3,D1.W*4])
  8177.     ENDIF
  8178.  
  8179. MDD19:                ; ADD IX,DE
  8180.     SUBA.L    A0,A1
  8181.     MOVE.L    A1,D7
  8182.     SWAP    D3
  8183.     ADD.W    D3,D7
  8184.     SCS.W    D6
  8185.     ANDI.W    #$EE,D4        ; CLEAR X,C
  8186.     ANDI.W    #$11,D6
  8187.     OR.B    D6,D4        ; SET X,C IF CARRY
  8188.     MOVEQ    #0,D5        ; SET H,N=0
  8189.     SWAP    D3
  8190.     MOVE.L    A0,A1
  8191.     ADDA.L    D7,A1
  8192.     MOVE.W    (A2)+,D1
  8193.     IF    DEEBUG
  8194.     BRA    DEBUG
  8195.     ELSE
  8196.     JMP    ([A3,D1.W*4])
  8197.     ENDIF
  8198.  
  8199.  
  8200. MDD21:                ; LD IX,XXXX
  8201.     MOVE.W    (A2)+,D1
  8202.     ROL.W    #8,D1
  8203.     MOVEQ    #0,D7
  8204.     MOVE.W    D1,D7
  8205.     MOVE.L    A0,A1
  8206.     ADDA.L    D7,A1
  8207.     MOVE.W    (A2)+,D1
  8208.     IF    DEEBUG
  8209.     BRA    DEBUG
  8210.     ELSE
  8211.     JMP    ([A3,D1.W*4])
  8212.     ENDIF
  8213.  
  8214. MDD22:                ; LD (XXXX),IX
  8215.     MOVE.W    (A2)+,D1
  8216.     ROL.W    #8,D1
  8217.     MOVEQ    #0,D7
  8218.     MOVE.W    D1,D7
  8219.     SUBA.L    A0,A1
  8220.     MOVE.L    A1,D6
  8221.     ROL.W    #8,D6
  8222.     MOVE.W    D6,(A0,D7.L)
  8223.     ADDA.L    A0,A1
  8224.     MOVE.W    (A2)+,D1
  8225.     IF    DEEBUG
  8226.     BRA    DEBUG
  8227.     ELSE
  8228.     JMP    ([A3,D1.W*4])
  8229.     ENDIF
  8230.  
  8231. MDD23:                ; INC IX
  8232.     SUBA.L    A0,A1
  8233.     MOVE.L    A1,D7
  8234.     ADDQ.W    #1,D7
  8235.     MOVE.L    A0,A1
  8236.     ADDA.L    D7,A1
  8237.     MOVE.W    (A2)+,D1
  8238.     IF    DEEBUG
  8239.     BRA    DEBUG
  8240.     ELSE
  8241.     JMP    ([A3,D1.W*4])
  8242.     ENDIF
  8243.  
  8244. MDD29:                ; ADD IX,IX
  8245.     SUBA.L    A0,A1
  8246.     MOVE.L    A1,D7
  8247.     ADD.W    D7,D7
  8248.     SCS.W    D6
  8249.     ANDI.W    #$EE,D4        ; CLEAR X,C
  8250.     ANDI.W    #$11,D6
  8251.     OR.B    D6,D4        ; SET X,C IF CARRY
  8252.     MOVEQ    #0,D5        ; SET H,N=0
  8253.     MOVE.L    A0,A1
  8254.     ADDA.L    D7,A1
  8255.     MOVE.W    (A2)+,D1
  8256.     IF    DEEBUG
  8257.     BRA    DEBUG
  8258.     ELSE
  8259.     JMP    ([A3,D1.W*4])
  8260.     ENDIF
  8261.  
  8262. MDD2A:                ; LD IX,(XXXX)
  8263.     MOVE.W    (A2)+,D1
  8264.     ROL.W    #8,D1
  8265.     MOVEQ    #0,D7
  8266.     MOVE.W    D1,D7
  8267.     MOVE.W    (A0,D7.L),D7
  8268.     ROL.W    #8,D7
  8269.     MOVE.L    A0,A1
  8270.     ADDA.L    D7,A1
  8271.     MOVE.W    (A2)+,D1
  8272.     IF    DEEBUG
  8273.     BRA    DEBUG
  8274.     ELSE
  8275.     JMP    ([A3,D1.W*4])
  8276.     ENDIF
  8277.  
  8278. MDD2B:                ; DEC IX
  8279.     SUBA.L    A0,A1
  8280.     MOVE.L    A1,D7
  8281.     SUBQ.W    #1,D7
  8282.     MOVE.L    A0,A1
  8283.     ADDA.L    D7,A1
  8284.     MOVE.W    (A2)+,D1
  8285.     IF    DEEBUG
  8286.     BRA    DEBUG
  8287.     ELSE
  8288.     JMP    ([A3,D1.W*4])
  8289.     ENDIF
  8290.  
  8291. MDD34:                ; INC (IX+D)
  8292.     MOVE.W    D4,-(SP)    ; SAVE X,C AS NOT AFFECTED
  8293.     SUBA.L    A0,A1
  8294.     MOVE.L    A1,D1        ; CONVENIENTLY MASK D1.L WITH 0000FFFF
  8295.     MOVE.B    (A2)+,D7
  8296.     EXT.W    D7
  8297.     ADD.W    D7,D1
  8298.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  8299.     BCS.B    .L1
  8300.     ADDA.L    A0,A1
  8301.     MOVE.B    (A1,D7.L),D6
  8302.     MOVE.W    D4,CCR
  8303.     ADDQ.B    #1,D6
  8304.     MOVE.W    CCR,D4
  8305.     MOVE.W    (SP)+,D1    ; GET OLD FLAGS
  8306.     ANDI.W    #$EE,D4        ; CLEAR X,C
  8307.     ANDI.W    #$11,D1
  8308.     OR.B    D1,D4        ; SET X,C IF PREVIUOSLY SET
  8309.     MOVE.B    D6,(A1,D7.L)
  8310.     ANDI.W    #$00FF,D6    ; EXT D6 FOR INDEX INTO ADD TABLE
  8311.     MOVE.B    $220(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  8312.     MOVE.W    (A2)+,D1
  8313.     IF    DEEBUG
  8314.     BRA    DEBUG
  8315.     ELSE
  8316.     JMP    ([A3,D1.W*4])
  8317.     ENDIF
  8318. .L1
  8319.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  8320.     BHI.B    .L2
  8321.     ADDA.L    A0,A1
  8322.     MOVE.B    (A1,D7.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER
  8323.     MOVE.W    D4,CCR        ; ANY MEMORY
  8324.     ADDQ.B    #1,D6
  8325.     MOVE.W    CCR,D4
  8326.     MOVE.W    (SP)+,D1    ; GET OLD FLAGS
  8327.     ANDI.W    #$EE,D4        ; CLEAR X,C
  8328.     ANDI.W    #$11,D1
  8329.     OR.B    D1,D4        ; SET X,C IF PREVIUOSLY SET
  8330.     ANDI.W    #$00FF,D6    ; EXT D7 FOR INDEX INTO ADD TABLE
  8331.     MOVE.B    $220(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  8332.     MOVE.W    (A2)+,D1
  8333.     IF    DEEBUG
  8334.     BRA    DEBUG
  8335.     ELSE
  8336.     JMP    ([A3,D1.W*4])
  8337.     ENDIF
  8338. .L2
  8339.     ADDA.L    A0,A1
  8340.     MOVE.B    (A1,D7.L),D6
  8341.     MOVE.W    D4,CCR
  8342.     ADDQ.B    #1,D6
  8343.     MOVE.W    CCR,D4
  8344.     MOVE.B    D6,(A1,D7.L)
  8345.     ANDI.W    #$00FF,D6    ; EXT D7 FOR INDEX INTO ADD TABLE
  8346.     MOVE.B    $220(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  8347.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  8348.     MOVE.W    (SP)+,D1    ; GET OLD FLAGS
  8349.     ANDI.W    #$EE,D4        ; CLEAR X,C
  8350.     ANDI.W    #$11,D1
  8351.     OR.B    D1,D4        ; SET X,C IF PREVIUOSLY SET
  8352.     MOVE.W    (A2)+,D1
  8353.     IF    DEEBUG
  8354.     BRA    DEBUG
  8355.     ELSE
  8356.     JMP    ([A3,D1.W*4])
  8357.     ENDIF
  8358.  
  8359. MDD35:                ; DEC (IX+D)
  8360.     MOVE.W    D4,-(SP)    ; SAVE X,C AS NOT AFFECTED
  8361.     SUBA.L    A0,A1
  8362.     MOVE.L    A1,D1        ; CONVENIENTLY MASK D1.L WITH 0000FFFF
  8363.     MOVE.B    (A2)+,D7
  8364.     EXT.W    D7
  8365.     ADD.W    D7,D1
  8366.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  8367.     BCS.B    .L1
  8368.     ADDA.L    A0,A1
  8369.     MOVE.B    (A1,D7.L),D6
  8370.     MOVE.W    D4,CCR
  8371.     SUBQ.B    #1,D6
  8372.     MOVE.W    CCR,D4
  8373.     MOVE.W    (SP)+,D1    ; GET OLD FLAGS
  8374.     ANDI.W    #$EE,D4        ; CLEAR X,C
  8375.     ANDI.W    #$11,D1
  8376.     OR.B    D1,D4        ; SET X,C IF PREVIUOSLY SET
  8377.     MOVE.B    D6,(A1,D7.L)
  8378.     ANDI.W    #$00FF,D6    ; EXT D6 FOR INDEX INTO SUB TABLE
  8379.     MOVE.B    $320(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  8380.     MOVE.W    (A2)+,D1
  8381.     IF    DEEBUG
  8382.     BRA    DEBUG
  8383.     ELSE
  8384.     JMP    ([A3,D1.W*4])
  8385.     ENDIF
  8386. .L1
  8387.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  8388.     BHI.B    .L2
  8389.     ADDA.L    A0,A1
  8390.     MOVE.B    (A1,D7.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER
  8391.     MOVE.W    D4,CCR        ; ANY MEMORY
  8392.     SUBQ.B    #1,D6
  8393.     MOVE.W    CCR,D4
  8394.     MOVE.W    (SP)+,D1    ; GET OLD FLAGS
  8395.     ANDI.W    #$EE,D4        ; CLEAR X,C
  8396.     ANDI.W    #$11,D1
  8397.     OR.B    D1,D4        ; SET X,C IF PREVIUOSLY SET
  8398.     ANDI.W    #$00FF,D6    ; EXT D7 FOR INDEX INTO SUB TABLE
  8399.     MOVE.B    $220(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  8400.     MOVE.W    (A2)+,D1
  8401.     IF    DEEBUG
  8402.     BRA    DEBUG
  8403.     ELSE
  8404.     JMP    ([A3,D1.W*4])
  8405.     ENDIF
  8406. .L2
  8407.     ADDA.L    A0,A1
  8408.     MOVE.B    (A1,D7.L),D6
  8409.     MOVE.W    D4,CCR
  8410.     SUBQ.B    #1,D6
  8411.     MOVE.W    CCR,D4
  8412.     MOVE.B    D6,(A1,D7.L)
  8413.     ANDI.W    #$00FF,D6    ; EXT D7 FOR INDEX INTO SUB TABLE
  8414.     MOVE.B    $220(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  8415.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  8416.     MOVE.W    (SP)+,D1    ; GET OLD FLAGS
  8417.     ANDI.W    #$EE,D4        ; CLEAR X,C
  8418.     ANDI.W    #$11,D1
  8419.     OR.B    D1,D4        ; SET X,C IF PREVIUOSLY SET
  8420.     MOVE.W    (A2)+,D1
  8421.     IF    DEEBUG
  8422.     BRA    DEBUG
  8423.     ELSE
  8424.     JMP    ([A3,D1.W*4])
  8425.     ENDIF
  8426.  
  8427. MDD36:                ; LD (IX+D),N
  8428.     SUBA.L    A0,A1
  8429.     MOVE.L    A1,D1        ; CONVENIENTLY MASK D1.L WITH 0000FFFF
  8430.     MOVE.B    (A2)+,D7
  8431.     EXT.W    D7
  8432.     ADD.W    D7,D1
  8433.     CMPI.W    #$4000,D1    ; if (IX+D) >= 4000 do the instruction
  8434.     BCS.B    .L1
  8435.     MOVE.B    (A2)+,D1
  8436.     ADDA.L    A0,A1
  8437.     MOVE.B    D1,(A1,D7.W)
  8438.     MOVE.W    (A2)+,D1
  8439.     IF    DEEBUG
  8440.     BRA    DEBUG
  8441.     ELSE
  8442.     JMP    ([A3,D1.W*4])
  8443.     ENDIF
  8444.  
  8445. .L1
  8446.     CMPI.W    #$3BFF,D1    ; if (IX+D) < 3C00 we are in ROM so do nothing
  8447.     BHI.B    .L2
  8448.     ADDA.L    A0,A1
  8449.     ADDQ.L    #1,A2        ; will catch (IX+d)>FFFF aswell 
  8450.     MOVE.W    (A2)+,D1
  8451.     IF    DEEBUG
  8452.     BRA    DEBUG
  8453.     ELSE
  8454.     JMP    ([A3,D1.W*4])
  8455.     ENDIF
  8456. .L2
  8457.     MOVE.B    (A2)+,D6
  8458.     ADDA.L    A0,A1
  8459.     MOVE.B    D6,(A1,D7.W)    ; (IX+D) is pointing at the screen so update the
  8460.     BSR    _screenwrite    ; screen with N
  8461.     MOVE.W    (A2)+,D1
  8462.     IF    DEEBUG
  8463.     BRA    DEBUG
  8464.     ELSE
  8465.     JMP    ([A3,D1.W*4])
  8466.     ENDIF
  8467.  
  8468. MDD39:                ; ADD IX,SP
  8469.     SUBA.L    A0,A4
  8470.     MOVE.L    A4,D7
  8471.     SUBA.L    A0,A1
  8472.     MOVE.L    A1,D6
  8473.     ADD.W    D7,D6
  8474.     SCS.B    D7
  8475.     ANDI.W    #$EE,D4        ; CLEAR X,C
  8476.     ANDI.W    #$11,D7
  8477.     OR.B    D7,D4        ; SET X,C IF CARRY
  8478.     MOVEQ    #0,D5        ; SET H,N=0
  8479.     ADDA.L    A0,A4
  8480.     MOVE.L    D6,A1
  8481.     ADDA.L    A0,A1
  8482.     MOVE.W    (A2)+,D1
  8483.     IF    DEEBUG
  8484.     BRA    DEBUG
  8485.     ELSE
  8486.     JMP    ([A3,D1.W*4])
  8487.     ENDIF
  8488.  
  8489. MDD46:                ; LD B,(IX+D)
  8490.     MOVE.B    (A2)+,D1
  8491.     EXT.W    D1
  8492.     ROL.W    #8,D3
  8493.     MOVE.B    (A1,D1.W),D3
  8494.     ROL.W    #8,D3
  8495.     MOVE.W    (A2)+,D1
  8496.     IF    DEEBUG
  8497.     BRA    DEBUG
  8498.     ELSE
  8499.     JMP    ([A3,D1.W*4])
  8500.     ENDIF
  8501.  
  8502. MDD4E:                ; LD C,(IX+D)
  8503.     MOVE.B    (A2)+,D1
  8504.     EXT.W    D1
  8505.     MOVE.B    (A1,D1.W),D3
  8506.     MOVE.W    (A2)+,D1
  8507.     IF    DEEBUG
  8508.     BRA    DEBUG
  8509.     ELSE
  8510.     JMP    ([A3,D1.W*4])
  8511.     ENDIF
  8512.  
  8513. MDD56:                ; LD D,(IX+D)
  8514.     MOVE.B    (A2)+,D1
  8515.     EXT.W    D1
  8516.     ROL.L    #8,D3
  8517.     MOVE.B    (A1,D1.W),D3
  8518.     ROR.L    #8,D3
  8519.     MOVE.W    (A2)+,D1
  8520.     IF    DEEBUG
  8521.     BRA    DEBUG
  8522.     ELSE
  8523.     JMP    ([A3,D1.W*4])
  8524.     ENDIF
  8525.  
  8526. MDD5E:                ; LD E,(IX+D)
  8527.     MOVE.B    (A2)+,D1
  8528.     EXT.W    D1
  8529.     SWAP    D3
  8530.     MOVE.B    (A1,D1.W),D3
  8531.     SWAP    D3
  8532.     MOVE.W    (A2)+,D1
  8533.     IF    DEEBUG
  8534.     BRA    DEBUG
  8535.     ELSE
  8536.     JMP    ([A3,D1.W*4])
  8537.     ENDIF
  8538.  
  8539. MDD66:                ; LD H,(IX+D)
  8540.     MOVE.B    (A2)+,D1
  8541.     EXT.W    D1
  8542.     ROL.W    #8,D2
  8543.     MOVE.B    (A1,D1.W),D2
  8544.     ROL.W    #8,D2
  8545.     MOVE.W    (A2)+,D1
  8546.     IF    DEEBUG
  8547.     BRA    DEBUG
  8548.     ELSE
  8549.     JMP    ([A3,D1.W*4])
  8550.     ENDIF
  8551.  
  8552. MDD6E:                ; LD L,(IX+D)
  8553.     MOVE.B    (A2)+,D1
  8554.     EXT.W    D1
  8555.     MOVE.B    (A1,D1.W),D2
  8556.     MOVE.W    (A2)+,D1
  8557.     IF    DEEBUG
  8558.     BRA    DEBUG
  8559.     ELSE
  8560.     JMP    ([A3,D1.W*4])
  8561.     ENDIF
  8562.  
  8563. MDD70:                ; LD (IX+D),B
  8564.     SUBA.L    A0,A1
  8565.     MOVE.L    A1,D1        
  8566.     MOVE.B    (A2)+,D7
  8567.     EXT.W    D7
  8568.     ADD.W    D7,D1
  8569.     CMPI.W    #$4000,D1    
  8570.     BCS.B    .L1
  8571.     ADDA.L    A0,A1
  8572.     ROL.W    #8,D3
  8573.     MOVE.B    D3,(A1,D7.W)
  8574.     ROL.W    #8,D3
  8575.     MOVE.W    (A2)+,D1
  8576.     IF    DEEBUG
  8577.     BRA    DEBUG
  8578.     ELSE
  8579.     JMP    ([A3,D1.W*4])
  8580.     ENDIF
  8581.  
  8582. .L1
  8583.     CMPI.W    #$3BFF,D1    
  8584.     BHI.B    .L2
  8585.     ADDA.L    A0,A1         
  8586.     MOVE.W    (A2)+,D1
  8587.     IF    DEEBUG
  8588.     BRA    DEBUG
  8589.     ELSE
  8590.     JMP    ([A3,D1.W*4])
  8591.     ENDIF
  8592. .L2
  8593.     MOVE.W    D3,D6
  8594.     ADDA.L    A0,A1
  8595.     ROL.W    #8,D6
  8596.     MOVE.B    D6,(A1,D7.W)    
  8597.     BSR    _screenwrite    
  8598.     MOVE.W    (A2)+,D1
  8599.     IF    DEEBUG
  8600.     BRA    DEBUG
  8601.     ELSE
  8602.     JMP    ([A3,D1.W*4])
  8603.     ENDIF
  8604.  
  8605. MDD71:                ; LD (IX+D),C
  8606.     SUBA.L    A0,A1
  8607.     MOVE.L    A1,D1        
  8608.     MOVE.B    (A2)+,D7
  8609.     EXT.W    D7
  8610.     ADD.W    D7,D1
  8611.     CMPI.W    #$4000,D1    
  8612.     BCS.B    .L1
  8613.     ADDA.L    A0,A1
  8614.     MOVE.B    D3,(A1,D7.W)
  8615.     MOVE.W    (A2)+,D1
  8616.     IF    DEEBUG
  8617.     BRA    DEBUG
  8618.     ELSE
  8619.     JMP    ([A3,D1.W*4])
  8620.     ENDIF
  8621.  
  8622. .L1
  8623.     CMPI.W    #$3BFF,D1    
  8624.     BHI.B    .L2
  8625.     ADDA.L    A0,A1         
  8626.     MOVE.W    (A2)+,D1
  8627.     IF    DEEBUG
  8628.     BRA    DEBUG
  8629.     ELSE
  8630.     JMP    ([A3,D1.W*4])
  8631.     ENDIF
  8632. .L2
  8633.     MOVE.B    D3,D6
  8634.     ADDA.L    A0,A1
  8635.     MOVE.B    D6,(A1,D7.W)    
  8636.     BSR    _screenwrite    
  8637.     MOVE.W    (A2)+,D1
  8638.     IF    DEEBUG
  8639.     BRA    DEBUG
  8640.     ELSE
  8641.     JMP    ([A3,D1.W*4])
  8642.     ENDIF
  8643.  
  8644. MDD72:                ; LD (IX+D),D
  8645.     SUBA.L    A0,A1
  8646.     MOVE.L    A1,D1        
  8647.     MOVE.B    (A2)+,D7
  8648.     EXT.W    D7
  8649.     ADD.W    D7,D1
  8650.     CMPI.W    #$4000,D1    
  8651.     BCS.B    .L1
  8652.     ADDA.L    A0,A1
  8653.     ROL.L    #8,D3
  8654.     MOVE.B    D3,(A1,D7.W)
  8655.     ROR.L    #8,D3
  8656.     MOVE.W    (A2)+,D1
  8657.     IF    DEEBUG
  8658.     BRA    DEBUG
  8659.     ELSE
  8660.     JMP    ([A3,D1.W*4])
  8661.     ENDIF
  8662.  
  8663. .L1
  8664.     CMPI.W    #$3BFF,D1    
  8665.     BHI.B    .L2
  8666.     ADDA.L    A0,A1         
  8667.     MOVE.W    (A2)+,D1
  8668.     IF    DEEBUG
  8669.     BRA    DEBUG
  8670.     ELSE
  8671.     JMP    ([A3,D1.W*4])
  8672.     ENDIF
  8673. .L2
  8674.     MOVE.L    D3,D6
  8675.     ADDA.L    A0,A1
  8676.     ROL.L    #8,D6
  8677.     MOVE.B    D6,(A1,D7.W)    
  8678.     BSR    _screenwrite    
  8679.     MOVE.W    (A2)+,D1
  8680.     IF    DEEBUG
  8681.     BRA    DEBUG
  8682.     ELSE
  8683.     JMP    ([A3,D1.W*4])
  8684.     ENDIF
  8685.  
  8686. MDD73:                ; LD (IX+D),E
  8687.     SUBA.L    A0,A1
  8688.     MOVE.L    A1,D1        
  8689.     MOVE.B    (A2)+,D7
  8690.     EXT.W    D7
  8691.     ADD.W    D7,D1
  8692.     CMPI.W    #$4000,D1    
  8693.     BCS.B    .L1
  8694.     ADDA.L    A0,A1
  8695.     SWAP    D3
  8696.     MOVE.B    D3,(A1,D7.W)
  8697.     SWAP    D3
  8698.     MOVE.W    (A2)+,D1
  8699.     IF    DEEBUG
  8700.     BRA    DEBUG
  8701.     ELSE
  8702.     JMP    ([A3,D1.W*4])
  8703.     ENDIF
  8704.  
  8705. .L1
  8706.     CMPI.W    #$3BFF,D1    
  8707.     BHI.B    .L2
  8708.     ADDA.L    A0,A1         
  8709.     MOVE.W    (A2)+,D1
  8710.     IF    DEEBUG
  8711.     BRA    DEBUG
  8712.     ELSE
  8713.     JMP    ([A3,D1.W*4])
  8714.     ENDIF
  8715. .L2
  8716.     MOVE.L    D3,D6
  8717.     ADDA.L    A0,A1
  8718.     SWAP    D6
  8719.     MOVE.B    D6,(A1,D7.W)    
  8720.     BSR    _screenwrite    
  8721.     MOVE.W    (A2)+,D1
  8722.     IF    DEEBUG
  8723.     BRA    DEBUG
  8724.     ELSE
  8725.     JMP    ([A3,D1.W*4])
  8726.     ENDIF
  8727.  
  8728. MDD74:                ; LD (IX+D),H
  8729.     SUBA.L    A0,A1
  8730.     MOVE.L    A1,D1        
  8731.     MOVE.B    (A2)+,D7
  8732.     EXT.W    D7
  8733.     ADD.W    D7,D1
  8734.     CMPI.W    #$4000,D1    
  8735.     BCS.B    .L1
  8736.     ADDA.L    A0,A1
  8737.     ROL.W    #8,D2
  8738.     MOVE.B    D2,(A1,D7.W)
  8739.     ROL.W    #8,D2
  8740.     MOVE.W    (A2)+,D1
  8741.     IF    DEEBUG
  8742.     BRA    DEBUG
  8743.     ELSE
  8744.     JMP    ([A3,D1.W*4])
  8745.     ENDIF
  8746.  
  8747. .L1
  8748.     CMPI.W    #$3BFF,D1    
  8749.     BHI.B    .L2
  8750.     ADDA.L    A0,A1         
  8751.     MOVE.W    (A2)+,D1
  8752.     IF    DEEBUG
  8753.     BRA    DEBUG
  8754.     ELSE
  8755.     JMP    ([A3,D1.W*4])
  8756.     ENDIF
  8757. .L2
  8758.     MOVE.W    D2,D6
  8759.     ADDA.L    A0,A1
  8760.     ROL.W    #8,D6
  8761.     MOVE.B    D6,(A1,D7.W)    
  8762.     BSR    _screenwrite    
  8763.     MOVE.W    (A2)+,D1
  8764.     IF    DEEBUG
  8765.     BRA    DEBUG
  8766.     ELSE
  8767.     JMP    ([A3,D1.W*4])
  8768.     ENDIF
  8769.  
  8770. MDD75:                ; LD (IX+D),L
  8771.     SUBA.L    A0,A1
  8772.     MOVE.L    A1,D1        
  8773.     MOVE.B    (A2)+,D7
  8774.     EXT.W    D7
  8775.     ADD.W    D7,D1
  8776.     CMPI.W    #$4000,D1    
  8777.     BCS.B    .L1
  8778.     ADDA.L    A0,A1
  8779.     MOVE.B    D2,(A1,D7.W)
  8780.     MOVE.W    (A2)+,D1
  8781.     IF    DEEBUG
  8782.     BRA    DEBUG
  8783.     ELSE
  8784.     JMP    ([A3,D1.W*4])
  8785.     ENDIF
  8786.  
  8787. .L1
  8788.     CMPI.W    #$3BFF,D1    
  8789.     BHI.B    .L2
  8790.     ADDA.L    A0,A1         
  8791.     MOVE.W    (A2)+,D1
  8792.     IF    DEEBUG
  8793.     BRA    DEBUG
  8794.     ELSE
  8795.     JMP    ([A3,D1.W*4])
  8796.     ENDIF
  8797. .L2
  8798.     MOVE.B    D2,D6
  8799.     ADDA.L    A0,A1
  8800.     MOVE.B    D6,(A1,D7.W)    
  8801.     BSR    _screenwrite    
  8802.     MOVE.W    (A2)+,D1
  8803.     IF    DEEBUG
  8804.     BRA    DEBUG
  8805.     ELSE
  8806.     JMP    ([A3,D1.W*4])
  8807.     ENDIF
  8808.  
  8809. MDD77:                ; LD (IX+D),A
  8810.     SUBA.L    A0,A1
  8811.     MOVE.L    A1,D1        
  8812.     MOVE.B    (A2)+,D7
  8813.     EXT.W    D7
  8814.     ADD.W    D7,D1
  8815.     CMPI.W    #$4000,D1    
  8816.     BCS.B    .L1
  8817.     ADDA.L    A0,A1
  8818.     MOVE.B    D0,(A1,D7.W)
  8819.     MOVE.W    (A2)+,D1
  8820.     IF    DEEBUG
  8821.     BRA    DEBUG
  8822.     ELSE
  8823.     JMP    ([A3,D1.W*4])
  8824.     ENDIF
  8825.  
  8826. .L1
  8827.     CMPI.W    #$3BFF,D1    
  8828.     BHI.B    .L2
  8829.     ADDA.L    A0,A1         
  8830.     MOVE.W    (A2)+,D1
  8831.     IF    DEEBUG
  8832.     BRA    DEBUG
  8833.     ELSE
  8834.     JMP    ([A3,D1.W*4])
  8835.     ENDIF
  8836. .L2
  8837.     MOVE.B    D0,D6
  8838.     ADDA.L    A0,A1
  8839.     MOVE.B    D6,(A1,D7.W)    
  8840.     BSR    _screenwrite    
  8841.     MOVE.W    (A2)+,D1
  8842.     IF    DEEBUG
  8843.     BRA    DEBUG
  8844.     ELSE
  8845.     JMP    ([A3,D1.W*4])
  8846.     ENDIF
  8847.  
  8848. MDD7E:                ; LD A,(IX+D)
  8849.     MOVE.B    (A2)+,D1
  8850.     EXT.W    D1
  8851.     MOVE.B    (A1,D1.W),D0
  8852.     MOVE.W    (A2)+,D1
  8853.     IF    DEEBUG
  8854.     BRA    DEBUG
  8855.     ELSE
  8856.     JMP    ([A3,D1.W*4])
  8857.     ENDIF
  8858.  
  8859. MDD86:                ; ADD A,(IX+D)
  8860.     MOVE.B    (A2)+,D1
  8861.     EXT.W    D1
  8862.     MOVE.W    D4,CCR
  8863.     ADD.B    (A1,D1.W),D0
  8864.     MOVE.W    CCR,D4
  8865.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO ADD TABLE
  8866.     MOVE.B    $220(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  8867.     MOVE.W    (A2)+,D1
  8868.     IF    DEEBUG
  8869.     BRA    DEBUG
  8870.     ELSE
  8871.     JMP    ([A3,D1.W*4])
  8872.     ENDIF
  8873.  
  8874. MDD8E:                ; ADC A,(IX+D)
  8875.     MOVE.B    (A2)+,D1
  8876.     EXT.W    D1
  8877.     MOVE.B    (A1,D1.W),D7
  8878.     ORI.B    #4,D4        ; SET Z FOR ADDX INSTR
  8879.     MOVE.W    D4,CCR
  8880.     ADDX.B    D7,D0
  8881.     MOVE.W    CCR,D4
  8882.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO ADD TABLE
  8883.     MOVE.B    $220(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  8884.     MOVE.W    (A2)+,D1
  8885.     IF    DEEBUG
  8886.     BRA    DEBUG
  8887.     ELSE
  8888.     JMP    ([A3,D1.W*4])
  8889.     ENDIF
  8890.  
  8891. MDD96:                ; SUB (IX+D)
  8892.     MOVE.B    (A2)+,D1
  8893.     EXT.W    D1
  8894.     MOVE.W    D4,CCR
  8895.     SUB.B    (A1,D1.W),D0
  8896.     MOVE.W    CCR,D4
  8897.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO SUB TABLE
  8898.     MOVE.B    $320(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  8899.     MOVE.W    (A2)+,D1
  8900.     IF    DEEBUG
  8901.     BRA    DEBUG
  8902.     ELSE
  8903.     JMP    ([A3,D1.W*4])
  8904.     ENDIF
  8905.  
  8906. MDD9E:                ; SBC A,(IX+D)
  8907.     MOVE.B    (A2)+,D1
  8908.     EXT.W    D1
  8909.     MOVE.B    (A1,D1.W),D7
  8910.     ORI.B    #4,D4        ; SET Z FOR ADDX INSTR
  8911.     MOVE.W    D4,CCR
  8912.     SUBX.B    D7,D0
  8913.     MOVE.W    CCR,D4
  8914.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO SUB TABLE
  8915.     MOVE.B    $320(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  8916.     MOVE.W    (A2)+,D1
  8917.     IF    DEEBUG
  8918.     BRA    DEBUG
  8919.     ELSE
  8920.     JMP    ([A3,D1.W*4])
  8921.     ENDIF
  8922.  
  8923. MDDA6:                ; AND (IX+D)
  8924.     MOVE.B    (A2)+,D1
  8925.     EXT.W    D1
  8926.     MOVE.W    D4,CCR
  8927.     AND.B    (A1,D1.W),D0
  8928.     MOVE.W    CCR,D4
  8929.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO PARITY TABLE
  8930.     OR.B    (A6,D0.W),D4    ; SET V FLG TO PARITY TABLE VALUE
  8931.     ANDI.W    #$EE,D4        ; CLEAR C AND X
  8932.     MOVE.B    #$10,D5        ; SET EXTENDED Z80 FLG TO N=0 H=1
  8933.     MOVE.W    (A2)+,D1
  8934.     IF    DEEBUG
  8935.     BRA    DEBUG
  8936.     ELSE
  8937.     JMP    ([A3,D1.W*4])
  8938.     ENDIF
  8939.  
  8940. MDDAE:                ; XOR (IX+D)
  8941.     MOVE.B    (A2)+,D1
  8942.     EXT.W    D1
  8943.     MOVE.B    (A1,D1.W),D7
  8944.     MOVE.W    D4,CCR
  8945.     EOR.B    D7,D0
  8946.     MOVE.W    CCR,D4
  8947.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO PARITY TABLE
  8948.     OR.B    (A6,D0.W),D4    ; SET V FLG TO PARITY TABLE VALUE
  8949.     ANDI.W    #$EE,D4        ; CLEAR C AND X
  8950.     MOVE.B    #$10,D5        ; SET EXTENDED Z80 FLG TO N=0 H=1
  8951.     MOVE.W    (A2)+,D1
  8952.     IF    DEEBUG
  8953.     BRA    DEBUG
  8954.     ELSE
  8955.     JMP    ([A3,D1.W*4])
  8956.     ENDIF
  8957.  
  8958. MDDB6:                ; OR (IX+D)
  8959.     MOVE.B    (A2)+,D1
  8960.     EXT.W    D1
  8961.     MOVE.W    D4,CCR
  8962.     OR.B    (A1,D1.W),D0
  8963.     MOVE.W    CCR,D4
  8964.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO PARITY TABLE
  8965.     OR.B    (A6,D0.W),D4    ; SET V FLG TO PARITY TABLE VALUE
  8966.     ANDI.W    #$EE,D4        ; CLEAR C AND X
  8967.     MOVE.B    #$10,D5        ; SET EXTENDED Z80 FLG TO N=0 H=1
  8968.     MOVE.W    (A2)+,D1
  8969.     IF    DEEBUG
  8970.     BRA    DEBUG
  8971.     ELSE
  8972.     JMP    ([A3,D1.W*4])
  8973.     ENDIF
  8974.  
  8975. MDDBE:                ; CP (IX+D)
  8976.     MOVE.B    D0,D6
  8977.     MOVE.B    (A2)+,D1
  8978.     EXT.W    D1
  8979.     MOVE.W    D4,CCR
  8980.     SUB.B    (A1,D1.W),D6
  8981.     MOVE.W    CCR,D4
  8982.     ANDI.W    #$00FF,D6    ; EXT D6 FOR INDEX INTO SUB TABLE
  8983.     MOVE.B    $320(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  8984.     MOVE.W    (A2)+,D1
  8985.     IF    DEEBUG
  8986.     BRA    DEBUG
  8987.     ELSE
  8988.     JMP    ([A3,D1.W*4])
  8989.     ENDIF
  8990.  
  8991. MDDCB:                ; various (IX+d) instructions    DD CB d X
  8992.     SUBA.L    A0,A1        ; get real IX val
  8993.     MOVE.L    A1,D1
  8994.     ADDA.L    A0,A1        
  8995.     MOVE.B    (A2)+,D7    ; get d offset
  8996.     EXT.W    D7        ; sign extend
  8997.     ADD.W    D7,D1        ; D1 now has (IX+d) for later use by screenwrite()
  8998.     MOVE.B    (A2)+,D7    ; get X to decide function to perform
  8999.  
  9000.     CMPI.B    #6,D7
  9001.     BEQ.W    DDRLC
  9002.     CMPI.B    #14,D7
  9003.     BEQ.W    DDRRC
  9004.     CMPI.B    #$16,D7
  9005.     BEQ.W    DDRL
  9006.     CMPI.B    #$1E,D7
  9007.     BEQ.W    DDRR
  9008.     CMPI.B    #$26,D7
  9009.     BEQ.W    DDSLA
  9010.     CMPI.B    #$2E,D7
  9011.     BEQ.W    DDSRA
  9012.     CMPI.B    #$3E,D7
  9013.     BEQ.W    DDSRL
  9014.     CMPI.B    #$46,D7
  9015.     BEQ.W    DDBT0
  9016.     CMPI.B    #$4E,D7
  9017.     BEQ.W    DDBT1
  9018.     CMPI.B    #$56,D7
  9019.     BEQ.W    DDBT2
  9020.     CMPI.B    #$5E,D7
  9021.     BEQ.W    DDBT3
  9022.     CMPI.B    #$66,D7
  9023.     BEQ.W    DDBT4
  9024.     CMPI.B    #$6E,D7
  9025.     BEQ.W    DDBT5
  9026.     CMPI.B    #$76,D7
  9027.     BEQ.W    DDBT6
  9028.     CMPI.B    #$7E,D7
  9029.     BEQ.W    DDBT7
  9030.     CMPI.B    #$86,D7
  9031.     BEQ.W    DDRS0
  9032.     CMPI.B    #$8E,D7
  9033.     BEQ.W    DDRS1
  9034.     CMPI.B    #$96,D7
  9035.     BEQ.W    DDRS2
  9036.     CMPI.B    #$9E,D7
  9037.     BEQ.W    DDRS3
  9038.     CMPI.B    #$A6,D7
  9039.     BEQ.W    DDRS4
  9040.     CMPI.B    #$AE,D7
  9041.     BEQ.W    DDRS5
  9042.     CMPI.B    #$B6,D7
  9043.     BEQ.W    DDRS6
  9044.     CMPI.B    #$BE,D7
  9045.     BEQ.W    DDRS7
  9046.     CMPI.B    #$C6,D7
  9047.     BEQ.W    DDST0
  9048.     CMPI.B    #$CE,D7
  9049.     BEQ.W    DDST1
  9050.     CMPI.B    #$D6,D7
  9051.     BEQ.W    DDST2
  9052.     CMPI.B    #$DE,D7
  9053.     BEQ.W    DDST3
  9054.     CMPI.B    #$E6,D7
  9055.     BEQ.W    DDST4
  9056.     CMPI.B    #$EE,D7
  9057.     BEQ.W    DDST5
  9058.     CMPI.B    #$F6,D7
  9059.     BEQ.W    DDST6
  9060.     CMPI.B    #$FE,D7
  9061.     BEQ.W    DDST7
  9062.  
  9063.     BRA    ILLEGAL        ; ILLEGAL IF NO MATCH IN TABLE
  9064.  
  9065. DDRLC:                ; RLC (IX+D)
  9066.  
  9067.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  9068.     BCS.B    .L1
  9069.     MOVE.B    (A0,D1.L),D6
  9070.     MOVE.W    D4,CCR
  9071.     ROL.B    #1,D6
  9072.     MOVE.W    CCR,D4
  9073.     SCS    D7
  9074.     ANDI.B    #$01,D7
  9075.     ROL.B    #4,D7
  9076.     OR.B    D7,D4
  9077.     ANDI.W    #$00FF,D6
  9078.     OR.B    (A6,D6.W),D4
  9079.     MOVEQ.B    #0,D5
  9080.     MOVE.B    D6,(A0,D1.L)
  9081.     MOVE.W    (A2)+,D1
  9082.     IF    DEEBUG
  9083.     BRA    DEBUG
  9084.     ELSE
  9085.     JMP    ([A3,D1.W*4])
  9086.     ENDIF
  9087. .L1
  9088.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  9089.     BHI.B    .L2
  9090.     MOVE.B    (A0,D1.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER (HL)
  9091.     ROL.B    #1,D6
  9092.     MOVE.W    CCR,D4
  9093.     SCS    D7
  9094.     ANDI.B    #$01,D7
  9095.     ROL.B    #4,D7
  9096.     OR.B    D7,D4
  9097.     ANDI.W    #$00FF,D6
  9098.     OR.B    (A6,D6.W),D4
  9099.     MOVEQ.B    #0,D5
  9100.     MOVE.W    (A2)+,D1
  9101.     IF    DEEBUG
  9102.     BRA    DEBUG
  9103.     ELSE
  9104.     JMP    ([A3,D1.W*4])
  9105.     ENDIF
  9106. .L2
  9107.     MOVE.B    (A0,D1.L),D6
  9108.     MOVE.W    D4,CCR
  9109.     ROL.B    #1,D6
  9110.     MOVE.W    CCR,D4
  9111.     SCS    D7
  9112.     ANDI.B    #$01,D7
  9113.     ROL.B    #4,D7
  9114.     OR.B    D7,D4
  9115.     ANDI.W    #$00FF,D6
  9116.     OR.B    (A6,D6.W),D4
  9117.     MOVEQ.B    #0,D5
  9118.     MOVE.B    D6,(A0,D1.L)
  9119.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  9120.     MOVE.W    (A2)+,D1
  9121.     IF    DEEBUG
  9122.     BRA    DEBUG
  9123.     ELSE
  9124.     JMP    ([A3,D1.W*4])
  9125.     ENDIF
  9126.  
  9127. DDRRC:                ; RRC (IX+D)
  9128.  
  9129.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  9130.     BCS.B    .L1
  9131.     MOVE.B    (A0,D1.L),D6
  9132.     MOVE.W    D4,CCR
  9133.     ROR.B    #1,D6
  9134.     MOVE.W    CCR,D4
  9135.     SCS    D7
  9136.     ANDI.B    #$01,D7
  9137.     ROL.B    #4,D7
  9138.     OR.B    D7,D4
  9139.     ANDI.W    #$00FF,D6
  9140.     OR.B    (A6,D6.W),D4
  9141.     MOVEQ.B    #0,D5
  9142.     MOVE.B    D6,(A0,D1.L)
  9143.     MOVE.W    (A2)+,D1
  9144.     IF    DEEBUG
  9145.     BRA    DEBUG
  9146.     ELSE
  9147.     JMP    ([A3,D1.W*4])
  9148.     ENDIF
  9149. .L1
  9150.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  9151.     BHI.B    .L2
  9152.     MOVE.B    (A0,D1.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER (HL)
  9153.     ROR.B    #1,D6
  9154.     MOVE.W    CCR,D4
  9155.     SCS    D7
  9156.     ANDI.B    #$01,D7
  9157.     ROL.B    #4,D7
  9158.     OR.B    D7,D4
  9159.     ANDI.W    #$00FF,D6
  9160.     OR.B    (A6,D6.W),D4
  9161.     MOVEQ.B    #0,D5
  9162.     MOVE.W    (A2)+,D1
  9163.     IF    DEEBUG
  9164.     BRA    DEBUG
  9165.     ELSE
  9166.     JMP    ([A3,D1.W*4])
  9167.     ENDIF
  9168. .L2
  9169.     MOVE.B    (A0,D1.L),D6
  9170.     MOVE.W    D4,CCR
  9171.     ROR.B    #1,D6
  9172.     MOVE.W    CCR,D4
  9173.     SCS    D7
  9174.     ANDI.B    #$01,D7
  9175.     ROL.B    #4,D7
  9176.     OR.B    D7,D4
  9177.     ANDI.W    #$00FF,D6
  9178.     OR.B    (A6,D6.W),D4
  9179.     MOVEQ.B    #0,D5
  9180.     MOVE.B    D6,(A0,D1.L)
  9181.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  9182.     MOVE.W    (A2)+,D1
  9183.     IF    DEEBUG
  9184.     BRA    DEBUG
  9185.     ELSE
  9186.     JMP    ([A3,D1.W*4])
  9187.     ENDIF
  9188.  
  9189. DDRL:                ; RL (IX+D)
  9190.  
  9191.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  9192.     BCS.B    .L1
  9193.     MOVE.B    (A0,D1.L),D6
  9194.     MOVE.W    D4,CCR
  9195.     ROXL.B    #1,D6
  9196.     MOVE.W    CCR,D4
  9197.     SCS    D7
  9198.     ANDI.B    #$01,D7
  9199.     ROL.B    #4,D7
  9200.     OR.B    D7,D4
  9201.     ANDI.W    #$00FF,D6
  9202.     OR.B    (A6,D6.W),D4
  9203.     MOVEQ.B    #0,D5
  9204.     MOVE.B    D6,(A0,D1.L)
  9205.     MOVE.W    (A2)+,D1
  9206.     IF    DEEBUG
  9207.     BRA    DEBUG
  9208.     ELSE
  9209.     JMP    ([A3,D1.W*4])
  9210.     ENDIF
  9211. .L1
  9212.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  9213.     BHI.B    .L2
  9214.     MOVE.B    (A0,D1.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER (HL)
  9215.     ROXL.B    #1,D6
  9216.     MOVE.W    CCR,D4
  9217.     SCS    D7
  9218.     ANDI.B    #$01,D7
  9219.     ROL.B    #4,D7
  9220.     OR.B    D7,D4
  9221.     ANDI.W    #$00FF,D6
  9222.     OR.B    (A6,D6.W),D4
  9223.     MOVEQ.B    #0,D5
  9224.     MOVE.W    (A2)+,D1
  9225.     IF    DEEBUG
  9226.     BRA    DEBUG
  9227.     ELSE
  9228.     JMP    ([A3,D1.W*4])
  9229.     ENDIF
  9230. .L2
  9231.     MOVE.B    (A0,D1.L),D6
  9232.     MOVE.W    D4,CCR
  9233.     ROXL.B    #1,D6
  9234.     MOVE.W    CCR,D4
  9235.     SCS    D7
  9236.     ANDI.B    #$01,D7
  9237.     ROL.B    #4,D7
  9238.     OR.B    D7,D4
  9239.     ANDI.W    #$00FF,D6
  9240.     OR.B    (A6,D6.W),D4
  9241.     MOVEQ.B    #0,D5
  9242.     MOVE.B    D6,(A0,D1.L)
  9243.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  9244.     MOVE.W    (A2)+,D1
  9245.     IF    DEEBUG
  9246.     BRA    DEBUG
  9247.     ELSE
  9248.     JMP    ([A3,D1.W*4])
  9249.     ENDIF
  9250.  
  9251. DDRR:                ; RR (IX+D)
  9252.  
  9253.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  9254.     BCS.B    .L1
  9255.     MOVE.B    (A0,D1.L),D6
  9256.     MOVE.W    D4,CCR
  9257.     ROXR.B    #1,D6
  9258.     MOVE.W    CCR,D4
  9259.     SCS    D7
  9260.     ANDI.B    #$01,D7
  9261.     ROL.B    #4,D7
  9262.     OR.B    D7,D4
  9263.     ANDI.W    #$00FF,D6
  9264.     OR.B    (A6,D6.W),D4
  9265.     MOVEQ.B    #0,D5
  9266.     MOVE.B    D6,(A0,D1.L)
  9267.     MOVE.W    (A2)+,D1
  9268.     IF    DEEBUG
  9269.     BRA    DEBUG
  9270.     ELSE
  9271.     JMP    ([A3,D1.W*4])
  9272.     ENDIF
  9273. .L1
  9274.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  9275.     BHI.B    .L2
  9276.     MOVE.B    (A0,D1.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER (HL)
  9277.     ROXR.B    #1,D6
  9278.     MOVE.W    CCR,D4
  9279.     SCS    D7
  9280.     ANDI.B    #$01,D7
  9281.     ROL.B    #4,D7
  9282.     OR.B    D7,D4
  9283.     ANDI.W    #$00FF,D6
  9284.     OR.B    (A6,D6.W),D4
  9285.     MOVEQ.B    #0,D5
  9286.     MOVE.W    (A2)+,D1
  9287.     IF    DEEBUG
  9288.     BRA    DEBUG
  9289.     ELSE
  9290.     JMP    ([A3,D1.W*4])
  9291.     ENDIF
  9292. .L2
  9293.     MOVE.B    (A0,D1.L),D6
  9294.     MOVE.W    D4,CCR
  9295.     ROXR.B    #1,D6
  9296.     MOVE.W    CCR,D4
  9297.     SCS    D7
  9298.     ANDI.B    #$01,D7
  9299.     ROL.B    #4,D7
  9300.     OR.B    D7,D4
  9301.     ANDI.W    #$00FF,D6
  9302.     OR.B    (A6,D6.W),D4
  9303.     MOVEQ.B    #0,D5
  9304.     MOVE.B    D6,(A0,D1.L)
  9305.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  9306.     MOVE.W    (A2)+,D1
  9307.     IF    DEEBUG
  9308.     BRA    DEBUG
  9309.     ELSE
  9310.     JMP    ([A3,D1.W*4])
  9311.     ENDIF
  9312.  
  9313. DDSLA:                ; SLA (IX+D)
  9314.  
  9315.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  9316.     BCS.B    .L1
  9317.     MOVE.B    (A0,D1.L),D6
  9318.     MOVE.W    D4,CCR
  9319.     LSL.B    #1,D6
  9320.     MOVE.W    CCR,D4
  9321.     SCS    D7
  9322.     ANDI.B    #$01,D7
  9323.     ROL.B    #4,D7
  9324.     OR.B    D7,D4
  9325.     ANDI.W    #$00FF,D6
  9326.     OR.B    (A6,D6.W),D4
  9327.     MOVEQ.B    #0,D5
  9328.     MOVE.B    D6,(A0,D1.L)
  9329.     MOVE.W    (A2)+,D1
  9330.     IF    DEEBUG
  9331.     BRA    DEBUG
  9332.     ELSE
  9333.     JMP    ([A3,D1.W*4])
  9334.     ENDIF
  9335. .L1
  9336.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  9337.     BHI.B    .L2
  9338.     MOVE.B    (A0,D1.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER (HL)
  9339.     LSL.B    #1,D6
  9340.     MOVE.W    CCR,D4
  9341.     SCS    D7
  9342.     ANDI.B    #$01,D7
  9343.     ROL.B    #4,D7
  9344.     OR.B    D7,D4
  9345.     ANDI.W    #$00FF,D6
  9346.     OR.B    (A6,D6.W),D4
  9347.     MOVEQ.B    #0,D5
  9348.     MOVE.W    (A2)+,D1
  9349.     IF    DEEBUG
  9350.     BRA    DEBUG
  9351.     ELSE
  9352.     JMP    ([A3,D1.W*4])
  9353.     ENDIF
  9354. .L2
  9355.     MOVE.B    (A0,D1.L),D6
  9356.     MOVE.W    D4,CCR
  9357.     LSL.B    #1,D6
  9358.     MOVE.W    CCR,D4
  9359.     SCS    D7
  9360.     ANDI.B    #$01,D7
  9361.     ROL.B    #4,D7
  9362.     OR.B    D7,D4
  9363.     ANDI.W    #$00FF,D6
  9364.     OR.B    (A6,D6.W),D4
  9365.     MOVEQ.B    #0,D5
  9366.     MOVE.B    D6,(A0,D1.L)
  9367.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  9368.     MOVE.W    (A2)+,D1
  9369.     IF    DEEBUG
  9370.     BRA    DEBUG
  9371.     ELSE
  9372.     JMP    ([A3,D1.W*4])
  9373.     ENDIF
  9374.  
  9375. DDSRA:                ; SRA (IX+D)
  9376.  
  9377.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  9378.     BCS.B    .L1
  9379.     MOVE.B    (A0,D1.L),D6
  9380.     MOVE.W    D4,CCR
  9381.     ASR.B    #1,D6
  9382.     MOVE.W    CCR,D4
  9383.     SCS    D7
  9384.     ANDI.B    #$01,D7
  9385.     ROL.B    #4,D7
  9386.     OR.B    D7,D4
  9387.     ANDI.W    #$00FF,D6
  9388.     OR.B    (A6,D6.W),D4
  9389.     MOVEQ.B    #0,D5
  9390.     MOVE.B    D6,(A0,D1.L)
  9391.     MOVE.W    (A2)+,D1
  9392.     IF    DEEBUG
  9393.     BRA    DEBUG
  9394.     ELSE
  9395.     JMP    ([A3,D1.W*4])
  9396.     ENDIF
  9397. .L1
  9398.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  9399.     BHI.B    .L2
  9400.     MOVE.B    (A0,D1.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER (HL)
  9401.     ASR.B    #1,D6
  9402.     MOVE.W    CCR,D4
  9403.     SCS    D7
  9404.     ANDI.B    #$01,D7
  9405.     ROL.B    #4,D7
  9406.     OR.B    D7,D4
  9407.     ANDI.W    #$00FF,D6
  9408.     OR.B    (A6,D6.W),D4
  9409.     MOVEQ.B    #0,D5
  9410.     MOVE.W    (A2)+,D1
  9411.     IF    DEEBUG
  9412.     BRA    DEBUG
  9413.     ELSE
  9414.     JMP    ([A3,D1.W*4])
  9415.     ENDIF
  9416. .L2
  9417.     MOVE.B    (A0,D1.L),D6
  9418.     MOVE.W    D4,CCR
  9419.     ASR.B    #1,D6
  9420.     MOVE.W    CCR,D4
  9421.     SCS    D7
  9422.     ANDI.B    #$01,D7
  9423.     ROL.B    #4,D7
  9424.     OR.B    D7,D4
  9425.     ANDI.W    #$00FF,D6
  9426.     OR.B    (A6,D6.W),D4
  9427.     MOVEQ.B    #0,D5
  9428.     MOVE.B    D6,(A0,D1.L)
  9429.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  9430.     MOVE.W    (A2)+,D1
  9431.     IF    DEEBUG
  9432.     BRA    DEBUG
  9433.     ELSE
  9434.     JMP    ([A3,D1.W*4])
  9435.     ENDIF
  9436.  
  9437. DDSRL:                ; SRL (IX+D)
  9438.  
  9439.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  9440.     BCS.B    .L1
  9441.     MOVE.B    (A0,D1.L),D6
  9442.     MOVE.W    D4,CCR
  9443.     LSR.B    #1,D6
  9444.     MOVE.W    CCR,D4
  9445.     SCS    D7
  9446.     ANDI.B    #$01,D7
  9447.     ROL.B    #4,D7
  9448.     OR.B    D7,D4
  9449.     ANDI.W    #$00FF,D6
  9450.     OR.B    (A6,D6.W),D4
  9451.     MOVEQ.B    #0,D5
  9452.     MOVE.B    D6,(A0,D1.L)
  9453.     MOVE.W    (A2)+,D1
  9454.     IF    DEEBUG
  9455.     BRA    DEBUG
  9456.     ELSE
  9457.     JMP    ([A3,D1.W*4])
  9458.     ENDIF
  9459. .L1
  9460.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  9461.     BHI.B    .L2
  9462.     MOVE.B    (A0,D1.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER (HL)
  9463.     LSR.B    #1,D6
  9464.     MOVE.W    CCR,D4
  9465.     SCS    D7
  9466.     ANDI.B    #$01,D7
  9467.     ROL.B    #4,D7
  9468.     OR.B    D7,D4
  9469.     ANDI.W    #$00FF,D6
  9470.     OR.B    (A6,D6.W),D4
  9471.     MOVEQ.B    #0,D5
  9472.     MOVE.W    (A2)+,D1
  9473.     IF    DEEBUG
  9474.     BRA    DEBUG
  9475.     ELSE
  9476.     JMP    ([A3,D1.W*4])
  9477.     ENDIF
  9478. .L2
  9479.     MOVE.B    (A0,D1.L),D6
  9480.     MOVE.W    D4,CCR
  9481.     LSR.B    #1,D6
  9482.     MOVE.W    CCR,D4
  9483.     SCS    D7
  9484.     ANDI.B    #$01,D7
  9485.     ROL.B    #4,D7
  9486.     OR.B    D7,D4
  9487.     ANDI.W    #$00FF,D6
  9488.     OR.B    (A6,D6.W),D4
  9489.     MOVEQ.B    #0,D5
  9490.     MOVE.B    D6,(A0,D1.L)
  9491.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  9492.     MOVE.W    (A2)+,D1
  9493.     IF    DEEBUG
  9494.     BRA    DEBUG
  9495.     ELSE
  9496.     JMP    ([A3,D1.W*4])
  9497.     ENDIF
  9498.  
  9499. DDBT0:    MOVE.B    (A0,D1.L),D7        ; BTST 0 IXD
  9500.     MOVE.W    D4,CCR
  9501.     BTST    #0,D7
  9502.     MOVE.W    CCR,D4
  9503.     MOVEQ    #$10,D5        ; SET H=1,N=0
  9504.     MOVE.W    (A2)+,D1
  9505.     IF    DEEBUG
  9506.     BRA    DEBUG
  9507.     ELSE
  9508.     JMP    ([A3,D1.W*4])
  9509.     ENDIF
  9510.  
  9511. DDBT1:    MOVE.B    (A0,D1.L),D7
  9512.     MOVE.W    D4,CCR
  9513.     BTST    #1,D7
  9514.     MOVE.W    CCR,D4
  9515.     MOVEQ    #$10,D5        ; SET H=1,N=0
  9516.     MOVE.W    (A2)+,D1
  9517.     IF    DEEBUG
  9518.     BRA    DEBUG
  9519.     ELSE
  9520.     JMP    ([A3,D1.W*4])
  9521.     ENDIF
  9522.  
  9523. DDBT2:    MOVE.B    (A0,D1.L),D7
  9524.     MOVE.W    D4,CCR
  9525.     BTST    #2,D7
  9526.     MOVE.W    CCR,D4
  9527.     MOVEQ    #$10,D5        ; SET H=1,N=0
  9528.     MOVE.W    (A2)+,D1
  9529.     IF    DEEBUG
  9530.     BRA    DEBUG
  9531.     ELSE
  9532.     JMP    ([A3,D1.W*4])
  9533.     ENDIF
  9534.  
  9535. DDBT3:    MOVE.B    (A0,D1.L),D7
  9536.     MOVE.W    D4,CCR
  9537.     BTST    #3,D7
  9538.     MOVE.W    CCR,D4
  9539.     MOVEQ    #$10,D5        ; SET H=1,N=0
  9540.     MOVE.W    (A2)+,D1
  9541.     IF    DEEBUG
  9542.     BRA    DEBUG
  9543.     ELSE
  9544.     JMP    ([A3,D1.W*4])
  9545.     ENDIF
  9546.  
  9547. DDBT4:    MOVE.B    (A0,D1.L),D7
  9548.     MOVE.W    D4,CCR
  9549.     BTST    #4,D7
  9550.     MOVE.W    CCR,D4
  9551.     MOVEQ    #$10,D5        ; SET H=1,N=0
  9552.     MOVE.W    (A2)+,D1
  9553.     IF    DEEBUG
  9554.     BRA    DEBUG
  9555.     ELSE
  9556.     JMP    ([A3,D1.W*4])
  9557.     ENDIF
  9558.  
  9559. DDBT5:    MOVE.B    (A0,D1.L),D7
  9560.     MOVE.W    D4,CCR
  9561.     BTST    #5,D7
  9562.     MOVE.W    CCR,D4
  9563.     MOVEQ    #$10,D5        ; SET H=1,N=0
  9564.     MOVE.W    (A2)+,D1
  9565.     IF    DEEBUG
  9566.     BRA    DEBUG
  9567.     ELSE
  9568.     JMP    ([A3,D1.W*4])
  9569.     ENDIF
  9570.  
  9571. DDBT6:    MOVE.B    (A0,D1.L),D7
  9572.     MOVE.W    D4,CCR
  9573.     BTST    #6,D7
  9574.     MOVE.W    CCR,D4
  9575.     MOVEQ    #$10,D5        ; SET H=1,N=0
  9576.     MOVE.W    (A2)+,D1
  9577.     IF    DEEBUG
  9578.     BRA    DEBUG
  9579.     ELSE
  9580.     JMP    ([A3,D1.W*4])
  9581.     ENDIF
  9582.  
  9583. DDBT7:    MOVE.B    (A0,D1.L),D7
  9584.     MOVE.W    D4,CCR
  9585.     BTST    #7,D7
  9586.     MOVE.W    CCR,D4
  9587.     MOVEQ    #$10,D5        ; SET H=1,N=0
  9588.     MOVE.W    (A2)+,D1
  9589.     IF    DEEBUG
  9590.     BRA    DEBUG
  9591.     ELSE
  9592.     JMP    ([A3,D1.W*4])
  9593.     ENDIF
  9594.  
  9595. DDRS0:    CMPI.W    #$4000,D1    ; RES 0 IXD
  9596.     BCS.B    .L1
  9597.     BCLR    #0,(A0,D1.L)
  9598.     MOVE.W    (A2)+,D1
  9599.     IF    DEEBUG
  9600.     BRA    DEBUG
  9601.     ELSE
  9602.     JMP    ([A3,D1.W*4])
  9603.     ENDIF
  9604. .L1
  9605.     CMPI.W    #$3BFF,D1    
  9606.     BHI.B    .L2
  9607.     MOVE.W    (A2)+,D1
  9608.     IF    DEEBUG
  9609.     BRA    DEBUG
  9610.     ELSE
  9611.     JMP    ([A3,D1.W*4])
  9612.     ENDIF
  9613. .L2
  9614.     BCLR    #0,(A0,D1.L)
  9615.     MOVE.B    (A0,D1.L),D6    
  9616.     BSR    _screenwrite
  9617.     MOVE.W    (A2)+,D1
  9618.     IF    DEEBUG
  9619.     BRA    DEBUG
  9620.     ELSE
  9621.     JMP    ([A3,D1.W*4])
  9622.     ENDIF
  9623.  
  9624. DDRS1:    CMPI.W    #$4000,D1    
  9625.     BCS.B    .L1
  9626.     BCLR    #1,(A0,D1.L)
  9627.     MOVE.W    (A2)+,D1
  9628.     IF    DEEBUG
  9629.     BRA    DEBUG
  9630.     ELSE
  9631.     JMP    ([A3,D1.W*4])
  9632.     ENDIF
  9633. .L1
  9634.     CMPI.W    #$3BFF,D1    
  9635.     BHI.B    .L2
  9636.     MOVE.W    (A2)+,D1
  9637.     IF    DEEBUG
  9638.     BRA    DEBUG
  9639.     ELSE
  9640.     JMP    ([A3,D1.W*4])
  9641.     ENDIF
  9642. .L2
  9643.     BCLR    #1,(A0,D1.L)
  9644.     MOVE.B    (A0,D1.L),D6    
  9645.     BSR    _screenwrite
  9646.     MOVE.W    (A2)+,D1
  9647.     IF    DEEBUG
  9648.     BRA    DEBUG
  9649.     ELSE
  9650.     JMP    ([A3,D1.W*4])
  9651.     ENDIF
  9652.  
  9653. DDRS2:    CMPI.W    #$4000,D1    
  9654.     BCS.B    .L1
  9655.     BCLR    #2,(A0,D1.L)
  9656.     MOVE.W    (A2)+,D1
  9657.     IF    DEEBUG
  9658.     BRA    DEBUG
  9659.     ELSE
  9660.     JMP    ([A3,D1.W*4])
  9661.     ENDIF
  9662. .L1
  9663.     CMPI.W    #$3BFF,D1    
  9664.     BHI.B    .L2
  9665.     MOVE.W    (A2)+,D1
  9666.     IF    DEEBUG
  9667.     BRA    DEBUG
  9668.     ELSE
  9669.     JMP    ([A3,D1.W*4])
  9670.     ENDIF
  9671. .L2
  9672.     BCLR    #2,(A0,D1.L)
  9673.     MOVE.B    (A0,D1.L),D6    
  9674.     BSR    _screenwrite
  9675.     MOVE.W    (A2)+,D1
  9676.     IF    DEEBUG
  9677.     BRA    DEBUG
  9678.     ELSE
  9679.     JMP    ([A3,D1.W*4])
  9680.     ENDIF
  9681.  
  9682. DDRS3:    CMPI.W    #$4000,D1    
  9683.     BCS.B    .L1
  9684.     BCLR    #3,(A0,D1.L)
  9685.     MOVE.W    (A2)+,D1
  9686.     IF    DEEBUG
  9687.     BRA    DEBUG
  9688.     ELSE
  9689.     JMP    ([A3,D1.W*4])
  9690.     ENDIF
  9691. .L1
  9692.     CMPI.W    #$3BFF,D1    
  9693.     BHI.B    .L2
  9694.     MOVE.W    (A2)+,D1
  9695.     IF    DEEBUG
  9696.     BRA    DEBUG
  9697.     ELSE
  9698.     JMP    ([A3,D1.W*4])
  9699.     ENDIF
  9700. .L2
  9701.     BCLR    #3,(A0,D1.L)
  9702.     MOVE.B    (A0,D1.L),D6    
  9703.     BSR    _screenwrite
  9704.     MOVE.W    (A2)+,D1
  9705.     IF    DEEBUG
  9706.     BRA    DEBUG
  9707.     ELSE
  9708.     JMP    ([A3,D1.W*4])
  9709.     ENDIF
  9710.  
  9711. DDRS4:    CMPI.W    #$4000,D1    
  9712.     BCS.B    .L1
  9713.     BCLR    #4,(A0,D1.L)
  9714.     MOVE.W    (A2)+,D1
  9715.     IF    DEEBUG
  9716.     BRA    DEBUG
  9717.     ELSE
  9718.     JMP    ([A3,D1.W*4])
  9719.     ENDIF
  9720. .L1
  9721.     CMPI.W    #$3BFF,D1    
  9722.     BHI.B    .L2
  9723.     MOVE.W    (A2)+,D1
  9724.     IF    DEEBUG
  9725.     BRA    DEBUG
  9726.     ELSE
  9727.     JMP    ([A3,D1.W*4])
  9728.     ENDIF
  9729. .L2
  9730.     BCLR    #4,(A0,D1.L)
  9731.     MOVE.B    (A0,D1.L),D6    
  9732.     BSR    _screenwrite
  9733.     MOVE.W    (A2)+,D1
  9734.     IF    DEEBUG
  9735.     BRA    DEBUG
  9736.     ELSE
  9737.     JMP    ([A3,D1.W*4])
  9738.     ENDIF
  9739.  
  9740. DDRS5:    CMPI.W    #$4000,D1    
  9741.     BCS.B    .L1
  9742.     BCLR    #5,(A0,D1.L)
  9743.     MOVE.W    (A2)+,D1
  9744.     IF    DEEBUG
  9745.     BRA    DEBUG
  9746.     ELSE
  9747.     JMP    ([A3,D1.W*4])
  9748.     ENDIF
  9749. .L1
  9750.     CMPI.W    #$3BFF,D1    
  9751.     BHI.B    .L2
  9752.     MOVE.W    (A2)+,D1
  9753.     IF    DEEBUG
  9754.     BRA    DEBUG
  9755.     ELSE
  9756.     JMP    ([A3,D1.W*4])
  9757.     ENDIF
  9758. .L2
  9759.     BCLR    #5,(A0,D1.L)
  9760.     MOVE.B    (A0,D1.L),D6    
  9761.     BSR    _screenwrite
  9762.     MOVE.W    (A2)+,D1
  9763.     IF    DEEBUG
  9764.     BRA    DEBUG
  9765.     ELSE
  9766.     JMP    ([A3,D1.W*4])
  9767.     ENDIF
  9768.  
  9769. DDRS6:    CMPI.W    #$4000,D1    
  9770.     BCS.B    .L1
  9771.     BCLR    #6,(A0,D1.L)
  9772.     MOVE.W    (A2)+,D1
  9773.     IF    DEEBUG
  9774.     BRA    DEBUG
  9775.     ELSE
  9776.     JMP    ([A3,D1.W*4])
  9777.     ENDIF
  9778. .L1
  9779.     CMPI.W    #$3BFF,D1    
  9780.     BHI.B    .L2
  9781.     MOVE.W    (A2)+,D1
  9782.     IF    DEEBUG
  9783.     BRA    DEBUG
  9784.     ELSE
  9785.     JMP    ([A3,D1.W*4])
  9786.     ENDIF
  9787. .L2
  9788.     BCLR    #6,(A0,D1.L)
  9789.     MOVE.B    (A0,D1.L),D6    
  9790.     BSR    _screenwrite
  9791.     MOVE.W    (A2)+,D1
  9792.     IF    DEEBUG
  9793.     BRA    DEBUG
  9794.     ELSE
  9795.     JMP    ([A3,D1.W*4])
  9796.     ENDIF
  9797.  
  9798. DDRS7:    CMPI.W    #$4000,D1    
  9799.     BCS.B    .L1
  9800.     BCLR    #7,(A0,D1.L)
  9801.     MOVE.W    (A2)+,D1
  9802.     IF    DEEBUG
  9803.     BRA    DEBUG
  9804.     ELSE
  9805.     JMP    ([A3,D1.W*4])
  9806.     ENDIF
  9807. .L1
  9808.     CMPI.W    #$3BFF,D1    
  9809.     BHI.B    .L2
  9810.     MOVE.W    (A2)+,D1
  9811.     IF    DEEBUG
  9812.     BRA    DEBUG
  9813.     ELSE
  9814.     JMP    ([A3,D1.W*4])
  9815.     ENDIF
  9816. .L2
  9817.     BCLR    #7,(A0,D1.L)
  9818.     MOVE.B    (A0,D1.L),D6    
  9819.     BSR    _screenwrite
  9820.     MOVE.W    (A2)+,D1
  9821.     IF    DEEBUG
  9822.     BRA    DEBUG
  9823.     ELSE
  9824.     JMP    ([A3,D1.W*4])
  9825.     ENDIF
  9826.  
  9827. DDST0:    CMPI.W    #$4000,D1    ;    SET 0 IXD (D1 HOLDS IX+D)
  9828.     BCS.B    .L1
  9829.     BSET    #0,(A0,D1.L)
  9830.     MOVE.W    (A2)+,D1
  9831.     IF    DEEBUG
  9832.     BRA    DEBUG
  9833.     ELSE
  9834.     JMP    ([A3,D1.W*4])
  9835.     ENDIF
  9836. .L1
  9837.     CMPI.W    #$3BFF,D1    
  9838.     BHI.B    .L2
  9839.     MOVE.W    (A2)+,D1
  9840.     IF    DEEBUG
  9841.     BRA    DEBUG
  9842.     ELSE
  9843.     JMP    ([A3,D1.W*4])
  9844.     ENDIF
  9845. .L2
  9846.     BSET    #0,(A0,D1.L)
  9847.     MOVE.B    (A0,D1.L),D6    
  9848.     BSR    _screenwrite
  9849.     MOVE.W    (A2)+,D1
  9850.     IF    DEEBUG
  9851.     BRA    DEBUG
  9852.     ELSE
  9853.     JMP    ([A3,D1.W*4])
  9854.     ENDIF
  9855.  
  9856. DDST1:    CMPI.W    #$4000,D1    ;    SET 1 IXD
  9857.     BCS.B    .L1
  9858.     BSET    #1,(A0,D1.L)
  9859.     MOVE.W    (A2)+,D1
  9860.     IF    DEEBUG
  9861.     BRA    DEBUG
  9862.     ELSE
  9863.     JMP    ([A3,D1.W*4])
  9864.     ENDIF
  9865. .L1
  9866.     CMPI.W    #$3BFF,D1    
  9867.     BHI.B    .L2
  9868.     MOVE.W    (A2)+,D1
  9869.     IF    DEEBUG
  9870.     BRA    DEBUG
  9871.     ELSE
  9872.     JMP    ([A3,D1.W*4])
  9873.     ENDIF
  9874. .L2
  9875.     BSET    #1,(A0,D1.L)
  9876.     MOVE.B    (A0,D1.L),D6    
  9877.     BSR    _screenwrite
  9878.     MOVE.W    (A2)+,D1
  9879.     IF    DEEBUG
  9880.     BRA    DEBUG
  9881.     ELSE
  9882.     JMP    ([A3,D1.W*4])
  9883.     ENDIF
  9884.  
  9885. DDST2:    CMPI.W    #$4000,D1    ; SET 2 IXD
  9886.     BCS.B    .L1
  9887.     BSET    #2,(A0,D1.L)
  9888.     MOVE.W    (A2)+,D1
  9889.     IF    DEEBUG
  9890.     BRA    DEBUG
  9891.     ELSE
  9892.     JMP    ([A3,D1.W*4])
  9893.     ENDIF
  9894. .L1
  9895.     CMPI.W    #$3BFF,D1    
  9896.     BHI.B    .L2
  9897.     MOVE.W    (A2)+,D1
  9898.     IF    DEEBUG
  9899.     BRA    DEBUG
  9900.     ELSE
  9901.     JMP    ([A3,D1.W*4])
  9902.     ENDIF
  9903. .L2
  9904.     BSET    #2,(A0,D1.L)
  9905.     MOVE.B    (A0,D1.L),D6    
  9906.     BSR    _screenwrite
  9907.     MOVE.W    (A2)+,D1
  9908.     IF    DEEBUG
  9909.     BRA    DEBUG
  9910.     ELSE
  9911.     JMP    ([A3,D1.W*4])
  9912.     ENDIF
  9913.  
  9914. DDST3:    CMPI.W    #$4000,D1    ; SET 3 IXD 
  9915.     BCS.B    .L1
  9916.     BSET    #3,(A0,D1.L)
  9917.     MOVE.W    (A2)+,D1
  9918.     IF    DEEBUG
  9919.     BRA    DEBUG
  9920.     ELSE
  9921.     JMP    ([A3,D1.W*4])
  9922.     ENDIF
  9923. .L1
  9924.     CMPI.W    #$3BFF,D1    
  9925.     BHI.B    .L2
  9926.     MOVE.W    (A2)+,D1
  9927.     IF    DEEBUG
  9928.     BRA    DEBUG
  9929.     ELSE
  9930.     JMP    ([A3,D1.W*4])
  9931.     ENDIF
  9932. .L2
  9933.     BSET    #3,(A0,D1.L)
  9934.     MOVE.B    (A0,D1.L),D6    
  9935.     BSR    _screenwrite
  9936.     MOVE.W    (A2)+,D1
  9937.     IF    DEEBUG
  9938.     BRA    DEBUG
  9939.     ELSE
  9940.     JMP    ([A3,D1.W*4])
  9941.     ENDIF
  9942.  
  9943. DDST4:    CMPI.W    #$4000,D1    
  9944.     BCS.B    .L1
  9945.     BSET    #4,(A0,D1.L)
  9946.     MOVE.W    (A2)+,D1
  9947.     IF    DEEBUG
  9948.     BRA    DEBUG
  9949.     ELSE
  9950.     JMP    ([A3,D1.W*4])
  9951.     ENDIF
  9952. .L1
  9953.     CMPI.W    #$3BFF,D1    
  9954.     BHI.B    .L2
  9955.     MOVE.W    (A2)+,D1
  9956.     IF    DEEBUG
  9957.     BRA    DEBUG
  9958.     ELSE
  9959.     JMP    ([A3,D1.W*4])
  9960.     ENDIF
  9961. .L2
  9962.     BSET    #4,(A0,D1.L)
  9963.     MOVE.B    (A0,D1.L),D6    
  9964.     BSR    _screenwrite
  9965.     MOVE.W    (A2)+,D1
  9966.     IF    DEEBUG
  9967.     BRA    DEBUG
  9968.     ELSE
  9969.     JMP    ([A3,D1.W*4])
  9970.     ENDIF
  9971.  
  9972. DDST5:    CMPI.W    #$4000,D1    
  9973.     BCS.B    .L1
  9974.     BSET    #5,(A0,D1.L)
  9975.     MOVE.W    (A2)+,D1
  9976.     IF    DEEBUG
  9977.     BRA    DEBUG
  9978.     ELSE
  9979.     JMP    ([A3,D1.W*4])
  9980.     ENDIF
  9981. .L1
  9982.     CMPI.W    #$3BFF,D1    
  9983.     BHI.B    .L2
  9984.     MOVE.W    (A2)+,D1
  9985.     IF    DEEBUG
  9986.     BRA    DEBUG
  9987.     ELSE
  9988.     JMP    ([A3,D1.W*4])
  9989.     ENDIF
  9990. .L2
  9991.     BSET    #5,(A0,D1.L)
  9992.     MOVE.B    (A0,D1.L),D6    
  9993.     BSR    _screenwrite
  9994.     MOVE.W    (A2)+,D1
  9995.     IF    DEEBUG
  9996.     BRA    DEBUG
  9997.     ELSE
  9998.     JMP    ([A3,D1.W*4])
  9999.     ENDIF
  10000.  
  10001. DDST6:    CMPI.W    #$4000,D1    
  10002.     BCS.B    .L1
  10003.     BSET    #6,(A0,D1.L)
  10004.     MOVE.W    (A2)+,D1
  10005.     IF    DEEBUG
  10006.     BRA    DEBUG
  10007.     ELSE
  10008.     JMP    ([A3,D1.W*4])
  10009.     ENDIF
  10010. .L1
  10011.     CMPI.W    #$3BFF,D1    
  10012.     BHI.B    .L2
  10013.     MOVE.W    (A2)+,D1
  10014.     IF    DEEBUG
  10015.     BRA    DEBUG
  10016.     ELSE
  10017.     JMP    ([A3,D1.W*4])
  10018.     ENDIF
  10019. .L2
  10020.     BSET    #6,(A0,D1.L)
  10021.     MOVE.B    (A0,D1.L),D6    
  10022.     BSR    _screenwrite
  10023.     MOVE.W    (A2)+,D1
  10024.     IF    DEEBUG
  10025.     BRA    DEBUG
  10026.     ELSE
  10027.     JMP    ([A3,D1.W*4])
  10028.     ENDIF
  10029.  
  10030. DDST7:    CMPI.W    #$4000,D1    
  10031.     BCS.B    .L1
  10032.     BSET    #7,(A0,D1.L)
  10033.     MOVE.W    (A2)+,D1
  10034.     IF    DEEBUG
  10035.     BRA    DEBUG
  10036.     ELSE
  10037.     JMP    ([A3,D1.W*4])
  10038.     ENDIF
  10039. .L1
  10040.     CMPI.W    #$3BFF,D1    
  10041.     BHI.B    .L2
  10042.     MOVE.W    (A2)+,D1
  10043.     IF    DEEBUG
  10044.     BRA    DEBUG
  10045.     ELSE
  10046.     JMP    ([A3,D1.W*4])
  10047.     ENDIF
  10048. .L2
  10049.     BSET    #7,(A0,D1.L)
  10050.     MOVE.B    (A0,D1.L),D6    
  10051.     BSR    _screenwrite
  10052.     MOVE.W    (A2)+,D1
  10053.     IF    DEEBUG
  10054.     BRA    DEBUG
  10055.     ELSE
  10056.     JMP    ([A3,D1.W*4])
  10057.     ENDIF
  10058.  
  10059.  
  10060. MDDE1:                ; POP IX
  10061.     MOVEQ    #0,D7
  10062.     MOVE.W    (A4)+,D7
  10063.     ROL.W    #8,D7
  10064.     MOVE.L    D7,A1
  10065.     ADDA.L    A0,A1
  10066.     MOVE.W    (A2)+,D1
  10067.     IF    DEEBUG
  10068.     BRA    DEBUG
  10069.     ELSE
  10070.     JMP    ([A3,D1.W*4])
  10071.     ENDIF
  10072.  
  10073. MDDE3:                ; EX (SP),IX
  10074.     SUBA.L    A0,A1
  10075.     MOVE.L    A1,D7
  10076.     MOVE.W    (A4),D6
  10077.     ROL.W    #8,D6
  10078.     MOVE.W    D6,A1
  10079.     ADDA.L    A0,A1
  10080.     ROL.W    #8,D7
  10081.     MOVE.W    D7,(A4)
  10082.     MOVE.W    (A2)+,D1
  10083.     IF    DEEBUG
  10084.     BRA    DEBUG
  10085.     ELSE
  10086.     JMP    ([A3,D1.W*4])
  10087.     ENDIF
  10088.  
  10089. MDDE5:                ; PUSH IX
  10090.     MOVE.L    A1,D6
  10091.     SUB.L    A0,D6
  10092.     ROL.W    #8,D6
  10093.     MOVE.W    D6,-(A4)
  10094.     MOVE.W    (A2)+,D1
  10095.     IF    DEEBUG
  10096.     BRA    DEBUG
  10097.     ELSE
  10098.     JMP    ([A3,D1.W*4])
  10099.     ENDIF
  10100.  
  10101. MDDE9:                ; JP (IX)
  10102.     MOVE.L    A1,A2
  10103.     MOVE.W    (A2)+,D1
  10104.     IF    DEEBUG
  10105.     BRA    DEBUG
  10106.     ELSE
  10107.     JMP    ([A3,D1.W*4])
  10108.     ENDIF
  10109.  
  10110. MDDF9:                ; LD SP,IX
  10111.     MOVE.L    A1,A4
  10112.     MOVE.W    (A2)+,D1
  10113.     IF    DEEBUG
  10114.     BRA    DEBUG
  10115.     ELSE
  10116.     JMP    ([A3,D1.W*4])
  10117.     ENDIF
  10118.  
  10119. * ED INSTRUCTIONS
  10120.  
  10121.  
  10122. MED01:    MOVEQ    #0,D7
  10123.     MOVE.W    _CASSPTR,D7
  10124.     MOVE.B    D0,($10000,A0,D7.L)
  10125.     ADDQ.W    #1,D7
  10126.     MOVE.W    D7,_CASSPTR
  10127.     MOVE.W    (A2)+,D1
  10128.     IF    DEEBUG
  10129.     BRA    DEBUG
  10130.     ELSE
  10131.     JMP    ([A3,D1.W*4])
  10132.     ENDIF
  10133.  
  10134. MED02:    MOVEQ    #0,D7
  10135.     MOVE.W    _CASSPTR,D7
  10136.     MOVE.B    ($10000,A0,D7.L),D0
  10137.     ADDQ.W    #1,D7
  10138.     MOVE.W    D7,_CASSPTR
  10139.     MOVE.W    (A2)+,D1
  10140.     IF    DEEBUG
  10141.     BRA    DEBUG
  10142.     ELSE
  10143.     JMP    ([A3,D1.W*4])
  10144.     ENDIF
  10145.  
  10146. MED03:    MOVEQ    #0,D7
  10147.     MOVE.W    D7,_CASSPTR
  10148.     MOVE.W    (A2)+,D1
  10149.     IF    DEEBUG
  10150.     BRA    DEBUG
  10151.     ELSE
  10152.     JMP    ([A3,D1.W*4])
  10153.     ENDIF
  10154.  
  10155.  
  10156. MED40:                ; IN B,(C)    (MOVE FF TO B, SIMULATE NO DEVICE CONNECTED AT PORT (C))
  10157.     ORI.W    #$FF00,D3
  10158.     MOVE.W    (A2)+,D1
  10159.     IF    DEEBUG
  10160.     BRA    DEBUG
  10161.     ELSE
  10162.     JMP    ([A3,D1.W*4])
  10163.     ENDIF
  10164.  
  10165. MED41:                ; OUT (C),B    (NOP)
  10166.     MOVE.W    (A2)+,D1
  10167.     IF    DEEBUG
  10168.     BRA    DEBUG
  10169.     ELSE
  10170.     JMP    ([A3,D1.W*4])
  10171.     ENDIF
  10172.  
  10173. MED42:                ; SBC HL,BC
  10174.     ORI.B    #4,D4
  10175.     MOVE.W    D4,CCR
  10176.     SUBX.W    D3,D2
  10177.     MOVE.W    CCR,D4
  10178.     MOVEQ    #2,D5
  10179.     MOVE.W    (A2)+,D1
  10180.     IF    DEEBUG
  10181.     BRA    DEBUG
  10182.     ELSE
  10183.     JMP    ([A3,D1.W*4])
  10184.     ENDIF
  10185.  
  10186. MED43:                ; LD (XXXX),BC
  10187.     MOVE.W    (A2)+,D1
  10188.     ROL.W    #8,D1
  10189.     MOVEQ    #0,D7
  10190.     MOVE.W    D1,D7
  10191.     ROL.W    #8,D3
  10192.     MOVE.W    D3,(A0,D7.L)
  10193.     ROL.W    #8,D3
  10194.     MOVE.W    (A2)+,D1
  10195.     IF    DEEBUG
  10196.     BRA    DEBUG
  10197.     ELSE
  10198.     JMP    ([A3,D1.W*4])
  10199.     ENDIF
  10200.  
  10201. MED44:                ; NEG    (NEGATE A)    *******************
  10202.     MOVE.W    D4,CCR
  10203.     NEG.B    D0
  10204.     MOVE.W    CCR,D4
  10205.     MOVEQ    #02,D5        ; H=0,N=1
  10206.     MOVE.W    (A2)+,D1
  10207.     IF    DEEBUG
  10208.     BRA    DEBUG
  10209.     ELSE
  10210.     JMP    ([A3,D1.W*4])
  10211.     ENDIF
  10212.  
  10213. MED45:
  10214.     MOVE.W    (A2)+,D1
  10215.     IF    DEEBUG
  10216.     BRA    DEBUG
  10217.     ELSE
  10218.     JMP    ([A3,D1.W*4])
  10219.     ENDIF
  10220.  
  10221. MED46:
  10222.     MOVE.W    (A2)+,D1
  10223.     IF    DEEBUG
  10224.     BRA    DEBUG
  10225.     ELSE
  10226.     JMP    ([A3,D1.W*4])
  10227.     ENDIF
  10228.  
  10229. MED47:
  10230.     MOVE.W    (A2)+,D1
  10231.     IF    DEEBUG
  10232.     BRA    DEBUG
  10233.     ELSE
  10234.     JMP    ([A3,D1.W*4])
  10235.     ENDIF
  10236.  
  10237. MED48:                ; IN C,(C)
  10238.     ORI.W    #$00FF,D3
  10239.     MOVE.W    (A2)+,D1
  10240.     IF    DEEBUG
  10241.     BRA    DEBUG
  10242.     ELSE
  10243.     JMP    ([A3,D1.W*4])
  10244.     ENDIF
  10245.  
  10246. MED49:
  10247.     MOVE.W    (A2)+,D1
  10248.     IF    DEEBUG
  10249.     BRA    DEBUG
  10250.     ELSE
  10251.     JMP    ([A3,D1.W*4])
  10252.     ENDIF
  10253.  
  10254. MED4A:                ; ADC HL,BC
  10255.     ORI.B    #4,D4        ; SET Z FOR ADDX INSTR
  10256.     MOVE.W    D4,CCR
  10257.     ADDX.W    D3,D2
  10258.     MOVE.W    CCR,D4
  10259.     MOVEQ    #0,D5
  10260.     MOVE.W    (A2)+,D1
  10261.     IF    DEEBUG
  10262.     BRA    DEBUG
  10263.     ELSE
  10264.     JMP    ([A3,D1.W*4])
  10265.     ENDIF
  10266.  
  10267. MED4B:                ; LD BC,(XXXX)
  10268.     MOVE.W    (A2)+,D1
  10269.     ROL.W    #8,D1
  10270.     MOVEQ    #0,D7
  10271.     MOVE.W    D1,D7
  10272.     MOVE.W    (A0,D7.L),D3
  10273.     ROL.W    #8,D3
  10274.     MOVE.W    (A2)+,D1
  10275.     IF    DEEBUG
  10276.     BRA    DEBUG
  10277.     ELSE
  10278.     JMP    ([A3,D1.W*4])
  10279.     ENDIF
  10280.  
  10281. MED4D:
  10282.     MOVE.W    (A2)+,D1
  10283.     IF    DEEBUG
  10284.     BRA    DEBUG
  10285.     ELSE
  10286.     JMP    ([A3,D1.W*4])
  10287.     ENDIF
  10288.  
  10289. MED4F:                ; LD R,A (NOP)
  10290.     MOVE.W    (A2)+,D1
  10291.     IF    DEEBUG
  10292.     BRA    DEBUG
  10293.     ELSE
  10294.     JMP    ([A3,D1.W*4])
  10295.     ENDIF
  10296.  
  10297. MED50:                ; IN D,(C)
  10298.     ORI.L    #$FF000000,D3
  10299.     MOVE.W    (A2)+,D1
  10300.     IF    DEEBUG
  10301.     BRA    DEBUG
  10302.     ELSE
  10303.     JMP    ([A3,D1.W*4])
  10304.     ENDIF
  10305.  
  10306. MED51:
  10307.     MOVE.W    (A2)+,D1
  10308.     IF    DEEBUG
  10309.     BRA    DEBUG
  10310.     ELSE
  10311.     JMP    ([A3,D1.W*4])
  10312.     ENDIF
  10313.  
  10314. MED52:                ; SBC HL,DE
  10315.     ORI.B    #4,D4
  10316.     SWAP    D3
  10317.     MOVE.W    D4,CCR
  10318.     SUBX.W    D3,D2
  10319.     MOVE.W    CCR,D4
  10320.     MOVEQ    #2,D5
  10321.     SWAP    D3
  10322.     MOVE.W    (A2)+,D1
  10323.     IF    DEEBUG
  10324.     BRA    DEBUG
  10325.     ELSE
  10326.     JMP    ([A3,D1.W*4])
  10327.     ENDIF
  10328.  
  10329. MED53:                ; LD (XXXX),DE
  10330.     MOVE.W    (A2)+,D1
  10331.     ROL.W    #8,D1
  10332.     MOVEQ    #0,D7
  10333.     MOVE.W    D1,D7
  10334.     SWAP    D3
  10335.     ROL.W    #8,D3
  10336.     MOVE.W    D3,(A0,D7.L)
  10337.     ROL.W    #8,D3
  10338.     SWAP    D3
  10339.     MOVE.W    (A2)+,D1
  10340.     IF    DEEBUG
  10341.     BRA    DEBUG
  10342.     ELSE
  10343.     JMP    ([A3,D1.W*4])
  10344.     ENDIF
  10345.  
  10346. MED56:
  10347.     MOVE.W    (A2)+,D1
  10348.     IF    DEEBUG
  10349.     BRA    DEBUG
  10350.     ELSE
  10351.     JMP    ([A3,D1.W*4])
  10352.     ENDIF
  10353.  
  10354. MED57:
  10355.     MOVE.W    (A2)+,D1
  10356.     IF    DEEBUG
  10357.     BRA    DEBUG
  10358.     ELSE
  10359.     JMP    ([A3,D1.W*4])
  10360.     ENDIF
  10361.  
  10362. MED58:                ; IN E,(C)
  10363.     ORI.L    #$00FF0000,D3
  10364.     MOVE.W    (A2)+,D1
  10365.     IF    DEEBUG
  10366.     BRA    DEBUG
  10367.     ELSE
  10368.     JMP    ([A3,D1.W*4])
  10369.     ENDIF
  10370.  
  10371. MED59:
  10372.     MOVE.W    (A2)+,D1
  10373.     IF    DEEBUG
  10374.     BRA    DEBUG
  10375.     ELSE
  10376.     JMP    ([A3,D1.W*4])
  10377.     ENDIF
  10378.  
  10379. MED5A:                ; ADC HL,DE
  10380.     ORI.B    #4,D4        ; SET Z FOR ADDX INSTR
  10381.     SWAP    D3
  10382.     MOVE.W    D4,CCR
  10383.     ADDX.W    D3,D2
  10384.     MOVE.W    CCR,D4
  10385.     SWAP    D3
  10386.     MOVE.W    (A2)+,D1
  10387.     IF    DEEBUG
  10388.     BRA    DEBUG
  10389.     ELSE
  10390.     JMP    ([A3,D1.W*4])
  10391.     ENDIF
  10392.  
  10393. MED5B:                ; LD DE,(XXXX)
  10394.     MOVE.W    (A2)+,D1
  10395.     ROL.W    #8,D1
  10396.     MOVEQ    #0,D7
  10397.     MOVE.W    D1,D7
  10398.     SWAP    D3
  10399.     MOVE.W    (A0,D7.L),D3
  10400.     ROL.W    #8,D3
  10401.     SWAP    D3
  10402.     MOVE.W    (A2)+,D1
  10403.     IF    DEEBUG
  10404.     BRA    DEBUG
  10405.     ELSE
  10406.     JMP    ([A3,D1.W*4])
  10407.     ENDIF
  10408.  
  10409. MED5E:
  10410.     MOVE.W    (A2)+,D1
  10411.     IF    DEEBUG
  10412.     BRA    DEBUG
  10413.     ELSE
  10414.     JMP    ([A3,D1.W*4])
  10415.     ENDIF
  10416.  
  10417. MED5F:                ; LD A,R
  10418.  
  10419.     MOVE.B    $BFE801,D0    ; GET RANDOM BYTE FROM SYSTEM TIMER
  10420.     MOVE.W    D4,CCR        ; CONDITION S,Z FLAGS BY AN OR INSTRUCTION
  10421.     OR.B    D0,D0
  10422.     ANDI    #$0F,CCR    ; CLEAR 680X0 X FLG (V,C ARE CLEARED BY THE OR)
  10423.     MOVE.W    CCR,D4
  10424.     MOVEQ.B    #0,D5        ; H=N=0
  10425.     MOVE.W    (A2)+,D1
  10426.     IF    DEEBUG
  10427.     BRA    DEBUG
  10428.     ELSE
  10429.     JMP    ([A3,D1.W*4])
  10430.     ENDIF
  10431.  
  10432. MED60:                ; IN H,(C)
  10433.     ORI.W    #$FF00,D2
  10434.     MOVE.W    (A2)+,D1
  10435.     IF    DEEBUG
  10436.     BRA    DEBUG
  10437.     ELSE
  10438.     JMP    ([A3,D1.W*4])
  10439.     ENDIF
  10440.  
  10441. MED61:
  10442.     MOVE.W    (A2)+,D1
  10443.     IF    DEEBUG
  10444.     BRA    DEBUG
  10445.     ELSE
  10446.     JMP    ([A3,D1.W*4])
  10447.     ENDIF
  10448.  
  10449. MED62:                ; SBC HL,HL
  10450.     ORI.B    #4,D4
  10451.     MOVE.W    D4,CCR
  10452.     SUBX.W    D2,D2
  10453.     MOVE.W    CCR,D4
  10454.     MOVEQ    #2,D5
  10455.     MOVE.W    (A2)+,D1
  10456.     IF    DEEBUG
  10457.     BRA    DEBUG
  10458.     ELSE
  10459.     JMP    ([A3,D1.W*4])
  10460.     ENDIF
  10461.  
  10462. MED67:                ; RRD            ****** NO FLAGS SET ********
  10463.     MOVEQ    #0,D1
  10464.     MOVEQ    #0,D6
  10465.     MOVEQ    #0,D7
  10466.     MOVE.B    D0,D6
  10467.     LSL.B    #4,D6        ; LOW NIBBLE OF D0-> HIGH NIB OF D6
  10468.     MOVE.W    D2,D1        ; HL-> D1
  10469.     MOVE.B    (A0,D1.L),D7    ; GET BYTE AT (HL)
  10470.     ROR.L    #4,D7
  10471.     OR.B    D7,D6        ; D6 NOW HAS BYTE READY FOR SCREENWRITE()
  10472.     ROL.L    #4,D7
  10473.     ANDI.B    #$0F,D7
  10474.     ANDI.B    #$F0,D0
  10475.     OR.B    D7,D0
  10476.  
  10477.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  10478.     BCS.B    .L1
  10479.     MOVE.B    D6,(A0,D1.L)
  10480.     MOVE.W    (A2)+,D1
  10481.     IF    DEEBUG
  10482.     BRA    DEBUG
  10483.     ELSE
  10484.     JMP    ([A3,D1.W*4])
  10485.     ENDIF
  10486. .L1
  10487.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  10488.     BHI.B    .L2
  10489.     MOVE.W    (A2)+,D1
  10490.     IF    DEEBUG
  10491.     BRA    DEBUG
  10492.     ELSE
  10493.     JMP    ([A3,D1.W*4])
  10494.     ENDIF
  10495. .L2
  10496.     MOVE.B    D6,(A0,D1.L)    ; HL is pointing at the screen so update the
  10497.     BSR    _screenwrite    ; screen with D6
  10498.     MOVE.W    (A2)+,D1
  10499.     IF    DEEBUG
  10500.     BRA    DEBUG
  10501.     ELSE
  10502.     JMP    ([A3,D1.W*4])
  10503.     ENDIF
  10504.  
  10505. MED68:                ; IN L,(C)
  10506.     ORI.W    #$00FF,D2
  10507.     MOVE.W    (A2)+,D1
  10508.     IF    DEEBUG
  10509.     BRA    DEBUG
  10510.     ELSE
  10511.     JMP    ([A3,D1.W*4])
  10512.     ENDIF
  10513.  
  10514. MED69:
  10515.     MOVE.W    (A2)+,D1
  10516.     IF    DEEBUG
  10517.     BRA    DEBUG
  10518.     ELSE
  10519.     JMP    ([A3,D1.W*4])
  10520.     ENDIF
  10521.  
  10522. MED6A:                ; ADC HL,HL
  10523.     ORI.B    #4,D4        ; SET Z FOR ADDX INSTR
  10524.     MOVE.W    D4,CCR
  10525.     ADDX.W    D2,D2
  10526.     MOVE.W    CCR,D4
  10527.     MOVEQ    #0,D5
  10528.     MOVE.W    (A2)+,D1
  10529.     IF    DEEBUG
  10530.     BRA    DEBUG
  10531.     ELSE
  10532.     JMP    ([A3,D1.W*4])
  10533.     ENDIF
  10534.  
  10535. MED6F:                ; RLD            ****** NO FLAGS SET ********
  10536.     MOVEQ    #0,D1
  10537.     MOVEQ    #0,D6
  10538.     MOVEQ    #0,D7
  10539.     MOVE.W    D2,D1        ; HL-> D1
  10540.     MOVE.B    D0,D6
  10541.     ANDI.B    #$0F,D6        ; LOW NIBBLE OF D0 IN D6
  10542.     MOVE.B    (A0,D1.L),D7    ; GET BYTE AT (HL)
  10543.     LSL.W    #4,D7
  10544.     OR.B    D7,D6        ; D6 NOW HAS BYTE READY FOR SCREENWRITE()
  10545.     ANDI.B    #$F0,D0
  10546.     ROL.W    #8,D7        ; HIGH NIBBLE OF (HL) BACK TO LOW NIBBLE OF D7
  10547.     OR.B    D7,D0        ; FINISHED!
  10548.  
  10549.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  10550.     BCS.B    .L1
  10551.     MOVE.B    D6,(A0,D1.L)
  10552.     MOVE.W    (A2)+,D1
  10553.     IF    DEEBUG
  10554.     BRA    DEBUG
  10555.     ELSE
  10556.     JMP    ([A3,D1.W*4])
  10557.     ENDIF
  10558. .L1
  10559.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  10560.     BHI.B    .L2
  10561.     MOVE.W    (A2)+,D1
  10562.     IF    DEEBUG
  10563.     BRA    DEBUG
  10564.     ELSE
  10565.     JMP    ([A3,D1.W*4])
  10566.     ENDIF
  10567. .L2
  10568.     MOVE.B    D6,(A0,D1.L)    ; HL is pointing at the screen so update the
  10569.     BSR    _screenwrite    ; screen with D6
  10570.     MOVE.W    (A2)+,D1
  10571.     IF    DEEBUG
  10572.     BRA    DEBUG
  10573.     ELSE
  10574.     JMP    ([A3,D1.W*4])
  10575.     ENDIF
  10576.  
  10577. MED72:                ; SBC HL,SP
  10578.     MOVE.L    A4,D6
  10579.     SUB.L    A0,D6
  10580.     ORI.B    #4,D4
  10581.     MOVE.W    D4,CCR
  10582.     SUBX.W    D6,D2
  10583.     MOVE.W    CCR,D4
  10584.     MOVEQ    #2,D5
  10585.     MOVE.W    (A2)+,D1
  10586.     IF    DEEBUG
  10587.     BRA    DEBUG
  10588.     ELSE
  10589.     JMP    ([A3,D1.W*4])
  10590.     ENDIF
  10591.  
  10592. MED73:                ; LD (XXXX),SP
  10593.     MOVE.W    (A2)+,D1
  10594.     ROL.W    #8,D1
  10595.     MOVEQ    #0,D7
  10596.     MOVE.W    D1,D7
  10597.     MOVE.L    A4,D6
  10598.     SUB.L    A0,D6
  10599.     ROL.W    #8,D6
  10600.     MOVE.W    D6,(A0,D7.L)
  10601.     MOVE.W    (A2)+,D1
  10602.     IF    DEEBUG
  10603.     BRA    DEBUG
  10604.     ELSE
  10605.     JMP    ([A3,D1.W*4])
  10606.     ENDIF
  10607.  
  10608. MED78:                ; IN A,(C)
  10609.     ORI.B    #$FF,D0
  10610.     MOVE.W    (A2)+,D1
  10611.     IF    DEEBUG
  10612.     BRA    DEBUG
  10613.     ELSE
  10614.     JMP    ([A3,D1.W*4])
  10615.     ENDIF
  10616.  
  10617. MED79:
  10618.     MOVE.W    (A2)+,D1
  10619.     IF    DEEBUG
  10620.     BRA    DEBUG
  10621.     ELSE
  10622.     JMP    ([A3,D1.W*4])
  10623.     ENDIF
  10624.  
  10625. MED7A:                ; ADC HL,SP
  10626.     ORI.B    #4,D4        ; SET Z FOR ADDX INSTR
  10627.     MOVE.L    A4,D6
  10628.     SUB.L    A0,D6
  10629.     MOVE.W    D4,CCR
  10630.     ADDX.W    D6,D2
  10631.     MOVE.W    CCR,D4
  10632.     MOVEQ    #0,D5
  10633.     MOVE.W    (A2)+,D1
  10634.     IF    DEEBUG
  10635.     BRA    DEBUG
  10636.     ELSE
  10637.     JMP    ([A3,D1.W*4])
  10638.     ENDIF
  10639.  
  10640. MED7B:                ; LD SP,(XXXX)
  10641.     MOVE.W    (A2)+,D1
  10642.     ROL.W    #8,D1
  10643.     MOVEQ    #0,D7
  10644.     MOVE.W    D1,D7
  10645.     MOVE.W    (A0,D7.L),D7
  10646.     ROL.W    #8,D7
  10647.     MOVE.L    A0,A4
  10648.     ADDA.L    D7,A4
  10649.     MOVE.W    (A2)+,D1
  10650.     IF    DEEBUG
  10651.     BRA    DEBUG
  10652.     ELSE
  10653.     JMP    ([A3,D1.W*4])
  10654.     ENDIF
  10655.  
  10656. MEDA0:                ; LDI
  10657.     ORI.B    #$02,D4        ; V=1
  10658.     SWAP    D3
  10659.     MOVEQ    #0,D7
  10660.     MOVE.W    D3,D7
  10661. .HERE:    CMPI.W    #$4000,D3    ; if BC >= 4000 do the instruction
  10662.     BCS.B    .L1
  10663. .L3    MOVE.B    (A0,D2.L),(A0,D7.L)
  10664. .L2    ADDQ.W    #1,D2
  10665.     ADDQ.W    #1,D3
  10666.     SWAP    D3
  10667.     SUBQ.W    #1,D3
  10668.     BNE.S    .L4
  10669.     ANDI.B    #$1D,D4        ; V FLG = 0 IF BC=0
  10670. .L4    MOVEQ    #$0,D5        ; SET H,N=0
  10671.     MOVE.W    (A2)+,D1
  10672.     IF    DEEBUG
  10673.     BRA    DEBUG
  10674.     ELSE
  10675.     JMP    ([A3,D1.W*4])
  10676.     ENDIF
  10677. .L1
  10678.     CMPI.W    #$3C00,D3    ; if BC < 3C00 we are in ROM so do nothing
  10679.     BCS.B    .L2
  10680.     MOVE.W    D3,D1
  10681.     MOVE.B    (A0,D2.L),D6    ; BC is pointing at the screen so update the
  10682.     BSR    _screenwrite    ; screen with A
  10683.     BRA.B    .L3
  10684.  
  10685. MEDA1:                ; CPI
  10686.     MOVE.B    D4,D7
  10687.     ANDI.B    #$11,D7        ; SAVE X,C
  10688.     MOVE.B    D0,D6
  10689.     MOVEQ    #0,D1
  10690.     MOVE.W    D2,D1
  10691.     SUB.B    (A0,D1.L),D6    ; DO 
  10692.     MOVE.W    CCR,D4
  10693.     ANDI.B    #$0E,D4        ; X,C=0
  10694.     ORI.B    #$02,D4        ; V=1
  10695.     OR.B    D7,D4        ; RESTORE OLD X,C
  10696.     ADDQ.W    #1,D2
  10697.     SUBQ.W    #1,D3
  10698.     BNE.S    .L4
  10699.     ANDI.B    #$1D,D7        ; V FLG = 0 IF BC=0
  10700. .L4    MOVEQ    #$2,D5        ; SET N=1
  10701.     MOVE.W    (A2)+,D1
  10702.     IF    DEEBUG
  10703.     BRA    DEBUG
  10704.     ELSE
  10705.     JMP    ([A3,D1.W*4])
  10706.     ENDIF
  10707.  
  10708. MEDA2:
  10709.     MOVE.W    (A2)+,D1
  10710.     IF    DEEBUG
  10711.     BRA    DEBUG
  10712.     ELSE
  10713.     JMP    ([A3,D1.W*4])
  10714.     ENDIF
  10715.  
  10716. MEDA3:
  10717.     MOVE.W    (A2)+,D1
  10718.     IF    DEEBUG
  10719.     BRA    DEBUG
  10720.     ELSE
  10721.     JMP    ([A3,D1.W*4])
  10722.     ENDIF
  10723.  
  10724. MEDA8:                ; LDD
  10725.     ORI.B    #$02,D4        ; V=1
  10726.     SWAP    D3
  10727.     MOVEQ    #0,D7
  10728.     MOVE.W    D3,D7
  10729. .HERE:    CMPI.W    #$4000,D3    ; if DE >= 4000 do the instruction
  10730.     BCS.B    .L1
  10731. .L3    MOVE.B    (A0,D2.L),(A0,D7.L)
  10732. .L2    SUBQ.W    #1,D2
  10733.     SUBQ.W    #1,D3
  10734.     SWAP    D3
  10735.     SUBQ.W    #1,D3        ; DEC BC
  10736.     BNE.S    .L4
  10737.     ANDI.B    #$1D,D4        ; V FLG = 0 IF BC=0
  10738. .L4    MOVEQ    #$0,D5        ; SET H,N=0
  10739.     MOVE.W    (A2)+,D1
  10740.     IF    DEEBUG
  10741.     BRA    DEBUG
  10742.     ELSE
  10743.     JMP    ([A3,D1.W*4])
  10744.     ENDIF
  10745. .L1
  10746.     CMPI.W    #$3C00,D3    ; if DE < 3C00 we are in ROM so do nothing
  10747.     BCS.B    .L2
  10748.     MOVE.W    D3,D1
  10749.     MOVE.B    (A0,D2.L),D6    ; BC is pointing at the screen so update the
  10750.     BSR    _screenwrite    ; screen with A
  10751.     BRA.B    .L3
  10752.  
  10753. MEDA9:                ; CPD
  10754.     MOVE.B    D4,D7
  10755.     ANDI.B    #$11,D7        ; SAVE X,C
  10756.     MOVE.B    D0,D6
  10757.     MOVEQ    #0,D1
  10758.     MOVE.W    D2,D1
  10759.     SUB.B    (A0,D1.L),D6    ; DO 
  10760.     MOVE.W    CCR,D4
  10761.     ANDI.B    #$0E,D4        ; X,C=0
  10762.     ORI.B    #$02,D4        ; V=1
  10763.     OR.B    D7,D4        ; RESTORE OLD X,C
  10764.     SUBQ.W    #1,D2
  10765.     SUBQ.W    #1,D3
  10766.     BNE.S    .L4
  10767.     ANDI.B    #$1D,D4        ; V FLG = 0 IF BC=0
  10768. .L4    MOVEQ    #$2,D5        ; SET N=1
  10769.     MOVE.W    (A2)+,D1
  10770.     IF    DEEBUG
  10771.     BRA    DEBUG
  10772.     ELSE
  10773.     JMP    ([A3,D1.W*4])
  10774.     ENDIF
  10775.  
  10776. MEDAA:
  10777.     MOVE.W    (A2)+,D1
  10778.     IF    DEEBUG
  10779.     BRA    DEBUG
  10780.     ELSE
  10781.     JMP    ([A3,D1.W*4])
  10782.     ENDIF
  10783.  
  10784. MEDAB:
  10785.     MOVE.W    (A2)+,D1
  10786.     IF    DEEBUG
  10787.     BRA    DEBUG
  10788.     ELSE
  10789.     JMP    ([A3,D1.W*4])
  10790.     ENDIF
  10791.  
  10792. MEDB0:                ; LDIR
  10793.     MOVE.L    D3,D7
  10794.     MOVEQ    #0,D1
  10795.     SWAP    D7
  10796.     MOVE.W    D7,D1
  10797.     ANDI.W    #$FFFF,D2
  10798.     SUBQ.W    #1,D3
  10799. .HERE:    CMPI.W    #$4000,D1    ; if BC >= 4000 do the instruction
  10800.     BCS.B    .L1
  10801. .L3    MOVE.B    (A0,D2.L),(A0,D1.L)
  10802. .L2    ADDQ.W    #1,D2
  10803.     ADDQ.W    #1,D1
  10804.     DBRA    D3,.HERE
  10805.     MOVEQ.W    #0,D3
  10806.     SWAP    D3
  10807.     MOVE.W    D1,D3
  10808.     SWAP    D3
  10809.     MOVEQ.L    #0,D5        ; CLEAR H,N FLAGS
  10810.     ANDI.B    #$1D,D4        ; CLEAR V FLAG
  10811.     MOVE.W    (A2)+,D1
  10812.     IF    DEEBUG
  10813.     BRA    DEBUG
  10814.     ELSE
  10815.     JMP    ([A3,D1.W*4])
  10816.     ENDIF
  10817. .L1
  10818.     CMPI.W    #$3C00,D1    ; if BC < 3C00 we are in ROM so do nothing
  10819.     BCS.B    .L2
  10820.     MOVE.B    (A0,D2.L),D6    ; BC is pointing at the screen so update the
  10821.     BSR    _screenwrite    ; screen with A
  10822.     BRA.B    .L3
  10823.  
  10824. MEDB1:                ; CPIR
  10825.     MOVE.B    D4,D7
  10826.     ANDI.B    #$11,D7        ; SAVE X,C
  10827.     MOVEQ    #0,D1
  10828. .L3    MOVE.B    D0,D6
  10829.     MOVE.W    D2,D1
  10830.     SUB.B    (A0,D1.L),D6    ; DO 
  10831.     MOVE.W    CCR,D4
  10832.     BEQ.B    .L1
  10833.     ANDI.B    #$0C,D4        ; X,C,V=0
  10834.     OR.B    D7,D4        ; RESTORE OLD X,C
  10835.     ADDQ.W    #1,D2
  10836.     SUBQ.W    #1,D3
  10837.     BNE.B    .L3
  10838.     ANDI.B    #$1D,D4        ; V FLG = 0 SINCE BC=0
  10839.     MOVEQ    #$2,D5        ; SET N=1
  10840.     MOVE.W    (A2)+,D1
  10841.     IF    DEEBUG
  10842.     BRA    DEBUG
  10843.     ELSE
  10844.     JMP    ([A3,D1.W*4])
  10845.     ENDIF
  10846.  
  10847. .L1
  10848.     ANDI.B    #$0E,D4        ; X,C=0
  10849.     ORI.B    #$02,D4        ; V=1
  10850.     OR.B    D7,D4        ; RESTORE OLD X,C
  10851.     ADDQ.W    #1,D2
  10852.     SUBQ.W    #1,D3
  10853.     BNE.S    .L4
  10854.     ANDI.B    #$1D,D4        ; V FLG = 0 IF BC=0
  10855. .L4    MOVEQ    #$2,D5        ; SET SUB FLG
  10856.     MOVE.W    (A2)+,D1
  10857.     IF    DEEBUG
  10858.     BRA    DEBUG
  10859.     ELSE
  10860.     JMP    ([A3,D1.W*4])
  10861.     ENDIF
  10862.  
  10863. MEDB2:
  10864.     MOVE.W    (A2)+,D1
  10865.     IF    DEEBUG
  10866.     BRA    DEBUG
  10867.     ELSE
  10868.     JMP    ([A3,D1.W*4])
  10869.     ENDIF
  10870.  
  10871. MEDB3:
  10872.     MOVE.W    (A2)+,D1
  10873.     IF    DEEBUG
  10874.     BRA    DEBUG
  10875.     ELSE
  10876.     JMP    ([A3,D1.W*4])
  10877.     ENDIF
  10878.  
  10879. MEDB8:                ; LDDR
  10880.     MOVE.L    D3,D7
  10881.     MOVEQ    #0,D1
  10882.     SWAP    D7
  10883.     MOVE.W    D7,D1
  10884.     ANDI.W    #$FFFF,D2
  10885.     SUBQ.W    #1,D3
  10886. .HERE:    CMPI.W    #$4000,D1    ; if BC >= 4000 do the instruction
  10887.     BCS.B    .L1
  10888. .L3    MOVE.B    (A0,D2.L),(A0,D1.L)
  10889. .L2    SUBQ.W    #1,D2
  10890.     SUBQ.W    #1,D1
  10891.     DBRA    D3,.HERE
  10892.     MOVEQ.W    #0,D3
  10893.     SWAP    D3
  10894.     MOVE.W    D1,D3
  10895.     SWAP    D3
  10896.     MOVEQ.L    #0,D5        ; CLEAR H,N FLAGS
  10897.     ANDI.B    #$1D,D4        ; CLEAR V FLAG
  10898.     MOVE.W    (A2)+,D1
  10899.     IF    DEEBUG
  10900.     BRA    DEBUG
  10901.     ELSE
  10902.     JMP    ([A3,D1.W*4])
  10903.     ENDIF
  10904. .L1
  10905.     CMPI.W    #$3C00,D1    ; if BC <= 3C00 we are in ROM so do nothing
  10906.     BCS.B    .L2
  10907.     MOVE.B    (A0,D2.L),D6    ; BC is pointing at the screen so update the
  10908.     BSR    _screenwrite    ; screen with A
  10909.     BRA.B    .L3
  10910.  
  10911. MEDB9:                ; CPDR
  10912.     MOVE.B    D4,D7
  10913.     ANDI.B    #$11,D7        ; SAVE X,C
  10914.     MOVEQ    #0,D1
  10915. .L3    MOVE.B    D0,D6
  10916.     MOVE.W    D2,D1
  10917.     SUB.B    (A0,D1.L),D6    ; DO 
  10918.     MOVE.W    CCR,D4
  10919.     BEQ.B    .L1
  10920.     ANDI.B    #$0C,D4        ; X,C,V=0
  10921.     OR.B    D7,D4        ; RESTORE OLD X,C
  10922.     SUBQ.W    #1,D2
  10923.     SUBQ.W    #1,D3
  10924.     BNE.B    .L3
  10925.     ANDI.B    #$1D,D4        ; V FLG = 0 SINCE BC=0
  10926.     MOVEQ    #$2,D5        ; SET N=1
  10927.     MOVE.W    (A2)+,D1
  10928.     IF    DEEBUG
  10929.     BRA    DEBUG
  10930.     ELSE
  10931.     JMP    ([A3,D1.W*4])
  10932.     ENDIF
  10933.  
  10934. .L1
  10935.     ANDI.B    #$0E,D4        ; X,C=0
  10936.     ORI.B    #$02,D4        ; V=1
  10937.     OR.B    D7,D4        ; RESTORE OLD X,C
  10938.     SUBQ.W    #1,D2
  10939.     SUBQ.W    #1,D3
  10940.     BNE.S    .L4
  10941.     ANDI.B    #$1D,D4        ; V FLG = 0 IF BC=0
  10942. .L4    MOVEQ    #$2,D5        ; SET SUB FLG
  10943.     MOVE.W    (A2)+,D1
  10944.     IF    DEEBUG
  10945.     BRA    DEBUG
  10946.     ELSE
  10947.     JMP    ([A3,D1.W*4])
  10948.     ENDIF
  10949.  
  10950. MEDBA:
  10951.     MOVE.W    (A2)+,D1
  10952.     IF    DEEBUG
  10953.     BRA    DEBUG
  10954.     ELSE
  10955.     JMP    ([A3,D1.W*4])
  10956.     ENDIF
  10957.  
  10958. MEDBB:
  10959.     MOVE.W    (A2)+,D1
  10960.     IF    DEEBUG
  10961.     BRA    DEBUG
  10962.     ELSE
  10963.     JMP    ([A3,D1.W*4])
  10964.     ENDIF
  10965.  
  10966. * FD INSTRUCTIONS
  10967.  
  10968.  
  10969. MFD09:                ; ADD IY,BC
  10970.     SUBA.L    A0,A5
  10971.     MOVE.L    A5,D7
  10972.     ADD.W    D3,D7
  10973.     SCS.W    D6
  10974.     ANDI.W    #$EE,D4        ; CLEAR X,C
  10975.     ANDI.W    #$11,D6
  10976.     OR.B    D6,D4        ; SET X,C IF CARRY
  10977.     MOVEQ    #0,D5        ; SET H,N=0
  10978.     MOVE.L    A0,A5
  10979.     ADDA.L    D7,A5
  10980.     MOVE.W    (A2)+,D1
  10981.     IF    DEEBUG
  10982.     BRA    DEBUG
  10983.     ELSE
  10984.     JMP    ([A3,D1.W*4])
  10985.     ENDIF
  10986.  
  10987. MFD19:                ; ADD IY,DE
  10988.     SUBA.L    A0,A5
  10989.     MOVE.L    A5,D7
  10990.     SWAP    D3
  10991.     ADD.W    D3,D7
  10992.     SCS.W    D6
  10993.     ANDI.W    #$EE,D4        ; CLEAR X,C
  10994.     ANDI.W    #$11,D6
  10995.     OR.B    D6,D4        ; SET X,C IF CARRY
  10996.     MOVEQ    #0,D5        ; SET H,N=0
  10997.     SWAP    D3
  10998.     MOVE.L    A0,A5
  10999.     ADDA.L    D7,A5
  11000.     MOVE.W    (A2)+,D1
  11001.     IF    DEEBUG
  11002.     BRA    DEBUG
  11003.     ELSE
  11004.     JMP    ([A3,D1.W*4])
  11005.     ENDIF
  11006.  
  11007.  
  11008. MFD21:                ; LD IY,XXXX
  11009.     MOVE.W    (A2)+,D1
  11010.     ROL.W    #8,D1
  11011.     MOVEQ    #0,D7
  11012.     MOVE.W    D1,D7
  11013.     MOVE.L    A0,A5
  11014.     ADDA.L    D7,A5
  11015.     MOVE.W    (A2)+,D1
  11016.     IF    DEEBUG
  11017.     BRA    DEBUG
  11018.     ELSE
  11019.     JMP    ([A3,D1.W*4])
  11020.     ENDIF
  11021.  
  11022. MFD22:                ; LD (XXXX),IY
  11023.     MOVE.W    (A2)+,D1
  11024.     ROL.W    #8,D1
  11025.     MOVEQ    #0,D7
  11026.     MOVE.W    D1,D7
  11027.     SUBA.L    A0,A5
  11028.     MOVE.L    A5,D6
  11029.     ROL.W    #8,D6
  11030.     MOVE.W    D6,(A0,D7.L)
  11031.     ADDA.L    A0,A5
  11032.     MOVE.W    (A2)+,D1
  11033.     IF    DEEBUG
  11034.     BRA    DEBUG
  11035.     ELSE
  11036.     JMP    ([A3,D1.W*4])
  11037.     ENDIF
  11038.  
  11039. MFD23:                ; INC IY
  11040.     SUBA.L    A0,A5
  11041.     MOVE.L    A5,D7
  11042.     ADDQ.W    #1,D7
  11043.     MOVE.L    A0,A5
  11044.     ADDA.L    D7,A5
  11045.     MOVE.W    (A2)+,D1
  11046.     IF    DEEBUG
  11047.     BRA    DEBUG
  11048.     ELSE
  11049.     JMP    ([A3,D1.W*4])
  11050.     ENDIF
  11051.  
  11052. MFD29:                ; ADD IY,IY
  11053.     SUBA.L    A0,A5
  11054.     MOVE.L    A5,D7
  11055.     ADD.W    D7,D7
  11056.     SCS.W    D6
  11057.     ANDI.W    #$EE,D4        ; CLEAR X,C
  11058.     ANDI.W    #$11,D6
  11059.     OR.B    D6,D4        ; SET X,C IF CARRY
  11060.     MOVEQ    #0,D5        ; SET H,N=0
  11061.     MOVE.L    A0,A5
  11062.     ADDA.L    D7,A5
  11063.     MOVE.W    (A2)+,D1
  11064.     IF    DEEBUG
  11065.     BRA    DEBUG
  11066.     ELSE
  11067.     JMP    ([A3,D1.W*4])
  11068.     ENDIF
  11069.  
  11070. MFD2A:                ; LD IY,(XXXX)
  11071.     MOVE.W    (A2)+,D1
  11072.     ROL.W    #8,D1
  11073.     MOVEQ    #0,D7
  11074.     MOVE.W    D1,D7
  11075.     MOVE.W    (A0,D7.L),D7
  11076.     ROL.W    #8,D7
  11077.     MOVE.L    A0,A5
  11078.     ADDA.L    D7,A5
  11079.     MOVE.W    (A2)+,D1
  11080.     IF    DEEBUG
  11081.     BRA    DEBUG
  11082.     ELSE
  11083.     JMP    ([A3,D1.W*4])
  11084.     ENDIF
  11085.  
  11086. MFD2B:                ; DEC IY
  11087.     SUBA.L    A0,A5
  11088.     MOVE.L    A5,D7
  11089.     SUBQ.W    #1,D7
  11090.     MOVE.L    A0,A5
  11091.     ADDA.L    D7,A5
  11092.     MOVE.W    (A2)+,D1
  11093.     IF    DEEBUG
  11094.     BRA    DEBUG
  11095.     ELSE
  11096.     JMP    ([A3,D1.W*4])
  11097.     ENDIF
  11098.  
  11099. MFD34:                ; INC (IY+D)
  11100.     MOVE.W    D4,-(SP)    ; SAVE X,C AS NOT AFFECTED
  11101.     SUBA.L    A0,A5
  11102.     MOVE.L    A5,D1        ; CONVENIENTLY MASK D1.L WITH 0000FFFF
  11103.     MOVE.B    (A2)+,D7
  11104.     EXT.W    D7
  11105.     ADD.W    D7,D1
  11106.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  11107.     BCS.B    .L1
  11108.     ADDA.L    A0,A5
  11109.     MOVE.B    (A5,D7.L),D6
  11110.     MOVE.W    D4,CCR
  11111.     ADDQ.B    #1,D6
  11112.     MOVE.W    CCR,D4
  11113.     MOVE.W    (SP)+,D1    ; GET OLD FLAGS
  11114.     ANDI.W    #$EE,D4        ; CLEAR X,C
  11115.     ANDI.W    #$11,D1
  11116.     OR.B    D1,D4        ; SET X,C IF PREVIUOSLY SET
  11117.     MOVE.B    D6,(A5,D7.L)
  11118.     ANDI.W    #$00FF,D6    ; EXT D6 FOR INDEX INTO ADD TABLE
  11119.     MOVE.B    $220(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  11120.     MOVE.W    (A2)+,D1
  11121.     IF    DEEBUG
  11122.     BRA    DEBUG
  11123.     ELSE
  11124.     JMP    ([A3,D1.W*4])
  11125.     ENDIF
  11126. .L1
  11127.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  11128.     BHI.B    .L2
  11129.     ADDA.L    A0,A5
  11130.     MOVE.B    (A5,D7.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER
  11131.     MOVE.W    D4,CCR        ; ANY MEMORY
  11132.     ADDQ.B    #1,D6
  11133.     MOVE.W    CCR,D4
  11134.     MOVE.W    (SP)+,D1    ; GET OLD FLAGS
  11135.     ANDI.W    #$EE,D4        ; CLEAR X,C
  11136.     ANDI.W    #$11,D1
  11137.     OR.B    D1,D4        ; SET X,C IF PREVIUOSLY SET
  11138.     ANDI.W    #$00FF,D6    ; EXT D7 FOR INDEX INTO ADD TABLE
  11139.     MOVE.B    $220(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  11140.     MOVE.W    (A2)+,D1
  11141.     IF    DEEBUG
  11142.     BRA    DEBUG
  11143.     ELSE
  11144.     JMP    ([A3,D1.W*4])
  11145.     ENDIF
  11146. .L2
  11147.     ADDA.L    A0,A5
  11148.     MOVE.B    (A5,D7.L),D6
  11149.     MOVE.W    D4,CCR
  11150.     ADDQ.B    #1,D6
  11151.     MOVE.W    CCR,D4
  11152.     MOVE.B    D6,(A5,D7.L)
  11153.     ANDI.W    #$00FF,D6    ; EXT D7 FOR INDEX INTO ADD TABLE
  11154.     MOVE.B    $220(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  11155.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  11156.     MOVE.W    (SP)+,D1    ; GET OLD FLAGS
  11157.     ANDI.W    #$EE,D4        ; CLEAR X,C
  11158.     ANDI.W    #$11,D1
  11159.     OR.B    D1,D4        ; SET X,C IF PREVIUOSLY SET
  11160.     MOVE.W    (A2)+,D1
  11161.     IF    DEEBUG
  11162.     BRA    DEBUG
  11163.     ELSE
  11164.     JMP    ([A3,D1.W*4])
  11165.     ENDIF
  11166.  
  11167. MFD35:                ; DEC (IY+D)
  11168.     MOVE.W    D4,-(SP)    ; SAVE X,C AS NOT AFFECTED
  11169.     SUBA.L    A0,A5
  11170.     MOVE.L    A5,D1        ; CONVENIENTLY MASK D1.L WITH 0000FFFF
  11171.     MOVE.B    (A2)+,D7
  11172.     EXT.W    D7
  11173.     ADD.W    D7,D1
  11174.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  11175.     BCS.B    .L1
  11176.     ADDA.L    A0,A5
  11177.     MOVE.B    (A5,D7.L),D6
  11178.     MOVE.W    D4,CCR
  11179.     SUBQ.B    #1,D6
  11180.     MOVE.W    CCR,D4
  11181.     MOVE.W    (SP)+,D1    ; GET OLD FLAGS
  11182.     ANDI.W    #$EE,D4        ; CLEAR X,C
  11183.     ANDI.W    #$11,D1
  11184.     OR.B    D1,D4        ; SET X,C IF PREVIUOSLY SET
  11185.     MOVE.B    D6,(A5,D7.L)
  11186.     ANDI.W    #$00FF,D6    ; EXT D6 FOR INDEX INTO SUB TABLE
  11187.     MOVE.B    $320(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  11188.     MOVE.W    (A2)+,D1
  11189.     IF    DEEBUG
  11190.     BRA    DEBUG
  11191.     ELSE
  11192.     JMP    ([A3,D1.W*4])
  11193.     ENDIF
  11194. .L1
  11195.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  11196.     BHI.B    .L2
  11197.     ADDA.L    A0,A5
  11198.     MOVE.B    (A5,D7.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER
  11199.     MOVE.W    D4,CCR        ; ANY MEMORY
  11200.     SUBQ.B    #1,D6
  11201.     MOVE.W    CCR,D4
  11202.     MOVE.W    (SP)+,D1    ; GET OLD FLAGS
  11203.     ANDI.W    #$EE,D4        ; CLEAR X,C
  11204.     ANDI.W    #$11,D1
  11205.     OR.B    D1,D4        ; SET X,C IF PREVIUOSLY SET
  11206.     ANDI.W    #$00FF,D6    ; EXT D7 FOR INDEX INTO SUB TABLE
  11207.     MOVE.B    $220(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  11208.     MOVE.W    (A2)+,D1
  11209.     IF    DEEBUG
  11210.     BRA    DEBUG
  11211.     ELSE
  11212.     JMP    ([A3,D1.W*4])
  11213.     ENDIF
  11214. .L2
  11215.     ADDA.L    A0,A5
  11216.     MOVE.B    (A5,D7.L),D6
  11217.     MOVE.W    D4,CCR
  11218.     SUBQ.B    #1,D6
  11219.     MOVE.W    CCR,D4
  11220.     MOVE.B    D6,(A5,D7.L)
  11221.     ANDI.W    #$00FF,D6    ; EXT D7 FOR INDEX INTO SUB TABLE
  11222.     MOVE.B    $220(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  11223.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  11224.     MOVE.W    (SP)+,D1    ; GET OLD FLAGS
  11225.     ANDI.W    #$EE,D4        ; CLEAR X,C
  11226.     ANDI.W    #$11,D1
  11227.     OR.B    D1,D4        ; SET X,C IF PREVIUOSLY SET
  11228.     MOVE.W    (A2)+,D1
  11229.     IF    DEEBUG
  11230.     BRA    DEBUG
  11231.     ELSE
  11232.     JMP    ([A3,D1.W*4])
  11233.     ENDIF
  11234.  
  11235. MFD36:                ; LD (IY+D),N
  11236.     SUBA.L    A0,A5
  11237.     MOVE.L    A5,D1        ; CONVENIENTLY MASK D1.L WITH 0000FFFF
  11238.     MOVE.B    (A2)+,D7
  11239.     EXT.W    D7
  11240.     ADD.W    D7,D1
  11241.     CMPI.W    #$4000,D1    ; if (IX+D) >= 4000 do the instruction
  11242.     BCS.B    .L1
  11243.     MOVE.B    (A2)+,D1
  11244.     ADDA.L    A0,A5
  11245.     MOVE.B    D1,(A5,D7.W)
  11246.     MOVE.W    (A2)+,D1
  11247.     IF    DEEBUG
  11248.     BRA    DEBUG
  11249.     ELSE
  11250.     JMP    ([A3,D1.W*4])
  11251.     ENDIF
  11252.  
  11253. .L1
  11254.     CMPI.W    #$3BFF,D1    ; if (IY+D) < 3C00 we are in ROM so do nothing
  11255.     BHI.B    .L2
  11256.     ADDA.L    A0,A5
  11257.     ADDQ.L    #1,A2        ; will catch (IY+d)>FFFF aswell 
  11258.     MOVE.W    (A2)+,D1
  11259.     IF    DEEBUG
  11260.     BRA    DEBUG
  11261.     ELSE
  11262.     JMP    ([A3,D1.W*4])
  11263.     ENDIF
  11264. .L2
  11265.     MOVE.B    (A2)+,D6
  11266.     ADDA.L    A0,A5
  11267.     MOVE.B    D6,(A5,D7.W)    ; (IY+D) is pointing at the screen so update the
  11268.     BSR    _screenwrite    ; screen with N
  11269.     MOVE.W    (A2)+,D1
  11270.     IF    DEEBUG
  11271.     BRA    DEBUG
  11272.     ELSE
  11273.     JMP    ([A3,D1.W*4])
  11274.     ENDIF
  11275.  
  11276. MFD39:                ; ADD IY,SP
  11277.     SUBA.L    A0,A4
  11278.     MOVE.L    A4,D7
  11279.     SUBA.L    A0,A5
  11280.     MOVE.L    A5,D6
  11281.     ADD.W    D7,D6
  11282.     SCS.B    D7
  11283.     ANDI.W    #$EE,D4        ; CLEAR X,C
  11284.     ANDI.W    #$11,D7
  11285.     OR.B    D7,D4        ; SET X,C IF CARRY
  11286.     MOVEQ    #0,D5        ; SET H,N=0
  11287.     ADDA.L    A0,A4
  11288.     MOVE.L    D6,A5
  11289.     ADDA.L    A0,A5
  11290.     MOVE.W    (A2)+,D1
  11291.     IF    DEEBUG
  11292.     BRA    DEBUG
  11293.     ELSE
  11294.     JMP    ([A3,D1.W*4])
  11295.     ENDIF
  11296.  
  11297. MFD46:                ; LD B,(IY+D)
  11298.     MOVE.B    (A2)+,D1
  11299.     EXT.W    D1
  11300.     ROL.W    #8,D3
  11301.     MOVE.B    (A5,D1.W),D3
  11302.     ROL.W    #8,D3
  11303.     MOVE.W    (A2)+,D1
  11304.     IF    DEEBUG
  11305.     BRA    DEBUG
  11306.     ELSE
  11307.     JMP    ([A3,D1.W*4])
  11308.     ENDIF
  11309.  
  11310. MFD4E:                ; LD C,(IY+D)
  11311.     MOVE.B    (A2)+,D1
  11312.     EXT.W    D1
  11313.     MOVE.B    (A5,D1.W),D3
  11314.     MOVE.W    (A2)+,D1
  11315.     IF    DEEBUG
  11316.     BRA    DEBUG
  11317.     ELSE
  11318.     JMP    ([A3,D1.W*4])
  11319.     ENDIF
  11320.  
  11321. MFD56:                ; LD D,(IY+D)
  11322.     MOVE.B    (A2)+,D1
  11323.     EXT.W    D1
  11324.     ROL.L    #8,D3
  11325.     MOVE.B    (A5,D1.W),D3
  11326.     ROR.L    #8,D3
  11327.     MOVE.W    (A2)+,D1
  11328.     IF    DEEBUG
  11329.     BRA    DEBUG
  11330.     ELSE
  11331.     JMP    ([A3,D1.W*4])
  11332.     ENDIF
  11333.  
  11334. MFD5E:                ; LD E,(IY+D)
  11335.     MOVE.B    (A2)+,D1
  11336.     EXT.W    D1
  11337.     SWAP    D3
  11338.     MOVE.B    (A5,D1.W),D3
  11339.     SWAP    D3
  11340.     MOVE.W    (A2)+,D1
  11341.     IF    DEEBUG
  11342.     BRA    DEBUG
  11343.     ELSE
  11344.     JMP    ([A3,D1.W*4])
  11345.     ENDIF
  11346.  
  11347. MFD66:                ; LD H,(IY+D)
  11348.     MOVE.B    (A2)+,D1
  11349.     EXT.W    D1
  11350.     ROL.W    #8,D2
  11351.     MOVE.B    (A5,D1.W),D2
  11352.     ROL.W    #8,D2
  11353.     MOVE.W    (A2)+,D1
  11354.     IF    DEEBUG
  11355.     BRA    DEBUG
  11356.     ELSE
  11357.     JMP    ([A3,D1.W*4])
  11358.     ENDIF
  11359.  
  11360. MFD6E:                ; LD L,(IY+D)
  11361.     MOVE.B    (A2)+,D1
  11362.     EXT.W    D1
  11363.     MOVE.B    (A5,D1.W),D2
  11364.     MOVE.W    (A2)+,D1
  11365.     IF    DEEBUG
  11366.     BRA    DEBUG
  11367.     ELSE
  11368.     JMP    ([A3,D1.W*4])
  11369.     ENDIF
  11370.  
  11371. MFD70:                ; LD (IY+D),B
  11372.     SUBA.L    A0,A5
  11373.     MOVE.L    A5,D1        
  11374.     MOVE.B    (A2)+,D7
  11375.     EXT.W    D7
  11376.     ADD.W    D7,D1
  11377.     CMPI.W    #$4000,D1    
  11378.     BCS.B    .L1
  11379.     ADDA.L    A0,A5
  11380.     ROL.W    #8,D3
  11381.     MOVE.B    D3,(A5,D7.W)
  11382.     ROL.W    #8,D3
  11383.     MOVE.W    (A2)+,D1
  11384.     IF    DEEBUG
  11385.     BRA    DEBUG
  11386.     ELSE
  11387.     JMP    ([A3,D1.W*4])
  11388.     ENDIF
  11389.  
  11390. .L1
  11391.     CMPI.W    #$3BFF,D1    
  11392.     BHI.B    .L2
  11393.     ADDA.L    A0,A5         
  11394.     MOVE.W    (A2)+,D1
  11395.     IF    DEEBUG
  11396.     BRA    DEBUG
  11397.     ELSE
  11398.     JMP    ([A3,D1.W*4])
  11399.     ENDIF
  11400. .L2
  11401.     MOVE.W    D3,D6
  11402.     ADDA.L    A0,A5
  11403.     ROL.W    #8,D6
  11404.     MOVE.B    D6,(A5,D7.W)    
  11405.     BSR    _screenwrite    
  11406.     MOVE.W    (A2)+,D1
  11407.     IF    DEEBUG
  11408.     BRA    DEBUG
  11409.     ELSE
  11410.     JMP    ([A3,D1.W*4])
  11411.     ENDIF
  11412.  
  11413. MFD71:                ; LD (IY+D),C
  11414.     SUBA.L    A0,A5
  11415.     MOVE.L    A5,D1        
  11416.     MOVE.B    (A2)+,D7
  11417.     EXT.W    D7
  11418.     ADD.W    D7,D1
  11419.     CMPI.W    #$4000,D1    
  11420.     BCS.B    .L1
  11421.     ADDA.L    A0,A5
  11422.     MOVE.B    D3,(A5,D7.W)
  11423.     MOVE.W    (A2)+,D1
  11424.     IF    DEEBUG
  11425.     BRA    DEBUG
  11426.     ELSE
  11427.     JMP    ([A3,D1.W*4])
  11428.     ENDIF
  11429.  
  11430. .L1
  11431.     CMPI.W    #$3BFF,D1    
  11432.     BHI.B    .L2
  11433.     ADDA.L    A0,A5         
  11434.     MOVE.W    (A2)+,D1
  11435.     IF    DEEBUG
  11436.     BRA    DEBUG
  11437.     ELSE
  11438.     JMP    ([A3,D1.W*4])
  11439.     ENDIF
  11440. .L2
  11441.     MOVE.B    D3,D6
  11442.     ADDA.L    A0,A5
  11443.     MOVE.B    D6,(A5,D7.W)    
  11444.     BSR    _screenwrite    
  11445.     MOVE.W    (A2)+,D1
  11446.     IF    DEEBUG
  11447.     BRA    DEBUG
  11448.     ELSE
  11449.     JMP    ([A3,D1.W*4])
  11450.     ENDIF
  11451.  
  11452. MFD72:                ; LD (IY+D),D
  11453.     SUBA.L    A0,A5
  11454.     MOVE.L    A5,D1        
  11455.     MOVE.B    (A2)+,D7
  11456.     EXT.W    D7
  11457.     ADD.W    D7,D1
  11458.     CMPI.W    #$4000,D1    
  11459.     BCS.B    .L1
  11460.     ADDA.L    A0,A5
  11461.     ROL.L    #8,D3
  11462.     MOVE.B    D3,(A5,D7.W)
  11463.     ROR.L    #8,D3
  11464.     MOVE.W    (A2)+,D1
  11465.     IF    DEEBUG
  11466.     BRA    DEBUG
  11467.     ELSE
  11468.     JMP    ([A3,D1.W*4])
  11469.     ENDIF
  11470.  
  11471. .L1
  11472.     CMPI.W    #$3BFF,D1    
  11473.     BHI.B    .L2
  11474.     ADDA.L    A0,A5         
  11475.     MOVE.W    (A2)+,D1
  11476.     IF    DEEBUG
  11477.     BRA    DEBUG
  11478.     ELSE
  11479.     JMP    ([A3,D1.W*4])
  11480.     ENDIF
  11481. .L2
  11482.     MOVE.L    D3,D6
  11483.     ADDA.L    A0,A5
  11484.     ROL.L    #8,D6
  11485.     MOVE.B    D6,(A5,D7.W)    
  11486.     BSR    _screenwrite    
  11487.     MOVE.W    (A2)+,D1
  11488.     IF    DEEBUG
  11489.     BRA    DEBUG
  11490.     ELSE
  11491.     JMP    ([A3,D1.W*4])
  11492.     ENDIF
  11493.  
  11494. MFD73:                ; LD (IY+D),E
  11495.     SUBA.L    A0,A5
  11496.     MOVE.L    A5,D1        
  11497.     MOVE.B    (A2)+,D7
  11498.     EXT.W    D7
  11499.     ADD.W    D7,D1
  11500.     CMPI.W    #$4000,D1    
  11501.     BCS.B    .L1
  11502.     ADDA.L    A0,A5
  11503.     SWAP    D3
  11504.     MOVE.B    D3,(A5,D7.W)
  11505.     SWAP    D3
  11506.     MOVE.W    (A2)+,D1
  11507.     IF    DEEBUG
  11508.     BRA    DEBUG
  11509.     ELSE
  11510.     JMP    ([A3,D1.W*4])
  11511.     ENDIF
  11512.  
  11513. .L1
  11514.     CMPI.W    #$3BFF,D1    
  11515.     BHI.B    .L2
  11516.     ADDA.L    A0,A5         
  11517.     MOVE.W    (A2)+,D1
  11518.     IF    DEEBUG
  11519.     BRA    DEBUG
  11520.     ELSE
  11521.     JMP    ([A3,D1.W*4])
  11522.     ENDIF
  11523. .L2
  11524.     MOVE.L    D3,D6
  11525.     ADDA.L    A0,A5
  11526.     SWAP    D6
  11527.     MOVE.B    D6,(A5,D7.W)    
  11528.     BSR    _screenwrite    
  11529.     MOVE.W    (A2)+,D1
  11530.     IF    DEEBUG
  11531.     BRA    DEBUG
  11532.     ELSE
  11533.     JMP    ([A3,D1.W*4])
  11534.     ENDIF
  11535.  
  11536. MFD74:                ; LD (IY+D),H
  11537.     SUBA.L    A0,A5
  11538.     MOVE.L    A5,D1        
  11539.     MOVE.B    (A2)+,D7
  11540.     EXT.W    D7
  11541.     ADD.W    D7,D1
  11542.     CMPI.W    #$4000,D1    
  11543.     BCS.B    .L1
  11544.     ADDA.L    A0,A5
  11545.     ROL.W    #8,D2
  11546.     MOVE.B    D2,(A5,D7.W)
  11547.     ROL.W    #8,D2
  11548.     MOVE.W    (A2)+,D1
  11549.     IF    DEEBUG
  11550.     BRA    DEBUG
  11551.     ELSE
  11552.     JMP    ([A3,D1.W*4])
  11553.     ENDIF
  11554.  
  11555. .L1
  11556.     CMPI.W    #$3BFF,D1    
  11557.     BHI.B    .L2
  11558.     ADDA.L    A0,A5         
  11559.     MOVE.W    (A2)+,D1
  11560.     IF    DEEBUG
  11561.     BRA    DEBUG
  11562.     ELSE
  11563.     JMP    ([A3,D1.W*4])
  11564.     ENDIF
  11565. .L2
  11566.     MOVE.W    D2,D6
  11567.     ADDA.L    A0,A5
  11568.     ROL.W    #8,D6
  11569.     MOVE.B    D6,(A5,D7.W)    
  11570.     BSR    _screenwrite    
  11571.     MOVE.W    (A2)+,D1
  11572.     IF    DEEBUG
  11573.     BRA    DEBUG
  11574.     ELSE
  11575.     JMP    ([A3,D1.W*4])
  11576.     ENDIF
  11577.  
  11578. MFD75:                ; LD (IY+D),L
  11579.     SUBA.L    A0,A5
  11580.     MOVE.L    A5,D1        
  11581.     MOVE.B    (A2)+,D7
  11582.     EXT.W    D7
  11583.     ADD.W    D7,D1
  11584.     CMPI.W    #$4000,D1    
  11585.     BCS.B    .L1
  11586.     ADDA.L    A0,A5
  11587.     MOVE.B    D2,(A5,D7.W)
  11588.     MOVE.W    (A2)+,D1
  11589.     IF    DEEBUG
  11590.     BRA    DEBUG
  11591.     ELSE
  11592.     JMP    ([A3,D1.W*4])
  11593.     ENDIF
  11594.  
  11595. .L1
  11596.     CMPI.W    #$3BFF,D1    
  11597.     BHI.B    .L2
  11598.     ADDA.L    A0,A5         
  11599.     MOVE.W    (A2)+,D1
  11600.     IF    DEEBUG
  11601.     BRA    DEBUG
  11602.     ELSE
  11603.     JMP    ([A3,D1.W*4])
  11604.     ENDIF
  11605. .L2
  11606.     MOVE.B    D2,D6
  11607.     ADDA.L    A0,A5
  11608.     MOVE.B    D6,(A5,D7.W)    
  11609.     BSR    _screenwrite    
  11610.     MOVE.W    (A2)+,D1
  11611.     IF    DEEBUG
  11612.     BRA    DEBUG
  11613.     ELSE
  11614.     JMP    ([A3,D1.W*4])
  11615.     ENDIF
  11616.  
  11617. MFD77:                ; LD (IY+D),A
  11618.     SUBA.L    A0,A5
  11619.     MOVE.L    A5,D1        
  11620.     MOVE.B    (A2)+,D7
  11621.     EXT.W    D7
  11622.     ADD.W    D7,D1
  11623.     CMPI.W    #$4000,D1    
  11624.     BCS.B    .L1
  11625.     ADDA.L    A0,A5
  11626.     MOVE.B    D0,(A5,D7.W)
  11627.     MOVE.W    (A2)+,D1
  11628.     IF    DEEBUG
  11629.     BRA    DEBUG
  11630.     ELSE
  11631.     JMP    ([A3,D1.W*4])
  11632.     ENDIF
  11633.  
  11634. .L1
  11635.     CMPI.W    #$3BFF,D1    
  11636.     BHI.B    .L2
  11637.     ADDA.L    A0,A5         
  11638.     MOVE.W    (A2)+,D1
  11639.     IF    DEEBUG
  11640.     BRA    DEBUG
  11641.     ELSE
  11642.     JMP    ([A3,D1.W*4])
  11643.     ENDIF
  11644. .L2
  11645.     MOVE.B    D0,D6
  11646.     ADDA.L    A0,A5
  11647.     MOVE.B    D6,(A5,D7.W)    
  11648.     BSR    _screenwrite    
  11649.     MOVE.W    (A2)+,D1
  11650.     IF    DEEBUG
  11651.     BRA    DEBUG
  11652.     ELSE
  11653.     JMP    ([A3,D1.W*4])
  11654.     ENDIF
  11655.  
  11656. MFD7E:                ; LD A,(IY+D)
  11657.     MOVE.B    (A2)+,D1
  11658.     EXT.W    D1
  11659.     MOVE.B    (A5,D1.W),D0
  11660.     MOVE.W    (A2)+,D1
  11661.     IF    DEEBUG
  11662.     BRA    DEBUG
  11663.     ELSE
  11664.     JMP    ([A3,D1.W*4])
  11665.     ENDIF
  11666.  
  11667. MFD86:                ; ADD A,(IY+D)
  11668.     MOVE.B    (A2)+,D1
  11669.     EXT.W    D1
  11670.     MOVE.W    D4,CCR
  11671.     ADD.B    (A5,D1.W),D0
  11672.     MOVE.W    CCR,D4
  11673.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO ADD TABLE
  11674.     MOVE.B    $220(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  11675.     MOVE.W    (A2)+,D1
  11676.     IF    DEEBUG
  11677.     BRA    DEBUG
  11678.     ELSE
  11679.     JMP    ([A3,D1.W*4])
  11680.     ENDIF
  11681.  
  11682. MFD8E:                ; ADC A,(IY+D)
  11683.     MOVE.B    (A2)+,D1
  11684.     EXT.W    D1
  11685.     MOVE.B    (A5,D1.W),D7
  11686.     ORI.B    #4,D4        ; SET Z FOR ADDX INSTR
  11687.     MOVE.W    D4,CCR
  11688.     ADDX.B    D7,D0
  11689.     MOVE.W    CCR,D4
  11690.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO ADD TABLE
  11691.     MOVE.B    $220(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  11692.     MOVE.W    (A2)+,D1
  11693.     IF    DEEBUG
  11694.     BRA    DEBUG
  11695.     ELSE
  11696.     JMP    ([A3,D1.W*4])
  11697.     ENDIF
  11698.  
  11699. MFD96:                ; SUB (IY+D)
  11700.     MOVE.B    (A2)+,D1
  11701.     EXT.W    D1
  11702.     MOVE.W    D4,CCR
  11703.     SUB.B    (A5,D1.W),D0
  11704.     MOVE.W    CCR,D4
  11705.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO SUB TABLE
  11706.     MOVE.B    $320(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  11707.     MOVE.W    (A2)+,D1
  11708.     IF    DEEBUG
  11709.     BRA    DEBUG
  11710.     ELSE
  11711.     JMP    ([A3,D1.W*4])
  11712.     ENDIF
  11713.  
  11714. MFD9E:                ; SBC A,(IY+D)
  11715.     MOVE.B    (A2)+,D1
  11716.     EXT.W    D1
  11717.     MOVE.B    (A5,D1.W),D7
  11718.     ORI.B    #4,D4        ; SET Z FOR SUBX INSTR
  11719.     MOVE.W    D4,CCR
  11720.     SUBX.B    D7,D0
  11721.     MOVE.W    CCR,D4
  11722.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO SUB TABLE
  11723.     MOVE.B    $320(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  11724.     MOVE.W    (A2)+,D1
  11725.     IF    DEEBUG
  11726.     BRA    DEBUG
  11727.     ELSE
  11728.     JMP    ([A3,D1.W*4])
  11729.     ENDIF
  11730.  
  11731. MFDA6:                ; AND (IY+D)
  11732.     MOVE.B    (A2)+,D1
  11733.     EXT.W    D1
  11734.     MOVE.W    D4,CCR
  11735.     AND.B    (A5,D1.W),D0
  11736.     MOVE.W    CCR,D4
  11737.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO PARITY TABLE
  11738.     OR.B    (A6,D0.W),D4    ; SET V FLG TO PARITY TABLE VALUE
  11739.     ANDI.W    #$EE,D4        ; CLEAR C AND X
  11740.     MOVE.B    #$10,D5        ; SET EXTENDED Z80 FLG TO N=0 H=1
  11741.     MOVE.W    (A2)+,D1
  11742.     IF    DEEBUG
  11743.     BRA    DEBUG
  11744.     ELSE
  11745.     JMP    ([A3,D1.W*4])
  11746.     ENDIF
  11747.  
  11748. MFDAE:                ; XOR (IY+D)
  11749.     MOVE.B    (A2)+,D1
  11750.     EXT.W    D1
  11751.     MOVE.B    (A5,D1.W),D7
  11752.     MOVE.W    D4,CCR
  11753.     EOR.B    D7,D0
  11754.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO PARITY TABLE
  11755.     OR.B    (A6,D0.W),D4    ; SET V FLG TO PARITY TABLE VALUE
  11756.     ANDI.W    #$EE,D4        ; CLEAR C AND X
  11757.     MOVE.B    #$10,D5        ; SET EXTENDED Z80 FLG TO N=0 H=1
  11758.     MOVE.W    CCR,D4
  11759.     MOVE.W    (A2)+,D1
  11760.     IF    DEEBUG
  11761.     BRA    DEBUG
  11762.     ELSE
  11763.     JMP    ([A3,D1.W*4])
  11764.     ENDIF
  11765.  
  11766. MFDB6:                ; OR (IY+D)
  11767.     MOVE.B    (A2)+,D1
  11768.     EXT.W    D1
  11769.     MOVE.W    D4,CCR
  11770.     OR.B    (A5,D1.W),D0
  11771.     MOVE.W    CCR,D4
  11772.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO PARITY TABLE
  11773.     OR.B    (A6,D0.W),D4    ; SET V FLG TO PARITY TABLE VALUE
  11774.     ANDI.W    #$EE,D4        ; CLEAR C AND X
  11775.     MOVE.B    #$10,D5        ; SET EXTENDED Z80 FLG TO N=0 H=1
  11776.     MOVE.W    (A2)+,D1
  11777.     IF    DEEBUG
  11778.     BRA    DEBUG
  11779.     ELSE
  11780.     JMP    ([A3,D1.W*4])
  11781.     ENDIF
  11782.  
  11783. MFDBE:                ; CP (IY+D)
  11784.     MOVE.B    D0,D6
  11785.     MOVE.B    (A2)+,D1
  11786.     EXT.W    D1
  11787.     MOVE.W    D4,CCR
  11788.     SUB.B    (A5,D1.W),D6
  11789.     MOVE.W    CCR,D4
  11790.     ANDI.W    #$00FF,D6    ; EXT D6 FOR INDEX INTO SUB TABLE
  11791.     MOVE.B    $320(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  11792.     MOVE.W    (A2)+,D1
  11793.     IF    DEEBUG
  11794.     BRA    DEBUG
  11795.     ELSE
  11796.     JMP    ([A3,D1.W*4])
  11797.     ENDIF
  11798.  
  11799. MFDCB:                ; various (IY+d) instructions    FD CB d X
  11800.     SUBA.L    A0,A5        ; get real IY val
  11801.     MOVE.L    A5,D1
  11802.     ADDA.L    A0,A5        
  11803.     MOVE.B    (A2)+,D7    ; get d offset
  11804.     EXT.W    D7        ; sign extend
  11805.     ADD.W    D7,D1        ; D1 now has (IY+d) for later use by screenwrite()
  11806.     MOVE.B    (A2)+,D7    ; get X to decide function to perform
  11807.  
  11808.     CMPI.B    #6,D7
  11809.     BEQ.W    FDRLC
  11810.     CMPI.B    #14,D7
  11811.     BEQ.W    FDRRC
  11812.     CMPI.B    #$16,D7
  11813.     BEQ.W    FDRL
  11814.     CMPI.B    #$1E,D7
  11815.     BEQ.W    FDRR
  11816.     CMPI.B    #$26,D7
  11817.     BEQ.W    FDSLA
  11818.     CMPI.B    #$2E,D7
  11819.     BEQ.W    FDSRA
  11820.     CMPI.B    #$3E,D7
  11821.     BEQ.W    FDSRL
  11822.     CMPI.B    #$46,D7
  11823.     BEQ.W    FDBT0
  11824.     CMPI.B    #$4E,D7
  11825.     BEQ.W    FDBT1
  11826.     CMPI.B    #$56,D7
  11827.     BEQ.W    FDBT2
  11828.     CMPI.B    #$5E,D7
  11829.     BEQ.W    FDBT3
  11830.     CMPI.B    #$66,D7
  11831.     BEQ.W    FDBT4
  11832.     CMPI.B    #$6E,D7
  11833.     BEQ.W    FDBT5
  11834.     CMPI.B    #$76,D7
  11835.     BEQ.W    FDBT6
  11836.     CMPI.B    #$7E,D7
  11837.     BEQ.W    FDBT7
  11838.     CMPI.B    #$86,D7
  11839.     BEQ.W    FDRS0
  11840.     CMPI.B    #$8E,D7
  11841.     BEQ.W    FDRS1
  11842.     CMPI.B    #$96,D7
  11843.     BEQ.W    FDRS2
  11844.     CMPI.B    #$9E,D7
  11845.     BEQ.W    FDRS3
  11846.     CMPI.B    #$A6,D7
  11847.     BEQ.W    FDRS4
  11848.     CMPI.B    #$AE,D7
  11849.     BEQ.W    FDRS5
  11850.     CMPI.B    #$B6,D7
  11851.     BEQ.W    FDRS6
  11852.     CMPI.B    #$BE,D7
  11853.     BEQ.W    FDRS7
  11854.     CMPI.B    #$C6,D7
  11855.     BEQ.W    FDST0
  11856.     CMPI.B    #$CE,D7
  11857.     BEQ.W    FDST1
  11858.     CMPI.B    #$D6,D7
  11859.     BEQ.W    FDST2
  11860.     CMPI.B    #$DE,D7
  11861.     BEQ.W    FDST3
  11862.     CMPI.B    #$E6,D7
  11863.     BEQ.W    FDST4
  11864.     CMPI.B    #$EE,D7
  11865.     BEQ.W    FDST5
  11866.     CMPI.B    #$F6,D7
  11867.     BEQ.W    FDST6
  11868.     CMPI.B    #$FE,D7
  11869.     BEQ.W    FDST7
  11870.  
  11871.     BRA    ILLEGAL        ; ILLEGAL IF NO MATCH IN TABLE
  11872.  
  11873. FDRLC:                ; RLC (IY+D)
  11874.  
  11875.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  11876.     BCS.B    .L1
  11877.     MOVE.B    (A0,D1.L),D6
  11878.     MOVE.W    D4,CCR
  11879.     ROL.B    #1,D6
  11880.     MOVE.W    CCR,D4
  11881.     SCS    D7
  11882.     ANDI.B    #$01,D7
  11883.     ROL.B    #4,D7
  11884.     OR.B    D7,D4
  11885.     ANDI.W    #$00FF,D6
  11886.     OR.B    (A6,D6.W),D4
  11887.     MOVEQ.B    #0,D5
  11888.     MOVE.B    D6,(A0,D1.L)
  11889.     MOVE.W    (A2)+,D1
  11890.     IF    DEEBUG
  11891.     BRA    DEBUG
  11892.     ELSE
  11893.     JMP    ([A3,D1.W*4])
  11894.     ENDIF
  11895. .L1
  11896.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  11897.     BHI.B    .L2
  11898.     MOVE.B    (A0,D1.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER (HL)
  11899.     ROL.B    #1,D6
  11900.     MOVE.W    CCR,D4
  11901.     SCS    D7
  11902.     ANDI.B    #$01,D7
  11903.     ROL.B    #4,D7
  11904.     OR.B    D7,D4
  11905.     ANDI.W    #$00FF,D6
  11906.     OR.B    (A6,D6.W),D4
  11907.     MOVEQ.B    #0,D5
  11908.     MOVE.W    (A2)+,D1
  11909.     IF    DEEBUG
  11910.     BRA    DEBUG
  11911.     ELSE
  11912.     JMP    ([A3,D1.W*4])
  11913.     ENDIF
  11914. .L2
  11915.     MOVE.B    (A0,D1.L),D6
  11916.     MOVE.W    D4,CCR
  11917.     ROL.B    #1,D6
  11918.     MOVE.W    CCR,D4
  11919.     SCS    D7
  11920.     ANDI.B    #$01,D7
  11921.     ROL.B    #4,D7
  11922.     OR.B    D7,D4
  11923.     ANDI.W    #$00FF,D6
  11924.     OR.B    (A6,D6.W),D4
  11925.     MOVEQ.B    #0,D5
  11926.     MOVE.B    D6,(A0,D1.L)
  11927.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  11928.     MOVE.W    (A2)+,D1
  11929.     IF    DEEBUG
  11930.     BRA    DEBUG
  11931.     ELSE
  11932.     JMP    ([A3,D1.W*4])
  11933.     ENDIF
  11934.  
  11935. FDRRC:                ; RRC (IY+D)
  11936.  
  11937.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  11938.     BCS.B    .L1
  11939.     MOVE.B    (A0,D1.L),D6
  11940.     MOVE.W    D4,CCR
  11941.     ROR.B    #1,D6
  11942.     MOVE.W    CCR,D4
  11943.     SCS    D7
  11944.     ANDI.B    #$01,D7
  11945.     ROL.B    #4,D7
  11946.     OR.B    D7,D4
  11947.     ANDI.W    #$00FF,D6
  11948.     OR.B    (A6,D6.W),D4
  11949.     MOVEQ.B    #0,D5
  11950.     MOVE.B    D6,(A0,D1.L)
  11951.     MOVE.W    (A2)+,D1
  11952.     IF    DEEBUG
  11953.     BRA    DEBUG
  11954.     ELSE
  11955.     JMP    ([A3,D1.W*4])
  11956.     ENDIF
  11957. .L1
  11958.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  11959.     BHI.B    .L2
  11960.     MOVE.B    (A0,D1.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER (HL)
  11961.     ROR.B    #1,D6
  11962.     MOVE.W    CCR,D4
  11963.     SCS    D7
  11964.     ANDI.B    #$01,D7
  11965.     ROL.B    #4,D7
  11966.     OR.B    D7,D4
  11967.     ANDI.W    #$00FF,D6
  11968.     OR.B    (A6,D6.W),D4
  11969.     MOVEQ.B    #0,D5
  11970.     MOVE.W    (A2)+,D1
  11971.     IF    DEEBUG
  11972.     BRA    DEBUG
  11973.     ELSE
  11974.     JMP    ([A3,D1.W*4])
  11975.     ENDIF
  11976. .L2
  11977.     MOVE.B    (A0,D1.L),D6
  11978.     MOVE.W    D4,CCR
  11979.     ROR.B    #1,D6
  11980.     MOVE.W    CCR,D4
  11981.     SCS    D7
  11982.     ANDI.B    #$01,D7
  11983.     ROL.B    #4,D7
  11984.     OR.B    D7,D4
  11985.     ANDI.W    #$00FF,D6
  11986.     OR.B    (A6,D6.W),D4
  11987.     MOVEQ.B    #0,D5
  11988.     MOVE.B    D6,(A0,D1.L)
  11989.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  11990.     MOVE.W    (A2)+,D1
  11991.     IF    DEEBUG
  11992.     BRA    DEBUG
  11993.     ELSE
  11994.     JMP    ([A3,D1.W*4])
  11995.     ENDIF
  11996.  
  11997. FDRL:                ; RL (IY+D)
  11998.  
  11999.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  12000.     BCS.B    .L1
  12001.     MOVE.B    (A0,D1.L),D6
  12002.     MOVE.W    D4,CCR
  12003.     ROXL.B    #1,D6
  12004.     MOVE.W    CCR,D4
  12005.     SCS    D7
  12006.     ANDI.B    #$01,D7
  12007.     ROL.B    #4,D7
  12008.     OR.B    D7,D4
  12009.     ANDI.W    #$00FF,D6
  12010.     OR.B    (A6,D6.W),D4
  12011.     MOVEQ.B    #0,D5
  12012.     MOVE.B    D6,(A0,D1.L)
  12013.     MOVE.W    (A2)+,D1
  12014.     IF    DEEBUG
  12015.     BRA    DEBUG
  12016.     ELSE
  12017.     JMP    ([A3,D1.W*4])
  12018.     ENDIF
  12019. .L1
  12020.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  12021.     BHI.B    .L2
  12022.     MOVE.B    (A0,D1.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER (HL)
  12023.     ROXL.B    #1,D6
  12024.     MOVE.W    CCR,D4
  12025.     SCS    D7
  12026.     ANDI.B    #$01,D7
  12027.     ROL.B    #4,D7
  12028.     OR.B    D7,D4
  12029.     ANDI.W    #$00FF,D6
  12030.     OR.B    (A6,D6.W),D4
  12031.     MOVEQ.B    #0,D5
  12032.     MOVE.W    (A2)+,D1
  12033.     IF    DEEBUG
  12034.     BRA    DEBUG
  12035.     ELSE
  12036.     JMP    ([A3,D1.W*4])
  12037.     ENDIF
  12038. .L2
  12039.     MOVE.B    (A0,D1.L),D6
  12040.     MOVE.W    D4,CCR
  12041.     ROXL.B    #1,D6
  12042.     MOVE.W    CCR,D4
  12043.     SCS    D7
  12044.     ANDI.B    #$01,D7
  12045.     ROL.B    #4,D7
  12046.     OR.B    D7,D4
  12047.     ANDI.W    #$00FF,D6
  12048.     OR.B    (A6,D6.W),D4
  12049.     MOVEQ.B    #0,D5
  12050.     MOVE.B    D6,(A0,D1.L)
  12051.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  12052.     MOVE.W    (A2)+,D1
  12053.     IF    DEEBUG
  12054.     BRA    DEBUG
  12055.     ELSE
  12056.     JMP    ([A3,D1.W*4])
  12057.     ENDIF
  12058.  
  12059. FDRR:                ; RR (IY+D)
  12060.  
  12061.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  12062.     BCS.B    .L1
  12063.     MOVE.B    (A0,D1.L),D6
  12064.     MOVE.W    D4,CCR
  12065.     ROXR.B    #1,D6
  12066.     MOVE.W    CCR,D4
  12067.     SCS    D7
  12068.     ANDI.B    #$01,D7
  12069.     ROL.B    #4,D7
  12070.     OR.B    D7,D4
  12071.     ANDI.W    #$00FF,D6
  12072.     OR.B    (A6,D6.W),D4
  12073.     MOVEQ.B    #0,D5
  12074.     MOVE.B    D6,(A0,D1.L)
  12075.     MOVE.W    (A2)+,D1
  12076.     IF    DEEBUG
  12077.     BRA    DEBUG
  12078.     ELSE
  12079.     JMP    ([A3,D1.W*4])
  12080.     ENDIF
  12081. .L1
  12082.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  12083.     BHI.B    .L2
  12084.     MOVE.B    (A0,D1.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER (HL)
  12085.     ROXR.B    #1,D6
  12086.     MOVE.W    CCR,D4
  12087.     SCS    D7
  12088.     ANDI.B    #$01,D7
  12089.     ROL.B    #4,D7
  12090.     OR.B    D7,D4
  12091.     ANDI.W    #$00FF,D6
  12092.     OR.B    (A6,D6.W),D4
  12093.     MOVEQ.B    #0,D5
  12094.     MOVE.W    (A2)+,D1
  12095.     IF    DEEBUG
  12096.     BRA    DEBUG
  12097.     ELSE
  12098.     JMP    ([A3,D1.W*4])
  12099.     ENDIF
  12100. .L2
  12101.     MOVE.B    (A0,D1.L),D6
  12102.     MOVE.W    D4,CCR
  12103.     ROXR.B    #1,D6
  12104.     MOVE.W    CCR,D4
  12105.     SCS    D7
  12106.     ANDI.B    #$01,D7
  12107.     ROL.B    #4,D7
  12108.     OR.B    D7,D4
  12109.     ANDI.W    #$00FF,D6
  12110.     OR.B    (A6,D6.W),D4
  12111.     MOVEQ.B    #0,D5
  12112.     MOVE.B    D6,(A0,D1.L)
  12113.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  12114.     MOVE.W    (A2)+,D1
  12115.     IF    DEEBUG
  12116.     BRA    DEBUG
  12117.     ELSE
  12118.     JMP    ([A3,D1.W*4])
  12119.     ENDIF
  12120.  
  12121. FDSLA:                ; SLA (IY+D)
  12122.  
  12123.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  12124.     BCS.B    .L1
  12125.     MOVE.B    (A0,D1.L),D6
  12126.     MOVE.W    D4,CCR
  12127.     LSL.B    #1,D6
  12128.     MOVE.W    CCR,D4
  12129.     SCS    D7
  12130.     ANDI.B    #$01,D7
  12131.     ROL.B    #4,D7
  12132.     OR.B    D7,D4
  12133.     ANDI.W    #$00FF,D6
  12134.     OR.B    (A6,D6.W),D4
  12135.     MOVEQ.B    #0,D5
  12136.     MOVE.B    D6,(A0,D1.L)
  12137.     MOVE.W    (A2)+,D1
  12138.     IF    DEEBUG
  12139.     BRA    DEBUG
  12140.     ELSE
  12141.     JMP    ([A3,D1.W*4])
  12142.     ENDIF
  12143. .L1
  12144.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  12145.     BHI.B    .L2
  12146.     MOVE.B    (A0,D1.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER (HL)
  12147.     LSL.B    #1,D6
  12148.     MOVE.W    CCR,D4
  12149.     SCS    D7
  12150.     ANDI.B    #$01,D7
  12151.     ROL.B    #4,D7
  12152.     OR.B    D7,D4
  12153.     ANDI.W    #$00FF,D6
  12154.     OR.B    (A6,D6.W),D4
  12155.     MOVEQ.B    #0,D5
  12156.     MOVE.W    (A2)+,D1
  12157.     IF    DEEBUG
  12158.     BRA    DEBUG
  12159.     ELSE
  12160.     JMP    ([A3,D1.W*4])
  12161.     ENDIF
  12162. .L2
  12163.     MOVE.B    (A0,D1.L),D6
  12164.     MOVE.W    D4,CCR
  12165.     LSL.B    #1,D6
  12166.     MOVE.W    CCR,D4
  12167.     SCS    D7
  12168.     ANDI.B    #$01,D7
  12169.     ROL.B    #4,D7
  12170.     OR.B    D7,D4
  12171.     ANDI.W    #$00FF,D6
  12172.     OR.B    (A6,D6.W),D4
  12173.     MOVEQ.B    #0,D5
  12174.     MOVE.B    D6,(A0,D1.L)
  12175.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  12176.     MOVE.W    (A2)+,D1
  12177.     IF    DEEBUG
  12178.     BRA    DEBUG
  12179.     ELSE
  12180.     JMP    ([A3,D1.W*4])
  12181.     ENDIF
  12182.  
  12183. FDSRA:                ; SRA (IY+D)
  12184.  
  12185.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  12186.     BCS.B    .L1
  12187.     MOVE.B    (A0,D1.L),D6
  12188.     MOVE.W    D4,CCR
  12189.     ASR.B    #1,D6
  12190.     MOVE.W    CCR,D4
  12191.     SCS    D7
  12192.     ANDI.B    #$01,D7
  12193.     ROL.B    #4,D7
  12194.     OR.B    D7,D4
  12195.     ANDI.W    #$00FF,D6
  12196.     OR.B    (A6,D6.W),D4
  12197.     MOVEQ.B    #0,D5
  12198.     MOVE.B    D6,(A0,D1.L)
  12199.     MOVE.W    (A2)+,D1
  12200.     IF    DEEBUG
  12201.     BRA    DEBUG
  12202.     ELSE
  12203.     JMP    ([A3,D1.W*4])
  12204.     ENDIF
  12205. .L1
  12206.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  12207.     BHI.B    .L2
  12208.     MOVE.B    (A0,D1.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER (HL)
  12209.     ASR.B    #1,D6
  12210.     MOVE.W    CCR,D4
  12211.     SCS    D7
  12212.     ANDI.B    #$01,D7
  12213.     ROL.B    #4,D7
  12214.     OR.B    D7,D4
  12215.     ANDI.W    #$00FF,D6
  12216.     OR.B    (A6,D6.W),D4
  12217.     MOVEQ.B    #0,D5
  12218.     MOVE.W    (A2)+,D1
  12219.     IF    DEEBUG
  12220.     BRA    DEBUG
  12221.     ELSE
  12222.     JMP    ([A3,D1.W*4])
  12223.     ENDIF
  12224. .L2
  12225.     MOVE.B    (A0,D1.L),D6
  12226.     MOVE.W    D4,CCR
  12227.     ASR.B    #1,D6
  12228.     MOVE.W    CCR,D4
  12229.     SCS    D7
  12230.     ANDI.B    #$01,D7
  12231.     ROL.B    #4,D7
  12232.     OR.B    D7,D4
  12233.     ANDI.W    #$00FF,D6
  12234.     OR.B    (A6,D6.W),D4
  12235.     MOVEQ.B    #0,D5
  12236.     MOVE.B    D6,(A0,D1.L)
  12237.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  12238.     MOVE.W    (A2)+,D1
  12239.     IF    DEEBUG
  12240.     BRA    DEBUG
  12241.     ELSE
  12242.     JMP    ([A3,D1.W*4])
  12243.     ENDIF
  12244.  
  12245. FDSRL:                ; SRL (IY+D)
  12246.  
  12247.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  12248.     BCS.B    .L1
  12249.     MOVE.B    (A0,D1.L),D6
  12250.     MOVE.W    D4,CCR
  12251.     LSR.B    #1,D6
  12252.     MOVE.W    CCR,D4
  12253.     SCS    D7
  12254.     ANDI.B    #$01,D7
  12255.     ROL.B    #4,D7
  12256.     OR.B    D7,D4
  12257.     ANDI.W    #$00FF,D6
  12258.     OR.B    (A6,D6.W),D4
  12259.     MOVEQ.B    #0,D5
  12260.     MOVE.B    D6,(A0,D1.L)
  12261.     MOVE.W    (A2)+,D1
  12262.     IF    DEEBUG
  12263.     BRA    DEBUG
  12264.     ELSE
  12265.     JMP    ([A3,D1.W*4])
  12266.     ENDIF
  12267. .L1
  12268.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  12269.     BHI.B    .L2
  12270.     MOVE.B    (A0,D1.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER (HL)
  12271.     LSR.B    #1,D6
  12272.     MOVE.W    CCR,D4
  12273.     SCS    D7
  12274.     ANDI.B    #$01,D7
  12275.     ROL.B    #4,D7
  12276.     OR.B    D7,D4
  12277.     ANDI.W    #$00FF,D6
  12278.     OR.B    (A6,D6.W),D4
  12279.     MOVEQ.B    #0,D5
  12280.     MOVE.W    (A2)+,D1
  12281.     IF    DEEBUG
  12282.     BRA    DEBUG
  12283.     ELSE
  12284.     JMP    ([A3,D1.W*4])
  12285.     ENDIF
  12286. .L2
  12287.     MOVE.B    (A0,D1.L),D6
  12288.     MOVE.W    D4,CCR
  12289.     LSR.B    #1,D6
  12290.     MOVE.W    CCR,D4
  12291.     SCS    D7
  12292.     ANDI.B    #$01,D7
  12293.     ROL.B    #4,D7
  12294.     OR.B    D7,D4
  12295.     ANDI.W    #$00FF,D6
  12296.     OR.B    (A6,D6.W),D4
  12297.     MOVEQ.B    #0,D5
  12298.     MOVE.B    D6,(A0,D1.L)
  12299.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  12300.     MOVE.W    (A2)+,D1
  12301.     IF    DEEBUG
  12302.     BRA    DEBUG
  12303.     ELSE
  12304.     JMP    ([A3,D1.W*4])
  12305.     ENDIF
  12306.  
  12307. FDBT0:    MOVE.B    (A0,D1.L),D7        ; BTST 0 IYD
  12308.     MOVE.W    D4,CCR
  12309.     BTST    #0,D7
  12310.     MOVE.W    CCR,D4
  12311.     MOVEQ    #$10,D5        ; SET H=1,N=0
  12312.     MOVE.W    (A2)+,D1
  12313.     IF    DEEBUG
  12314.     BRA    DEBUG
  12315.     ELSE
  12316.     JMP    ([A3,D1.W*4])
  12317.     ENDIF
  12318.  
  12319. FDBT1:    MOVE.B    (A0,D1.L),D7
  12320.     MOVE.W    D4,CCR
  12321.     BTST    #1,D7
  12322.     MOVE.W    CCR,D4
  12323.     MOVEQ    #$10,D5        ; SET H=1,N=0
  12324.     MOVE.W    (A2)+,D1
  12325.     IF    DEEBUG
  12326.     BRA    DEBUG
  12327.     ELSE
  12328.     JMP    ([A3,D1.W*4])
  12329.     ENDIF
  12330.  
  12331. FDBT2:    MOVE.B    (A0,D1.L),D7
  12332.     MOVE.W    D4,CCR
  12333.     BTST    #2,D7
  12334.     MOVE.W    CCR,D4
  12335.     MOVEQ    #$10,D5        ; SET H=1,N=0
  12336.     MOVE.W    (A2)+,D1
  12337.     IF    DEEBUG
  12338.     BRA    DEBUG
  12339.     ELSE
  12340.     JMP    ([A3,D1.W*4])
  12341.     ENDIF
  12342.  
  12343. FDBT3:    MOVE.B    (A0,D1.L),D7
  12344.     MOVE.W    D4,CCR
  12345.     BTST    #3,D7
  12346.     MOVE.W    CCR,D4
  12347.     MOVEQ    #$10,D5        ; SET H=1,N=0
  12348.     MOVE.W    (A2)+,D1
  12349.     IF    DEEBUG
  12350.     BRA    DEBUG
  12351.     ELSE
  12352.     JMP    ([A3,D1.W*4])
  12353.     ENDIF
  12354.  
  12355. FDBT4:    MOVE.B    (A0,D1.L),D7
  12356.     MOVE.W    D4,CCR
  12357.     BTST    #4,D7
  12358.     MOVE.W    CCR,D4
  12359.     MOVEQ    #$10,D5        ; SET H=1,N=0
  12360.     MOVE.W    (A2)+,D1
  12361.     IF    DEEBUG
  12362.     BRA    DEBUG
  12363.     ELSE
  12364.     JMP    ([A3,D1.W*4])
  12365.     ENDIF
  12366.  
  12367. FDBT5:    MOVE.B    (A0,D1.L),D7
  12368.     MOVE.W    D4,CCR
  12369.     BTST    #5,D7
  12370.     MOVE.W    CCR,D4
  12371.     MOVEQ    #$10,D5        ; SET H=1,N=0
  12372.     MOVE.W    (A2)+,D1
  12373.     IF    DEEBUG
  12374.     BRA    DEBUG
  12375.     ELSE
  12376.     JMP    ([A3,D1.W*4])
  12377.     ENDIF
  12378.  
  12379. FDBT6:    MOVE.B    (A0,D1.L),D7
  12380.     MOVE.W    D4,CCR
  12381.     BTST    #6,D7
  12382.     MOVE.W    CCR,D4
  12383.     MOVEQ    #$10,D5        ; SET H=1,N=0
  12384.     MOVE.W    (A2)+,D1
  12385.     IF    DEEBUG
  12386.     BRA    DEBUG
  12387.     ELSE
  12388.     JMP    ([A3,D1.W*4])
  12389.     ENDIF
  12390.  
  12391. FDBT7:    MOVE.B    (A0,D1.L),D7
  12392.     MOVE.W    D4,CCR
  12393.     BTST    #7,D7
  12394.     MOVE.W    CCR,D4
  12395.     MOVEQ    #$10,D5        ; SET H=1,N=0
  12396.     MOVE.W    (A2)+,D1
  12397.     IF    DEEBUG
  12398.     BRA    DEBUG
  12399.     ELSE
  12400.     JMP    ([A3,D1.W*4])
  12401.     ENDIF
  12402.  
  12403. FDRS0:    CMPI.W    #$4000,D1    ; RES 0 IYD
  12404.     BCS.B    .L1
  12405.     BCLR    #0,(A0,D1.L)
  12406.     MOVE.W    (A2)+,D1
  12407.     IF    DEEBUG
  12408.     BRA    DEBUG
  12409.     ELSE
  12410.     JMP    ([A3,D1.W*4])
  12411.     ENDIF
  12412. .L1
  12413.     CMPI.W    #$3BFF,D1    
  12414.     BHI.B    .L2
  12415.     MOVE.W    (A2)+,D1
  12416.     IF    DEEBUG
  12417.     BRA    DEBUG
  12418.     ELSE
  12419.     JMP    ([A3,D1.W*4])
  12420.     ENDIF
  12421. .L2
  12422.     BCLR    #0,(A0,D1.L)
  12423.     MOVE.B    (A0,D1.L),D6    
  12424.     BSR    _screenwrite
  12425.     MOVE.W    (A2)+,D1
  12426.     IF    DEEBUG
  12427.     BRA    DEBUG
  12428.     ELSE
  12429.     JMP    ([A3,D1.W*4])
  12430.     ENDIF
  12431.  
  12432. FDRS1:    CMPI.W    #$4000,D1    
  12433.     BCS.B    .L1
  12434.     BCLR    #1,(A0,D1.L)
  12435.     MOVE.W    (A2)+,D1
  12436.     IF    DEEBUG
  12437.     BRA    DEBUG
  12438.     ELSE
  12439.     JMP    ([A3,D1.W*4])
  12440.     ENDIF
  12441. .L1
  12442.     CMPI.W    #$3BFF,D1    
  12443.     BHI.B    .L2
  12444.     MOVE.W    (A2)+,D1
  12445.     IF    DEEBUG
  12446.     BRA    DEBUG
  12447.     ELSE
  12448.     JMP    ([A3,D1.W*4])
  12449.     ENDIF
  12450. .L2
  12451.     BCLR    #1,(A0,D1.L)
  12452.     MOVE.B    (A0,D1.L),D6    
  12453.     BSR    _screenwrite
  12454.     MOVE.W    (A2)+,D1
  12455.     IF    DEEBUG
  12456.     BRA    DEBUG
  12457.     ELSE
  12458.     JMP    ([A3,D1.W*4])
  12459.     ENDIF
  12460.  
  12461. FDRS2:    CMPI.W    #$4000,D1    
  12462.     BCS.B    .L1
  12463.     BCLR    #2,(A0,D1.L)
  12464.     MOVE.W    (A2)+,D1
  12465.     IF    DEEBUG
  12466.     BRA    DEBUG
  12467.     ELSE
  12468.     JMP    ([A3,D1.W*4])
  12469.     ENDIF
  12470. .L1
  12471.     CMPI.W    #$3BFF,D1    
  12472.     BHI.B    .L2
  12473.     MOVE.W    (A2)+,D1
  12474.     IF    DEEBUG
  12475.     BRA    DEBUG
  12476.     ELSE
  12477.     JMP    ([A3,D1.W*4])
  12478.     ENDIF
  12479. .L2
  12480.     BCLR    #2,(A0,D1.L)
  12481.     MOVE.B    (A0,D1.L),D6    
  12482.     BSR    _screenwrite
  12483.     MOVE.W    (A2)+,D1
  12484.     IF    DEEBUG
  12485.     BRA    DEBUG
  12486.     ELSE
  12487.     JMP    ([A3,D1.W*4])
  12488.     ENDIF
  12489.  
  12490. FDRS3:    CMPI.W    #$4000,D1    
  12491.     BCS.B    .L1
  12492.     BCLR    #3,(A0,D1.L)
  12493.     MOVE.W    (A2)+,D1
  12494.     IF    DEEBUG
  12495.     BRA    DEBUG
  12496.     ELSE
  12497.     JMP    ([A3,D1.W*4])
  12498.     ENDIF
  12499. .L1
  12500.     CMPI.W    #$3BFF,D1    
  12501.     BHI.B    .L2
  12502.     MOVE.W    (A2)+,D1
  12503.     IF    DEEBUG
  12504.     BRA    DEBUG
  12505.     ELSE
  12506.     JMP    ([A3,D1.W*4])
  12507.     ENDIF
  12508. .L2
  12509.     BCLR    #3,(A0,D1.L)
  12510.     MOVE.B    (A0,D1.L),D6    
  12511.     BSR    _screenwrite
  12512.     MOVE.W    (A2)+,D1
  12513.     IF    DEEBUG
  12514.     BRA    DEBUG
  12515.     ELSE
  12516.     JMP    ([A3,D1.W*4])
  12517.     ENDIF
  12518.  
  12519. FDRS4:    CMPI.W    #$4000,D1    
  12520.     BCS.B    .L1
  12521.     BCLR    #4,(A0,D1.L)
  12522.     MOVE.W    (A2)+,D1
  12523.     IF    DEEBUG
  12524.     BRA    DEBUG
  12525.     ELSE
  12526.     JMP    ([A3,D1.W*4])
  12527.     ENDIF
  12528. .L1
  12529.     CMPI.W    #$3BFF,D1    
  12530.     BHI.B    .L2
  12531.     MOVE.W    (A2)+,D1
  12532.     IF    DEEBUG
  12533.     BRA    DEBUG
  12534.     ELSE
  12535.     JMP    ([A3,D1.W*4])
  12536.     ENDIF
  12537. .L2
  12538.     BCLR    #4,(A0,D1.L)
  12539.     MOVE.B    (A0,D1.L),D6    
  12540.     BSR    _screenwrite
  12541.     MOVE.W    (A2)+,D1
  12542.     IF    DEEBUG
  12543.     BRA    DEBUG
  12544.     ELSE
  12545.     JMP    ([A3,D1.W*4])
  12546.     ENDIF
  12547.  
  12548. FDRS5:    CMPI.W    #$4000,D1    
  12549.     BCS.B    .L1
  12550.     BCLR    #5,(A0,D1.L)
  12551.     MOVE.W    (A2)+,D1
  12552.     IF    DEEBUG
  12553.     BRA    DEBUG
  12554.     ELSE
  12555.     JMP    ([A3,D1.W*4])
  12556.     ENDIF
  12557. .L1
  12558.     CMPI.W    #$3BFF,D1    
  12559.     BHI.B    .L2
  12560.     MOVE.W    (A2)+,D1
  12561.     IF    DEEBUG
  12562.     BRA    DEBUG
  12563.     ELSE
  12564.     JMP    ([A3,D1.W*4])
  12565.     ENDIF
  12566. .L2
  12567.     BCLR    #5,(A0,D1.L)
  12568.     MOVE.B    (A0,D1.L),D6    
  12569.     BSR    _screenwrite
  12570.     MOVE.W    (A2)+,D1
  12571.     IF    DEEBUG
  12572.     BRA    DEBUG
  12573.     ELSE
  12574.     JMP    ([A3,D1.W*4])
  12575.     ENDIF
  12576.  
  12577. FDRS6:    CMPI.W    #$4000,D1    
  12578.     BCS.B    .L1
  12579.     BCLR    #6,(A0,D1.L)
  12580.     MOVE.W    (A2)+,D1
  12581.     IF    DEEBUG
  12582.     BRA    DEBUG
  12583.     ELSE
  12584.     JMP    ([A3,D1.W*4])
  12585.     ENDIF
  12586. .L1
  12587.     CMPI.W    #$3BFF,D1    
  12588.     BHI.B    .L2
  12589.     MOVE.W    (A2)+,D1
  12590.     IF    DEEBUG
  12591.     BRA    DEBUG
  12592.     ELSE
  12593.     JMP    ([A3,D1.W*4])
  12594.     ENDIF
  12595. .L2
  12596.     BCLR    #6,(A0,D1.L)
  12597.     MOVE.B    (A0,D1.L),D6    
  12598.     BSR    _screenwrite
  12599.     MOVE.W    (A2)+,D1
  12600.     IF    DEEBUG
  12601.     BRA    DEBUG
  12602.     ELSE
  12603.     JMP    ([A3,D1.W*4])
  12604.     ENDIF
  12605.  
  12606. FDRS7:    CMPI.W    #$4000,D1    
  12607.     BCS.B    .L1
  12608.     BCLR    #7,(A0,D1.L)
  12609.     MOVE.W    (A2)+,D1
  12610.     IF    DEEBUG
  12611.     BRA    DEBUG
  12612.     ELSE
  12613.     JMP    ([A3,D1.W*4])
  12614.     ENDIF
  12615. .L1
  12616.     CMPI.W    #$3BFF,D1    
  12617.     BHI.B    .L2
  12618.     MOVE.W    (A2)+,D1
  12619.     IF    DEEBUG
  12620.     BRA    DEBUG
  12621.     ELSE
  12622.     JMP    ([A3,D1.W*4])
  12623.     ENDIF
  12624. .L2
  12625.     BCLR    #7,(A0,D1.L)
  12626.     MOVE.B    (A0,D1.L),D6    
  12627.     BSR    _screenwrite
  12628.     MOVE.W    (A2)+,D1
  12629.     IF    DEEBUG
  12630.     BRA    DEBUG
  12631.     ELSE
  12632.     JMP    ([A3,D1.W*4])
  12633.     ENDIF
  12634.  
  12635. FDST0:    CMPI.W    #$4000,D1    ;    SET 0 IYD (D1 HOLDS IY+D)
  12636.     BCS.B    .L1
  12637.     BSET    #0,(A0,D1.L)
  12638.     MOVE.W    (A2)+,D1
  12639.     IF    DEEBUG
  12640.     BRA    DEBUG
  12641.     ELSE
  12642.     JMP    ([A3,D1.W*4])
  12643.     ENDIF
  12644. .L1
  12645.     CMPI.W    #$3BFF,D1    
  12646.     BHI.B    .L2
  12647.     MOVE.W    (A2)+,D1
  12648.     IF    DEEBUG
  12649.     BRA    DEBUG
  12650.     ELSE
  12651.     JMP    ([A3,D1.W*4])
  12652.     ENDIF
  12653. .L2
  12654.     BSET    #0,(A0,D1.L)
  12655.     MOVE.B    (A0,D1.L),D6    
  12656.     BSR    _screenwrite
  12657.     MOVE.W    (A2)+,D1
  12658.     IF    DEEBUG
  12659.     BRA    DEBUG
  12660.     ELSE
  12661.     JMP    ([A3,D1.W*4])
  12662.     ENDIF
  12663.  
  12664. FDST1:    CMPI.W    #$4000,D1    ;    SET 1 IYD
  12665.     BCS.B    .L1
  12666.     BSET    #1,(A0,D1.L)
  12667.     MOVE.W    (A2)+,D1
  12668.     IF    DEEBUG
  12669.     BRA    DEBUG
  12670.     ELSE
  12671.     JMP    ([A3,D1.W*4])
  12672.     ENDIF
  12673. .L1
  12674.     CMPI.W    #$3BFF,D1    
  12675.     BHI.B    .L2
  12676.     MOVE.W    (A2)+,D1
  12677.     IF    DEEBUG
  12678.     BRA    DEBUG
  12679.     ELSE
  12680.     JMP    ([A3,D1.W*4])
  12681.     ENDIF
  12682. .L2
  12683.     BSET    #1,(A0,D1.L)
  12684.     MOVE.B    (A0,D1.L),D6    
  12685.     BSR    _screenwrite
  12686.     MOVE.W    (A2)+,D1
  12687.     IF    DEEBUG
  12688.     BRA    DEBUG
  12689.     ELSE
  12690.     JMP    ([A3,D1.W*4])
  12691.     ENDIF
  12692.  
  12693. FDST2:    CMPI.W    #$4000,D1    ; SET 2 IYD
  12694.     BCS.B    .L1
  12695.     BSET    #2,(A0,D1.L)
  12696.     MOVE.W    (A2)+,D1
  12697.     IF    DEEBUG
  12698.     BRA    DEBUG
  12699.     ELSE
  12700.     JMP    ([A3,D1.W*4])
  12701.     ENDIF
  12702. .L1
  12703.     CMPI.W    #$3BFF,D1    
  12704.     BHI.B    .L2
  12705.     MOVE.W    (A2)+,D1
  12706.     IF    DEEBUG
  12707.     BRA    DEBUG
  12708.     ELSE
  12709.     JMP    ([A3,D1.W*4])
  12710.     ENDIF
  12711. .L2
  12712.     BSET    #2,(A0,D1.L)
  12713.     MOVE.B    (A0,D1.L),D6    
  12714.     BSR    _screenwrite
  12715.     MOVE.W    (A2)+,D1
  12716.     IF    DEEBUG
  12717.     BRA    DEBUG
  12718.     ELSE
  12719.     JMP    ([A3,D1.W*4])
  12720.     ENDIF
  12721.  
  12722. FDST3:    CMPI.W    #$4000,D1    ; SET 3 IYD 
  12723.     BCS.B    .L1
  12724.     BSET    #3,(A0,D1.L)
  12725.     MOVE.W    (A2)+,D1
  12726.     IF    DEEBUG
  12727.     BRA    DEBUG
  12728.     ELSE
  12729.     JMP    ([A3,D1.W*4])
  12730.     ENDIF
  12731. .L1
  12732.     CMPI.W    #$3BFF,D1    
  12733.     BHI.B    .L2
  12734.     MOVE.W    (A2)+,D1
  12735.     IF    DEEBUG
  12736.     BRA    DEBUG
  12737.     ELSE
  12738.     JMP    ([A3,D1.W*4])
  12739.     ENDIF
  12740. .L2
  12741.     BSET    #3,(A0,D1.L)
  12742.     MOVE.B    (A0,D1.L),D6    
  12743.     BSR    _screenwrite
  12744.     MOVE.W    (A2)+,D1
  12745.     IF    DEEBUG
  12746.     BRA    DEBUG
  12747.     ELSE
  12748.     JMP    ([A3,D1.W*4])
  12749.     ENDIF
  12750.  
  12751. FDST4:    CMPI.W    #$4000,D1    
  12752.     BCS.B    .L1
  12753.     BSET    #4,(A0,D1.L)
  12754.     MOVE.W    (A2)+,D1
  12755.     IF    DEEBUG
  12756.     BRA    DEBUG
  12757.     ELSE
  12758.     JMP    ([A3,D1.W*4])
  12759.     ENDIF
  12760. .L1
  12761.     CMPI.W    #$3BFF,D1    
  12762.     BHI.B    .L2
  12763.     MOVE.W    (A2)+,D1
  12764.     IF    DEEBUG
  12765.     BRA    DEBUG
  12766.     ELSE
  12767.     JMP    ([A3,D1.W*4])
  12768.     ENDIF
  12769. .L2
  12770.     BSET    #4,(A0,D1.L)
  12771.     MOVE.B    (A0,D1.L),D6    
  12772.     BSR    _screenwrite
  12773.     MOVE.W    (A2)+,D1
  12774.     IF    DEEBUG
  12775.     BRA    DEBUG
  12776.     ELSE
  12777.     JMP    ([A3,D1.W*4])
  12778.     ENDIF
  12779.  
  12780. FDST5:    CMPI.W    #$4000,D1    
  12781.     BCS.B    .L1
  12782.     BSET    #5,(A0,D1.L)
  12783.     MOVE.W    (A2)+,D1
  12784.     IF    DEEBUG
  12785.     BRA    DEBUG
  12786.     ELSE
  12787.     JMP    ([A3,D1.W*4])
  12788.     ENDIF
  12789. .L1
  12790.     CMPI.W    #$3BFF,D1    
  12791.     BHI.B    .L2
  12792.     MOVE.W    (A2)+,D1
  12793.     IF    DEEBUG
  12794.     BRA    DEBUG
  12795.     ELSE
  12796.     JMP    ([A3,D1.W*4])
  12797.     ENDIF
  12798. .L2
  12799.     BSET    #5,(A0,D1.L)
  12800.     MOVE.B    (A0,D1.L),D6    
  12801.     BSR    _screenwrite
  12802.     MOVE.W    (A2)+,D1
  12803.     IF    DEEBUG
  12804.     BRA    DEBUG
  12805.     ELSE
  12806.     JMP    ([A3,D1.W*4])
  12807.     ENDIF
  12808.  
  12809. FDST6:    CMPI.W    #$4000,D1    
  12810.     BCS.B    .L1
  12811.     BSET    #6,(A0,D1.L)
  12812.     MOVE.W    (A2)+,D1
  12813.     IF    DEEBUG
  12814.     BRA    DEBUG
  12815.     ELSE
  12816.     JMP    ([A3,D1.W*4])
  12817.     ENDIF
  12818. .L1
  12819.     CMPI.W    #$3BFF,D1    
  12820.     BHI.B    .L2
  12821.     MOVE.W    (A2)+,D1
  12822.     IF    DEEBUG
  12823.     BRA    DEBUG
  12824.     ELSE
  12825.     JMP    ([A3,D1.W*4])
  12826.     ENDIF
  12827. .L2
  12828.     BSET    #6,(A0,D1.L)
  12829.     MOVE.B    (A0,D1.L),D6    
  12830.     BSR    _screenwrite
  12831.     MOVE.W    (A2)+,D1
  12832.     IF    DEEBUG
  12833.     BRA    DEBUG
  12834.     ELSE
  12835.     JMP    ([A3,D1.W*4])
  12836.     ENDIF
  12837.  
  12838. FDST7:    CMPI.W    #$4000,D1    
  12839.     BCS.B    .L1
  12840.     BSET    #7,(A0,D1.L)
  12841.     MOVE.W    (A2)+,D1
  12842.     IF    DEEBUG
  12843.     BRA    DEBUG
  12844.     ELSE
  12845.     JMP    ([A3,D1.W*4])
  12846.     ENDIF
  12847. .L1
  12848.     CMPI.W    #$3BFF,D1    
  12849.     BHI.B    .L2
  12850.     MOVE.W    (A2)+,D1
  12851.     IF    DEEBUG
  12852.     BRA    DEBUG
  12853.     ELSE
  12854.     JMP    ([A3,D1.W*4])
  12855.     ENDIF
  12856. .L2
  12857.     BSET    #7,(A0,D1.L)
  12858.     MOVE.B    (A0,D1.L),D6    
  12859.     BSR    _screenwrite
  12860.     MOVE.W    (A2)+,D1
  12861.     IF    DEEBUG
  12862.     BRA    DEBUG
  12863.     ELSE
  12864.     JMP    ([A3,D1.W*4])
  12865.     ENDIF
  12866.  
  12867. MFDE1:                ; POP IY
  12868.     MOVEQ    #0,D7
  12869.     MOVE.W    (A4)+,D7
  12870.     ROL.W    #8,D7
  12871.     MOVE.L    D7,A5
  12872.     ADDA.L    A0,A5
  12873.     MOVE.W    (A2)+,D1
  12874.     IF    DEEBUG
  12875.     BRA    DEBUG
  12876.     ELSE
  12877.     JMP    ([A3,D1.W*4])
  12878.     ENDIF
  12879.  
  12880. MFDE3:                ; EX (SP),IY
  12881.     SUBA.L    A0,A5
  12882.     MOVE.L    A5,D7
  12883.     MOVE.W    (A4),D6
  12884.     ROL.W    #8,D6
  12885.     MOVE.W    D6,A5
  12886.     ADDA.L    A0,A5
  12887.     ROL.W    #8,D7
  12888.     MOVE.W    D7,(A4)
  12889.     MOVE.W    (A2)+,D1
  12890.     IF    DEEBUG
  12891.     BRA    DEBUG
  12892.     ELSE
  12893.     JMP    ([A3,D1.W*4])
  12894.     ENDIF
  12895.  
  12896. MFDE5:                ; PUSH IY
  12897.     MOVE.L    A5,D6
  12898.     SUB.L    A0,D6
  12899.     ROL.W    #8,D6
  12900.     MOVE.W    D6,-(A4)
  12901.     MOVE.W    (A2)+,D1
  12902.     IF    DEEBUG
  12903.     BRA    DEBUG
  12904.     ELSE
  12905.     JMP    ([A3,D1.W*4])
  12906.     ENDIF
  12907.  
  12908. MFDE9:                ; JP (IY)
  12909.     MOVE.L    A5,A2
  12910.     MOVE.W    (A2)+,D1
  12911.     IF    DEEBUG
  12912.     BRA    DEBUG
  12913.     ELSE
  12914.     JMP    ([A3,D1.W*4])
  12915.     ENDIF
  12916.  
  12917. MFDF9:                ; LD SP,IY
  12918.     MOVE.L    A5,A4
  12919.     MOVE.W    (A2)+,D1
  12920.     IF    DEEBUG
  12921.     BRA    DEBUG
  12922.     ELSE
  12923.     JMP    ([A3,D1.W*4])
  12924.     ENDIF
  12925.  
  12926.     SECTION    Z80DATA,DATA
  12927.  
  12928. MNTBL:
  12929.     DC.L    MAIN80
  12930.     DC.L    MAIN81
  12931.     DC.L    MAIN82
  12932.     DC.L    MAIN83
  12933.     DC.L    MAIN84
  12934.     DC.L    MAIN85
  12935.     DC.L    MAIN86
  12936.     DC.L    MAIN87
  12937.     DC.L    MAIN88
  12938.     DC.L    MAIN89
  12939.     DC.L    MAIN8A
  12940.     DC.L    MAIN8B
  12941.     DC.L    MAIN8C
  12942.     DC.L    MAIN8D
  12943.     DC.L    MAIN8E
  12944.     DC.L    MAIN8F
  12945.     DC.L    MAIN90
  12946.     DC.L    MAIN91
  12947.     DC.L    MAIN92
  12948.     DC.L    MAIN93
  12949.     DC.L    MAIN94
  12950.     DC.L    MAIN95
  12951.     DC.L    MAIN96
  12952.     DC.L    MAIN97
  12953.     DC.L    MAIN98
  12954.     DC.L    MAIN99
  12955.     DC.L    MAIN9A
  12956.     DC.L    MAIN9B
  12957.     DC.L    MAIN9C
  12958.     DC.L    MAIN9D
  12959.     DC.L    MAIN9E
  12960.     DC.L    MAIN9F
  12961.     DC.L    MAINA0
  12962.     DC.L    MAINA1
  12963.     DC.L    MAINA2
  12964.     DC.L    MAINA3
  12965.     DC.L    MAINA4
  12966.     DC.L    MAINA5
  12967.     DC.L    MAINA6
  12968.     DC.L    MAINA7
  12969.     DC.L    MAINA8
  12970.     DC.L    MAINA9
  12971.     DC.L    MAINAA
  12972.     DC.L    MAINAB
  12973.     DC.L    MAINAC
  12974.     DC.L    MAINAD
  12975.     DC.L    MAINAE
  12976.     DC.L    MAINAF
  12977.     DC.L    MAINB0
  12978.     DC.L    MAINB1
  12979.     DC.L    MAINB2
  12980.     DC.L    MAINB3
  12981.     DC.L    MAINB4
  12982.     DC.L    MAINB5
  12983.     DC.L    MAINB6
  12984.     DC.L    MAINB7
  12985.     DC.L    MAINB8
  12986.     DC.L    MAINB9
  12987.     DC.L    MAINBA
  12988.     DC.L    MAINBB
  12989.     DC.L    MAINBC
  12990.     DC.L    MAINBD
  12991.     DC.L    MAINBE
  12992.     DC.L    MAINBF
  12993.     DC.L    MAINC0
  12994.     DC.L    MAINC1
  12995.     DC.L    MAINC2
  12996.     DC.L    MAINC3
  12997.     DC.L    MAINC4
  12998.     DC.L    MAINC5
  12999.     DC.L    MAINC6
  13000.     DC.L    MAINC7
  13001.     DC.L    MAINC8
  13002.     DC.L    MAINC9
  13003.     DC.L    MAINCA
  13004.     DC.L    ILLEGAL
  13005.     DC.L    MAINCC
  13006.     DC.L    MAINCD
  13007.     DC.L    MAINCE
  13008.     DC.L    MAINCF
  13009.     DC.L    MAIND0
  13010.     DC.L    MAIND1
  13011.     DC.L    MAIND2
  13012.     DC.L    MAIND3
  13013.     DC.L    MAIND4
  13014.     DC.L    MAIND5
  13015.     DC.L    MAIND6
  13016.     DC.L    MAIND7
  13017.     DC.L    MAIND8
  13018.     DC.L    MAIND9
  13019.     DC.L    MAINDA
  13020.     DC.L    MAINDB
  13021.     DC.L    MAINDC
  13022.     DC.L    ILLEGAL
  13023.     DC.L    MAINDE
  13024.     DC.L    MAINDF
  13025.     DC.L    MAINE0
  13026.     DC.L    MAINE1
  13027.     DC.L    MAINE2
  13028.     DC.L    MAINE3
  13029.     DC.L    MAINE4
  13030.     DC.L    MAINE5
  13031.     DC.L    MAINE6
  13032.     DC.L    MAINE7
  13033.     DC.L    MAINE8
  13034.     DC.L    MAINE9
  13035.     DC.L    MAINEA
  13036.     DC.L    MAINEB
  13037.     DC.L    MAINEC
  13038.     DC.L    ILLEGAL
  13039.     DC.L    MAINEE
  13040.     DC.L    MAINEF
  13041.     DC.L    MAINF0
  13042.     DC.L    MAINF1
  13043.     DC.L    MAINF2
  13044.     DC.L    MAINF3
  13045.     DC.L    MAINF4
  13046.     DC.L    MAINF5
  13047.     DC.L    MAINF6
  13048.     DC.L    MAINF7
  13049.     DC.L    MAINF8
  13050.     DC.L    MAINF9
  13051.     DC.L    MAINFA
  13052.     DC.L    MAINFB
  13053.     DC.L    MAINFC
  13054.     DC.L    ILLEGAL
  13055.     DC.L    MAINFE
  13056.     DC.L    MAINFF
  13057.     DC.L    MAIN00
  13058.     DC.L    MAIN01
  13059.     DC.L    MAIN02
  13060.     DC.L    MAIN03
  13061.     DC.L    MAIN04
  13062.     DC.L    MAIN05
  13063.     DC.L    MAIN06
  13064.     DC.L    MAIN07
  13065.     DC.L    MAIN08
  13066.     DC.L    MAIN09
  13067.     DC.L    MAIN0A
  13068.     DC.L    MAIN0B
  13069.     DC.L    MAIN0C
  13070.     DC.L    MAIN0D
  13071.     DC.L    MAIN0E
  13072.     DC.L    MAIN0F
  13073.     DC.L    MAIN10
  13074.     DC.L    MAIN11
  13075.     DC.L    MAIN12
  13076.     DC.L    MAIN13
  13077.     DC.L    MAIN14
  13078.     DC.L    MAIN15
  13079.     DC.L    MAIN16
  13080.     DC.L    MAIN17
  13081.     DC.L    MAIN18
  13082.     DC.L    MAIN19
  13083.     DC.L    MAIN1A
  13084.     DC.L    MAIN1B
  13085.     DC.L    MAIN1C
  13086.     DC.L    MAIN1D
  13087.     DC.L    MAIN1E
  13088.     DC.L    MAIN1F
  13089.     DC.L    MAIN20
  13090.     DC.L    MAIN21
  13091.     DC.L    MAIN22
  13092.     DC.L    MAIN23
  13093.     DC.L    MAIN24
  13094.     DC.L    MAIN25
  13095.     DC.L    MAIN26
  13096.     DC.L    MAIN27
  13097.     DC.L    MAIN28
  13098.     DC.L    MAIN29
  13099.     DC.L    MAIN2A
  13100.     DC.L    MAIN2B
  13101.     DC.L    MAIN2C
  13102.     DC.L    MAIN2D
  13103.     DC.L    MAIN2E
  13104.     DC.L    MAIN2F
  13105.     DC.L    MAIN30
  13106.     DC.L    MAIN31
  13107.     DC.L    MAIN32
  13108.     DC.L    MAIN33
  13109.     DC.L    MAIN34
  13110.     DC.L    MAIN35
  13111.     DC.L    MAIN36
  13112.     DC.L    MAIN37
  13113.     DC.L    MAIN38
  13114.     DC.L    MAIN39
  13115.     DC.L    MAIN3A
  13116.     DC.L    MAIN3B
  13117.     DC.L    MAIN3C
  13118.     DC.L    MAIN3D
  13119.     DC.L    MAIN3E
  13120.     DC.L    MAIN3F
  13121.     DC.L    MAIN40
  13122.     DC.L    MAIN41
  13123.     DC.L    MAIN42
  13124.     DC.L    MAIN43
  13125.     DC.L    MAIN44
  13126.     DC.L    MAIN45
  13127.     DC.L    MAIN46
  13128.     DC.L    MAIN47
  13129.     DC.L    MAIN48
  13130.     DC.L    MAIN49
  13131.     DC.L    MAIN4A
  13132.     DC.L    MAIN4B
  13133.     DC.L    MAIN4C
  13134.     DC.L    MAIN4D
  13135.     DC.L    MAIN4E
  13136.     DC.L    MAIN4F
  13137.     DC.L    MAIN50
  13138.     DC.L    MAIN51
  13139.     DC.L    MAIN52
  13140.     DC.L    MAIN53
  13141.     DC.L    MAIN54
  13142.     DC.L    MAIN55
  13143.     DC.L    MAIN56
  13144.     DC.L    MAIN57
  13145.     DC.L    MAIN58
  13146.     DC.L    MAIN59
  13147.     DC.L    MAIN5A
  13148.     DC.L    MAIN5B
  13149.     DC.L    MAIN5C
  13150.     DC.L    MAIN5D
  13151.     DC.L    MAIN5E
  13152.     DC.L    MAIN5F
  13153.     DC.L    MAIN60
  13154.     DC.L    MAIN61
  13155.     DC.L    MAIN62
  13156.     DC.L    MAIN63
  13157.     DC.L    MAIN64
  13158.     DC.L    MAIN65
  13159.     DC.L    MAIN66
  13160.     DC.L    MAIN67
  13161.     DC.L    MAIN68
  13162.     DC.L    MAIN69
  13163.     DC.L    MAIN6A
  13164.     DC.L    MAIN6B
  13165.     DC.L    MAIN6C
  13166.     DC.L    MAIN6D
  13167.     DC.L    MAIN6E
  13168.     DC.L    MAIN6F
  13169.     DC.L    MAIN70
  13170.     DC.L    MAIN71
  13171.     DC.L    MAIN72
  13172.     DC.L    MAIN73
  13173.     DC.L    MAIN74
  13174.     DC.L    MAIN75
  13175.     DC.L    MAIN76
  13176.     DC.L    MAIN77
  13177.     DC.L    MAIN78
  13178.     DC.L    MAIN79
  13179.     DC.L    MAIN7A
  13180.     DC.L    MAIN7B
  13181.     DC.L    MAIN7C
  13182.     DC.L    MAIN7D
  13183.     DC.L    MAIN7E
  13184.     DC.L    MAIN7F
  13185.  
  13186. CBTABLE:
  13187.     DC.L    MCB00
  13188.     DC.L    MCB01
  13189.     DC.L    MCB02
  13190.     DC.L    MCB03
  13191.     DC.L    MCB04
  13192.     DC.L    MCB05
  13193.     DC.L    MCB06
  13194.     DC.L    MCB07
  13195.     DC.L    MCB08
  13196.     DC.L    MCB09
  13197.     DC.L    MCB0A
  13198.     DC.L    MCB0B
  13199.     DC.L    MCB0C
  13200.     DC.L    MCB0D
  13201.     DC.L    MCB0E
  13202.     DC.L    MCB0F
  13203.     DC.L    MCB10
  13204.     DC.L    MCB11
  13205.     DC.L    MCB12
  13206.     DC.L    MCB13
  13207.     DC.L    MCB14
  13208.     DC.L    MCB15
  13209.     DC.L    MCB16
  13210.     DC.L    MCB17
  13211.     DC.L    MCB18
  13212.     DC.L    MCB19
  13213.     DC.L    MCB1A
  13214.     DC.L    MCB1B
  13215.     DC.L    MCB1C
  13216.     DC.L    MCB1D
  13217.     DC.L    MCB1E
  13218.     DC.L    MCB1F
  13219.     DC.L    MCB20
  13220.     DC.L    MCB21
  13221.     DC.L    MCB22
  13222.     DC.L    MCB23
  13223.     DC.L    MCB24
  13224.     DC.L    MCB25
  13225.     DC.L    MCB26
  13226.     DC.L    MCB27
  13227.     DC.L    MCB28
  13228.     DC.L    MCB29
  13229.     DC.L    MCB2A
  13230.     DC.L    MCB2B
  13231.     DC.L    MCB2C
  13232.     DC.L    MCB2D
  13233.     DC.L    MCB2E
  13234.     DC.L    MCB2F
  13235.     DC.L    ILLEGAL
  13236.     DC.L    ILLEGAL
  13237.     DC.L    ILLEGAL
  13238.     DC.L    ILLEGAL
  13239.     DC.L    ILLEGAL
  13240.     DC.L    ILLEGAL
  13241.     DC.L    ILLEGAL
  13242.     DC.L    ILLEGAL
  13243.     DC.L    MCB38
  13244.     DC.L    MCB39
  13245.     DC.L    MCB3A
  13246.     DC.L    MCB3B
  13247.     DC.L    MCB3C
  13248.     DC.L    MCB3D
  13249.     DC.L    MCB3E
  13250.     DC.L    MCB3F
  13251.     DC.L    MCB40
  13252.     DC.L    MCB41
  13253.     DC.L    MCB42
  13254.     DC.L    MCB43
  13255.     DC.L    MCB44
  13256.     DC.L    MCB45
  13257.     DC.L    MCB46
  13258.     DC.L    MCB47
  13259.     DC.L    MCB48
  13260.     DC.L    MCB49
  13261.     DC.L    MCB4A
  13262.     DC.L    MCB4B
  13263.     DC.L    MCB4C
  13264.     DC.L    MCB4D
  13265.     DC.L    MCB4E
  13266.     DC.L    MCB4F
  13267.     DC.L    MCB50
  13268.     DC.L    MCB51
  13269.     DC.L    MCB52
  13270.     DC.L    MCB53
  13271.     DC.L    MCB54
  13272.     DC.L    MCB55
  13273.     DC.L    MCB56
  13274.     DC.L    MCB57
  13275.     DC.L    MCB58
  13276.     DC.L    MCB59
  13277.     DC.L    MCB5A
  13278.     DC.L    MCB5B
  13279.     DC.L    MCB5C
  13280.     DC.L    MCB5D
  13281.     DC.L    MCB5E
  13282.     DC.L    MCB5F
  13283.     DC.L    MCB60
  13284.     DC.L    MCB61
  13285.     DC.L    MCB62
  13286.     DC.L    MCB63
  13287.     DC.L    MCB64
  13288.     DC.L    MCB65
  13289.     DC.L    MCB66
  13290.     DC.L    MCB67
  13291.     DC.L    MCB68
  13292.     DC.L    MCB69
  13293.     DC.L    MCB6A
  13294.     DC.L    MCB6B
  13295.     DC.L    MCB6C
  13296.     DC.L    MCB6D
  13297.     DC.L    MCB6E
  13298.     DC.L    MCB6F
  13299.     DC.L    MCB70
  13300.     DC.L    MCB71
  13301.     DC.L    MCB72
  13302.     DC.L    MCB73
  13303.     DC.L    MCB74
  13304.     DC.L    MCB75
  13305.     DC.L    MCB76
  13306.     DC.L    MCB77
  13307.     DC.L    MCB78
  13308.     DC.L    MCB79
  13309.     DC.L    MCB7A
  13310.     DC.L    MCB7B
  13311.     DC.L    MCB7C
  13312.     DC.L    MCB7D
  13313.     DC.L    MCB7E
  13314.     DC.L    MCB7F
  13315.     DC.L    MCB80
  13316.     DC.L    MCB81
  13317.     DC.L    MCB82
  13318.     DC.L    MCB83
  13319.     DC.L    MCB84
  13320.     DC.L    MCB85
  13321.     DC.L    MCB86
  13322.     DC.L    MCB87
  13323.     DC.L    MCB88
  13324.     DC.L    MCB89
  13325.     DC.L    MCB8A
  13326.     DC.L    MCB8B
  13327.     DC.L    MCB8C
  13328.     DC.L    MCB8D
  13329.     DC.L    MCB8E
  13330.     DC.L    MCB8F
  13331.     DC.L    MCB90
  13332.     DC.L    MCB91
  13333.     DC.L    MCB92
  13334.     DC.L    MCB93
  13335.     DC.L    MCB94
  13336.     DC.L    MCB95
  13337.     DC.L    MCB96
  13338.     DC.L    MCB97
  13339.     DC.L    MCB98
  13340.     DC.L    MCB99
  13341.     DC.L    MCB9A
  13342.     DC.L    MCB9B
  13343.     DC.L    MCB9C
  13344.     DC.L    MCB9D
  13345.     DC.L    MCB9E
  13346.     DC.L    MCB9F
  13347.     DC.L    MCBA0
  13348.     DC.L    MCBA1
  13349.     DC.L    MCBA2
  13350.     DC.L    MCBA3
  13351.     DC.L    MCBA4
  13352.     DC.L    MCBA5
  13353.     DC.L    MCBA6
  13354.     DC.L    MCBA7
  13355.     DC.L    MCBA8
  13356.     DC.L    MCBA9
  13357.     DC.L    MCBAA
  13358.     DC.L    MCBAB
  13359.     DC.L    MCBAC
  13360.     DC.L    MCBAD
  13361.     DC.L    MCBAE
  13362.     DC.L    MCBAF
  13363.     DC.L    MCBB0
  13364.     DC.L    MCBB1
  13365.     DC.L    MCBB2
  13366.     DC.L    MCBB3
  13367.     DC.L    MCBB4
  13368.     DC.L    MCBB5
  13369.     DC.L    MCBB6
  13370.     DC.L    MCBB7
  13371.     DC.L    MCBB8
  13372.     DC.L    MCBB9
  13373.     DC.L    MCBBA
  13374.     DC.L    MCBBB
  13375.     DC.L    MCBBC
  13376.     DC.L    MCBBD
  13377.     DC.L    MCBBE
  13378.     DC.L    MCBBF
  13379.     DC.L    MCBC0
  13380.     DC.L    MCBC1
  13381.     DC.L    MCBC2
  13382.     DC.L    MCBC3
  13383.     DC.L    MCBC4
  13384.     DC.L    MCBC5
  13385.     DC.L    MCBC6
  13386.     DC.L    MCBC7
  13387.     DC.L    MCBC8
  13388.     DC.L    MCBC9
  13389.     DC.L    MCBCA
  13390.     DC.L    MCBCB
  13391.     DC.L    MCBCC
  13392.     DC.L    MCBCD
  13393.     DC.L    MCBCE
  13394.     DC.L    MCBCF
  13395.     DC.L    MCBD0
  13396.     DC.L    MCBD1
  13397.     DC.L    MCBD2
  13398.     DC.L    MCBD3
  13399.     DC.L    MCBD4
  13400.     DC.L    MCBD5
  13401.     DC.L    MCBD6
  13402.     DC.L    MCBD7
  13403.     DC.L    MCBD8
  13404.     DC.L    MCBD9
  13405.     DC.L    MCBDA
  13406.     DC.L    MCBDB
  13407.     DC.L    MCBDC
  13408.     DC.L    MCBDD
  13409.     DC.L    MCBDE
  13410.     DC.L    MCBDF
  13411.     DC.L    MCBE0
  13412.     DC.L    MCBE1
  13413.     DC.L    MCBE2
  13414.     DC.L    MCBE3
  13415.     DC.L    MCBE4
  13416.     DC.L    MCBE5
  13417.     DC.L    MCBE6
  13418.     DC.L    MCBE7
  13419.     DC.L    MCBE8
  13420.     DC.L    MCBE9
  13421.     DC.L    MCBEA
  13422.     DC.L    MCBEB
  13423.     DC.L    MCBEC
  13424.     DC.L    MCBED
  13425.     DC.L    MCBEE
  13426.     DC.L    MCBEF
  13427.     DC.L    MCBF0
  13428.     DC.L    MCBF1
  13429.     DC.L    MCBF2
  13430.     DC.L    MCBF3
  13431.     DC.L    MCBF4
  13432.     DC.L    MCBF5
  13433.     DC.L    MCBF6
  13434.     DC.L    MCBF7
  13435.     DC.L    MCBF8
  13436.     DC.L    MCBF9
  13437.     DC.L    MCBFA
  13438.     DC.L    MCBFB
  13439.     DC.L    MCBFC
  13440.     DC.L    MCBFD
  13441.     DC.L    MCBFE
  13442.     DC.L    MCBFF
  13443.  
  13444. DDTABLE:
  13445.     DC.L    ILLEGAL
  13446.     DC.L    ILLEGAL
  13447.     DC.L    ILLEGAL
  13448.     DC.L    ILLEGAL
  13449.     DC.L    ILLEGAL
  13450.     DC.L    ILLEGAL
  13451.     DC.L    ILLEGAL
  13452.     DC.L    ILLEGAL
  13453.     DC.L    ILLEGAL
  13454.     DC.L    MDD09
  13455.     DC.L    ILLEGAL
  13456.     DC.L    ILLEGAL
  13457.     DC.L    ILLEGAL
  13458.     DC.L    ILLEGAL
  13459.     DC.L    ILLEGAL
  13460.     DC.L    ILLEGAL
  13461.     DC.L    ILLEGAL
  13462.     DC.L    ILLEGAL
  13463.     DC.L    ILLEGAL
  13464.     DC.L    ILLEGAL
  13465.     DC.L    ILLEGAL
  13466.     DC.L    ILLEGAL
  13467.     DC.L    ILLEGAL
  13468.     DC.L    ILLEGAL
  13469.     DC.L    ILLEGAL
  13470.     DC.L    MDD19
  13471.     DC.L    ILLEGAL
  13472.     DC.L    ILLEGAL
  13473.     DC.L    ILLEGAL
  13474.     DC.L    ILLEGAL
  13475.     DC.L    ILLEGAL
  13476.     DC.L    ILLEGAL
  13477.     DC.L    ILLEGAL
  13478.     DC.L    MDD21
  13479.     DC.L    MDD22
  13480.     DC.L    MDD23
  13481.     DC.L    ILLEGAL
  13482.     DC.L    ILLEGAL
  13483.     DC.L    ILLEGAL
  13484.     DC.L    ILLEGAL
  13485.     DC.L    ILLEGAL
  13486.     DC.L    MDD29
  13487.     DC.L    MDD2A
  13488.     DC.L    MDD2B
  13489.     DC.L    ILLEGAL
  13490.     DC.L    ILLEGAL
  13491.     DC.L    ILLEGAL
  13492.     DC.L    ILLEGAL
  13493.     DC.L    ILLEGAL
  13494.     DC.L    ILLEGAL
  13495.     DC.L    ILLEGAL
  13496.     DC.L    ILLEGAL
  13497.     DC.L    MDD34
  13498.     DC.L    MDD35
  13499.     DC.L    MDD36
  13500.     DC.L    ILLEGAL
  13501.     DC.L    ILLEGAL
  13502.     DC.L    MDD39
  13503.     DC.L    ILLEGAL
  13504.     DC.L    ILLEGAL
  13505.     DC.L    ILLEGAL
  13506.     DC.L    ILLEGAL
  13507.     DC.L    ILLEGAL
  13508.     DC.L    ILLEGAL
  13509.     DC.L    ILLEGAL
  13510.     DC.L    ILLEGAL
  13511.     DC.L    ILLEGAL
  13512.     DC.L    ILLEGAL
  13513.     DC.L    ILLEGAL
  13514.     DC.L    ILLEGAL
  13515.     DC.L    MDD46
  13516.     DC.L    ILLEGAL
  13517.     DC.L    ILLEGAL
  13518.     DC.L    ILLEGAL
  13519.     DC.L    ILLEGAL
  13520.     DC.L    ILLEGAL
  13521.     DC.L    ILLEGAL
  13522.     DC.L    ILLEGAL
  13523.     DC.L    MDD4E
  13524.     DC.L    ILLEGAL
  13525.     DC.L    ILLEGAL
  13526.     DC.L    ILLEGAL
  13527.     DC.L    ILLEGAL
  13528.     DC.L    ILLEGAL
  13529.     DC.L    ILLEGAL
  13530.     DC.L    ILLEGAL
  13531.     DC.L    MDD56
  13532.     DC.L    ILLEGAL
  13533.     DC.L    ILLEGAL
  13534.     DC.L    ILLEGAL
  13535.     DC.L    ILLEGAL
  13536.     DC.L    ILLEGAL
  13537.     DC.L    ILLEGAL
  13538.     DC.L    ILLEGAL
  13539.     DC.L    MDD5E
  13540.     DC.L    ILLEGAL
  13541.     DC.L    ILLEGAL
  13542.     DC.L    ILLEGAL
  13543.     DC.L    ILLEGAL
  13544.     DC.L    ILLEGAL
  13545.     DC.L    ILLEGAL
  13546.     DC.L    ILLEGAL
  13547.     DC.L    MDD66
  13548.     DC.L    ILLEGAL
  13549.     DC.L    ILLEGAL
  13550.     DC.L    ILLEGAL
  13551.     DC.L    ILLEGAL
  13552.     DC.L    ILLEGAL
  13553.     DC.L    ILLEGAL
  13554.     DC.L    ILLEGAL
  13555.     DC.L    MDD6E
  13556.     DC.L    ILLEGAL
  13557.     DC.L    MDD70
  13558.     DC.L    MDD71
  13559.     DC.L    MDD72
  13560.     DC.L    MDD73
  13561.     DC.L    MDD74
  13562.     DC.L    MDD75
  13563.     DC.L    ILLEGAL
  13564.     DC.L    MDD77
  13565.     DC.L    ILLEGAL
  13566.     DC.L    ILLEGAL
  13567.     DC.L    ILLEGAL
  13568.     DC.L    ILLEGAL
  13569.     DC.L    ILLEGAL
  13570.     DC.L    ILLEGAL
  13571.     DC.L    MDD7E
  13572.     DC.L    ILLEGAL
  13573.     DC.L    ILLEGAL
  13574.     DC.L    ILLEGAL
  13575.     DC.L    ILLEGAL
  13576.     DC.L    ILLEGAL
  13577.     DC.L    ILLEGAL
  13578.     DC.L    ILLEGAL
  13579.     DC.L    MDD86
  13580.     DC.L    ILLEGAL
  13581.     DC.L    ILLEGAL
  13582.     DC.L    ILLEGAL
  13583.     DC.L    ILLEGAL
  13584.     DC.L    ILLEGAL
  13585.     DC.L    ILLEGAL
  13586.     DC.L    ILLEGAL
  13587.     DC.L    MDD8E
  13588.     DC.L    ILLEGAL
  13589.     DC.L    ILLEGAL
  13590.     DC.L    ILLEGAL
  13591.     DC.L    ILLEGAL
  13592.     DC.L    ILLEGAL
  13593.     DC.L    ILLEGAL
  13594.     DC.L    ILLEGAL
  13595.     DC.L    MDD96
  13596.     DC.L    ILLEGAL
  13597.     DC.L    ILLEGAL
  13598.     DC.L    ILLEGAL
  13599.     DC.L    ILLEGAL
  13600.     DC.L    ILLEGAL
  13601.     DC.L    ILLEGAL
  13602.     DC.L    ILLEGAL
  13603.     DC.L    MDD9E
  13604.     DC.L    ILLEGAL
  13605.     DC.L    ILLEGAL
  13606.     DC.L    ILLEGAL
  13607.     DC.L    ILLEGAL
  13608.     DC.L    ILLEGAL
  13609.     DC.L    ILLEGAL
  13610.     DC.L    ILLEGAL
  13611.     DC.L    MDDA6
  13612.     DC.L    ILLEGAL
  13613.     DC.L    ILLEGAL
  13614.     DC.L    ILLEGAL
  13615.     DC.L    ILLEGAL
  13616.     DC.L    ILLEGAL
  13617.     DC.L    ILLEGAL
  13618.     DC.L    ILLEGAL
  13619.     DC.L    MDDAE
  13620.     DC.L    ILLEGAL
  13621.     DC.L    ILLEGAL
  13622.     DC.L    ILLEGAL
  13623.     DC.L    ILLEGAL
  13624.     DC.L    ILLEGAL
  13625.     DC.L    ILLEGAL
  13626.     DC.L    ILLEGAL
  13627.     DC.L    MDDB6
  13628.     DC.L    ILLEGAL
  13629.     DC.L    ILLEGAL
  13630.     DC.L    ILLEGAL
  13631.     DC.L    ILLEGAL
  13632.     DC.L    ILLEGAL
  13633.     DC.L    ILLEGAL
  13634.     DC.L    ILLEGAL
  13635.     DC.L    MDDBE
  13636.     DC.L    ILLEGAL
  13637.     DC.L    ILLEGAL
  13638.     DC.L    ILLEGAL
  13639.     DC.L    ILLEGAL
  13640.     DC.L    ILLEGAL
  13641.     DC.L    ILLEGAL
  13642.     DC.L    ILLEGAL
  13643.     DC.L    ILLEGAL
  13644.     DC.L    ILLEGAL
  13645.     DC.L    ILLEGAL
  13646.     DC.L    ILLEGAL
  13647.     DC.L    ILLEGAL
  13648.     DC.L    MDDCB
  13649.     DC.L    ILLEGAL
  13650.     DC.L    ILLEGAL
  13651.     DC.L    ILLEGAL
  13652.     DC.L    ILLEGAL
  13653.     DC.L    ILLEGAL
  13654.     DC.L    ILLEGAL
  13655.     DC.L    ILLEGAL
  13656.     DC.L    ILLEGAL
  13657.     DC.L    ILLEGAL
  13658.     DC.L    ILLEGAL
  13659.     DC.L    ILLEGAL
  13660.     DC.L    ILLEGAL
  13661.     DC.L    ILLEGAL
  13662.     DC.L    ILLEGAL
  13663.     DC.L    ILLEGAL
  13664.     DC.L    ILLEGAL
  13665.     DC.L    ILLEGAL
  13666.     DC.L    ILLEGAL
  13667.     DC.L    ILLEGAL
  13668.     DC.L    ILLEGAL
  13669.     DC.L    ILLEGAL
  13670.     DC.L    MDDE1
  13671.     DC.L    ILLEGAL
  13672.     DC.L    MDDE3
  13673.     DC.L    ILLEGAL
  13674.     DC.L    MDDE5
  13675.     DC.L    ILLEGAL
  13676.     DC.L    ILLEGAL
  13677.     DC.L    ILLEGAL
  13678.     DC.L    MDDE9
  13679.     DC.L    ILLEGAL
  13680.     DC.L    ILLEGAL
  13681.     DC.L    ILLEGAL
  13682.     DC.L    ILLEGAL
  13683.     DC.L    ILLEGAL
  13684.     DC.L    ILLEGAL
  13685.     DC.L    ILLEGAL
  13686.     DC.L    ILLEGAL
  13687.     DC.L    ILLEGAL
  13688.     DC.L    ILLEGAL
  13689.     DC.L    ILLEGAL
  13690.     DC.L    ILLEGAL
  13691.     DC.L    ILLEGAL
  13692.     DC.L    ILLEGAL
  13693.     DC.L    ILLEGAL
  13694.     DC.L    MDDF9
  13695.     DC.L    ILLEGAL
  13696.     DC.L    ILLEGAL
  13697.     DC.L    ILLEGAL
  13698.     DC.L    ILLEGAL
  13699.     DC.L    ILLEGAL
  13700.     DC.L    ILLEGAL
  13701.  
  13702. EDTABLE:
  13703.     DC.L    ILLEGAL    ;POINT THESE AT CASS INSTRUCTIONS
  13704.     DC.L    MED01
  13705.     DC.L    MED02
  13706.     DC.L    MED03
  13707.     DC.L    ILLEGAL
  13708.     DC.L    ILLEGAL
  13709.     DC.L    ILLEGAL
  13710.     DC.L    ILLEGAL
  13711.     DC.L    ILLEGAL
  13712.     DC.L    ILLEGAL
  13713.     DC.L    ILLEGAL
  13714.     DC.L    ILLEGAL
  13715.     DC.L    ILLEGAL
  13716.     DC.L    ILLEGAL
  13717.     DC.L    ILLEGAL
  13718.     DC.L    ILLEGAL
  13719.     DC.L    ILLEGAL
  13720.     DC.L    ILLEGAL
  13721.     DC.L    ILLEGAL
  13722.     DC.L    ILLEGAL
  13723.     DC.L    ILLEGAL
  13724.     DC.L    ILLEGAL
  13725.     DC.L    ILLEGAL
  13726.     DC.L    ILLEGAL
  13727.     DC.L    ILLEGAL
  13728.     DC.L    ILLEGAL
  13729.     DC.L    ILLEGAL
  13730.     DC.L    ILLEGAL
  13731.     DC.L    ILLEGAL
  13732.     DC.L    ILLEGAL
  13733.     DC.L    ILLEGAL
  13734.     DC.L    ILLEGAL
  13735.     DC.L    ILLEGAL
  13736.     DC.L    ILLEGAL
  13737.     DC.L    ILLEGAL
  13738.     DC.L    ILLEGAL
  13739.     DC.L    ILLEGAL
  13740.     DC.L    ILLEGAL
  13741.     DC.L    ILLEGAL
  13742.     DC.L    ILLEGAL
  13743.     DC.L    ILLEGAL
  13744.     DC.L    ILLEGAL
  13745.     DC.L    ILLEGAL
  13746.     DC.L    ILLEGAL
  13747.     DC.L    ILLEGAL
  13748.     DC.L    ILLEGAL
  13749.     DC.L    ILLEGAL
  13750.     DC.L    ILLEGAL
  13751.     DC.L    ILLEGAL
  13752.     DC.L    ILLEGAL
  13753.     DC.L    ILLEGAL
  13754.     DC.L    ILLEGAL
  13755.     DC.L    ILLEGAL
  13756.     DC.L    ILLEGAL
  13757.     DC.L    ILLEGAL
  13758.     DC.L    ILLEGAL
  13759.     DC.L    ILLEGAL
  13760.     DC.L    ILLEGAL
  13761.     DC.L    ILLEGAL
  13762.     DC.L    ILLEGAL
  13763.     DC.L    ILLEGAL
  13764.     DC.L    ILLEGAL
  13765.     DC.L    ILLEGAL
  13766.     DC.L    ILLEGAL
  13767.     DC.L    MED40
  13768.     DC.L    MED41
  13769.     DC.L    MED42
  13770.     DC.L    MED43
  13771.     DC.L    MED44
  13772.     DC.L    MED45
  13773.     DC.L    MED46
  13774.     DC.L    MED47
  13775.     DC.L    MED48
  13776.     DC.L    MED49
  13777.     DC.L    MED4A
  13778.     DC.L    MED4B
  13779.     DC.L    ILLEGAL
  13780.     DC.L    MED4D
  13781.     DC.L    ILLEGAL
  13782.     DC.L    MED4F
  13783.     DC.L    MED50
  13784.     DC.L    MED51
  13785.     DC.L    MED52
  13786.     DC.L    MED53
  13787.     DC.L    ILLEGAL
  13788.     DC.L    ILLEGAL
  13789.     DC.L    MED56
  13790.     DC.L    MED57
  13791.     DC.L    MED58
  13792.     DC.L    MED59
  13793.     DC.L    MED5A
  13794.     DC.L    MED5B
  13795.     DC.L    ILLEGAL
  13796.     DC.L    ILLEGAL
  13797.     DC.L    MED5E
  13798.     DC.L    MED5F
  13799.     DC.L    MED60
  13800.     DC.L    MED61
  13801.     DC.L    MED62
  13802.     DC.L    ILLEGAL
  13803.     DC.L    ILLEGAL
  13804.     DC.L    ILLEGAL
  13805.     DC.L    ILLEGAL
  13806.     DC.L    MED67
  13807.     DC.L    MED68
  13808.     DC.L    MED69
  13809.     DC.L    MED6A
  13810.     DC.L    ILLEGAL
  13811.     DC.L    ILLEGAL
  13812.     DC.L    ILLEGAL
  13813.     DC.L    ILLEGAL
  13814.     DC.L    MED6F
  13815.     DC.L    ILLEGAL
  13816.     DC.L    ILLEGAL
  13817.     DC.L    MED72
  13818.     DC.L    MED73
  13819.     DC.L    ILLEGAL
  13820.     DC.L    ILLEGAL
  13821.     DC.L    ILLEGAL
  13822.     DC.L    ILLEGAL
  13823.     DC.L    MED78
  13824.     DC.L    MED79
  13825.     DC.L    MED7A
  13826.     DC.L    MED7B
  13827.     DC.L    ILLEGAL
  13828.     DC.L    ILLEGAL
  13829.     DC.L    ILLEGAL
  13830.     DC.L    ILLEGAL
  13831.     DC.L    ILLEGAL
  13832.     DC.L    ILLEGAL
  13833.     DC.L    ILLEGAL
  13834.     DC.L    ILLEGAL
  13835.     DC.L    ILLEGAL
  13836.     DC.L    ILLEGAL
  13837.     DC.L    ILLEGAL
  13838.     DC.L    ILLEGAL
  13839.     DC.L    ILLEGAL
  13840.     DC.L    ILLEGAL
  13841.     DC.L    ILLEGAL
  13842.     DC.L    ILLEGAL
  13843.     DC.L    ILLEGAL
  13844.     DC.L    ILLEGAL
  13845.     DC.L    ILLEGAL
  13846.     DC.L    ILLEGAL
  13847.     DC.L    ILLEGAL
  13848.     DC.L    ILLEGAL
  13849.     DC.L    ILLEGAL
  13850.     DC.L    ILLEGAL
  13851.     DC.L    ILLEGAL
  13852.     DC.L    ILLEGAL
  13853.     DC.L    ILLEGAL
  13854.     DC.L    ILLEGAL
  13855.     DC.L    ILLEGAL
  13856.     DC.L    ILLEGAL
  13857.     DC.L    ILLEGAL
  13858.     DC.L    ILLEGAL
  13859.     DC.L    ILLEGAL
  13860.     DC.L    ILLEGAL
  13861.     DC.L    ILLEGAL
  13862.     DC.L    ILLEGAL
  13863.     DC.L    MEDA0
  13864.     DC.L    MEDA1
  13865.     DC.L    MEDA2
  13866.     DC.L    MEDA3
  13867.     DC.L    ILLEGAL
  13868.     DC.L    ILLEGAL
  13869.     DC.L    ILLEGAL
  13870.     DC.L    ILLEGAL
  13871.     DC.L    MEDA8
  13872.     DC.L    MEDA9
  13873.     DC.L    MEDAA
  13874.     DC.L    MEDAB
  13875.     DC.L    ILLEGAL
  13876.     DC.L    ILLEGAL
  13877.     DC.L    ILLEGAL
  13878.     DC.L    ILLEGAL
  13879.     DC.L    MEDB0
  13880.     DC.L    MEDB1
  13881.     DC.L    MEDB2
  13882.     DC.L    MEDB3
  13883.     DC.L    ILLEGAL
  13884.     DC.L    ILLEGAL
  13885.     DC.L    ILLEGAL
  13886.     DC.L    ILLEGAL
  13887.     DC.L    MEDB8
  13888.     DC.L    MEDB9
  13889.     DC.L    MEDBA
  13890.     DC.L    MEDBB
  13891.     DC.L    ILLEGAL
  13892.     DC.L    ILLEGAL
  13893.     DC.L    ILLEGAL
  13894.     DC.L    ILLEGAL
  13895.     DC.L    ILLEGAL
  13896.     DC.L    ILLEGAL
  13897.     DC.L    ILLEGAL
  13898.     DC.L    ILLEGAL
  13899.     DC.L    ILLEGAL
  13900.     DC.L    ILLEGAL
  13901.     DC.L    ILLEGAL
  13902.     DC.L    ILLEGAL
  13903.     DC.L    ILLEGAL
  13904.     DC.L    ILLEGAL
  13905.     DC.L    ILLEGAL
  13906.     DC.L    ILLEGAL
  13907.     DC.L    ILLEGAL
  13908.     DC.L    ILLEGAL
  13909.     DC.L    ILLEGAL
  13910.     DC.L    ILLEGAL
  13911.     DC.L    ILLEGAL
  13912.     DC.L    ILLEGAL
  13913.     DC.L    ILLEGAL
  13914.     DC.L    ILLEGAL
  13915.     DC.L    ILLEGAL
  13916.     DC.L    ILLEGAL
  13917.     DC.L    ILLEGAL
  13918.     DC.L    ILLEGAL
  13919.     DC.L    ILLEGAL
  13920.     DC.L    ILLEGAL
  13921.     DC.L    ILLEGAL
  13922.     DC.L    ILLEGAL
  13923.     DC.L    ILLEGAL
  13924.     DC.L    ILLEGAL
  13925.     DC.L    ILLEGAL
  13926.     DC.L    ILLEGAL
  13927.     DC.L    ILLEGAL
  13928.     DC.L    ILLEGAL
  13929.     DC.L    ILLEGAL
  13930.     DC.L    ILLEGAL
  13931.     DC.L    ILLEGAL
  13932.     DC.L    ILLEGAL
  13933.     DC.L    ILLEGAL
  13934.     DC.L    ILLEGAL
  13935.     DC.L    ILLEGAL
  13936.     DC.L    ILLEGAL
  13937.     DC.L    ILLEGAL
  13938.     DC.L    ILLEGAL
  13939.     DC.L    ILLEGAL
  13940.     DC.L    ILLEGAL
  13941.     DC.L    ILLEGAL
  13942.     DC.L    ILLEGAL
  13943.     DC.L    ILLEGAL
  13944.     DC.L    ILLEGAL
  13945.     DC.L    ILLEGAL
  13946.     DC.L    ILLEGAL
  13947.     DC.L    ILLEGAL
  13948.     DC.L    ILLEGAL
  13949.     DC.L    ILLEGAL
  13950.     DC.L    ILLEGAL
  13951.     DC.L    ILLEGAL
  13952.     DC.L    ILLEGAL
  13953.     DC.L    ILLEGAL
  13954.     DC.L    ILLEGAL
  13955.     DC.L    ILLEGAL
  13956.     DC.L    ILLEGAL
  13957.     DC.L    ILLEGAL
  13958.     DC.L    ILLEGAL
  13959.  
  13960. FDTABLE:
  13961.     DC.L    ILLEGAL
  13962.     DC.L    ILLEGAL
  13963.     DC.L    ILLEGAL
  13964.     DC.L    ILLEGAL
  13965.     DC.L    ILLEGAL
  13966.     DC.L    ILLEGAL
  13967.     DC.L    ILLEGAL
  13968.     DC.L    ILLEGAL
  13969.     DC.L    ILLEGAL
  13970.     DC.L    MFD09
  13971.     DC.L    ILLEGAL
  13972.     DC.L    ILLEGAL
  13973.     DC.L    ILLEGAL
  13974.     DC.L    ILLEGAL
  13975.     DC.L    ILLEGAL
  13976.     DC.L    ILLEGAL
  13977.     DC.L    ILLEGAL
  13978.     DC.L    ILLEGAL
  13979.     DC.L    ILLEGAL
  13980.     DC.L    ILLEGAL
  13981.     DC.L    ILLEGAL
  13982.     DC.L    ILLEGAL
  13983.     DC.L    ILLEGAL
  13984.     DC.L    ILLEGAL
  13985.     DC.L    ILLEGAL
  13986.     DC.L    MFD19
  13987.     DC.L    ILLEGAL
  13988.     DC.L    ILLEGAL
  13989.     DC.L    ILLEGAL
  13990.     DC.L    ILLEGAL
  13991.     DC.L    ILLEGAL
  13992.     DC.L    ILLEGAL
  13993.     DC.L    ILLEGAL
  13994.     DC.L    MFD21
  13995.     DC.L    MFD22
  13996.     DC.L    MFD23
  13997.     DC.L    ILLEGAL
  13998.     DC.L    ILLEGAL
  13999.     DC.L    ILLEGAL
  14000.     DC.L    ILLEGAL
  14001.     DC.L    ILLEGAL
  14002.     DC.L    MFD29
  14003.     DC.L    MFD2A
  14004.     DC.L    MFD2B
  14005.     DC.L    ILLEGAL
  14006.     DC.L    ILLEGAL
  14007.     DC.L    ILLEGAL
  14008.     DC.L    ILLEGAL
  14009.     DC.L    ILLEGAL
  14010.     DC.L    ILLEGAL
  14011.     DC.L    ILLEGAL
  14012.     DC.L    ILLEGAL
  14013.     DC.L    MFD34
  14014.     DC.L    MFD35
  14015.     DC.L    MFD36
  14016.     DC.L    ILLEGAL
  14017.     DC.L    ILLEGAL
  14018.     DC.L    MFD39
  14019.     DC.L    ILLEGAL
  14020.     DC.L    ILLEGAL
  14021.     DC.L    ILLEGAL
  14022.     DC.L    ILLEGAL
  14023.     DC.L    ILLEGAL
  14024.     DC.L    ILLEGAL
  14025.     DC.L    ILLEGAL
  14026.     DC.L    ILLEGAL
  14027.     DC.L    ILLEGAL
  14028.     DC.L    ILLEGAL
  14029.     DC.L    ILLEGAL
  14030.     DC.L    ILLEGAL
  14031.     DC.L    MFD46
  14032.     DC.L    ILLEGAL
  14033.     DC.L    ILLEGAL
  14034.     DC.L    ILLEGAL
  14035.     DC.L    ILLEGAL
  14036.     DC.L    ILLEGAL
  14037.     DC.L    ILLEGAL
  14038.     DC.L    ILLEGAL
  14039.     DC.L    MFD4E
  14040.     DC.L    ILLEGAL
  14041.     DC.L    ILLEGAL
  14042.     DC.L    ILLEGAL
  14043.     DC.L    ILLEGAL
  14044.     DC.L    ILLEGAL
  14045.     DC.L    ILLEGAL
  14046.     DC.L    ILLEGAL
  14047.     DC.L    MFD56
  14048.     DC.L    ILLEGAL
  14049.     DC.L    ILLEGAL
  14050.     DC.L    ILLEGAL
  14051.     DC.L    ILLEGAL
  14052.     DC.L    ILLEGAL
  14053.     DC.L    ILLEGAL
  14054.     DC.L    ILLEGAL
  14055.     DC.L    MFD5E
  14056.     DC.L    ILLEGAL
  14057.     DC.L    ILLEGAL
  14058.     DC.L    ILLEGAL
  14059.     DC.L    ILLEGAL
  14060.     DC.L    ILLEGAL
  14061.     DC.L    ILLEGAL
  14062.     DC.L    ILLEGAL
  14063.     DC.L    MFD66
  14064.     DC.L    ILLEGAL
  14065.     DC.L    ILLEGAL
  14066.     DC.L    ILLEGAL
  14067.     DC.L    ILLEGAL
  14068.     DC.L    ILLEGAL
  14069.     DC.L    ILLEGAL
  14070.     DC.L    ILLEGAL
  14071.     DC.L    MFD6E
  14072.     DC.L    ILLEGAL
  14073.     DC.L    MFD70
  14074.     DC.L    MFD71
  14075.     DC.L    MFD72
  14076.     DC.L    MFD73
  14077.     DC.L    MFD74
  14078.     DC.L    MFD75
  14079.     DC.L    ILLEGAL
  14080.     DC.L    MFD77
  14081.     DC.L    ILLEGAL
  14082.     DC.L    ILLEGAL
  14083.     DC.L    ILLEGAL
  14084.     DC.L    ILLEGAL
  14085.     DC.L    ILLEGAL
  14086.     DC.L    ILLEGAL
  14087.     DC.L    MFD7E
  14088.     DC.L    ILLEGAL
  14089.     DC.L    ILLEGAL
  14090.     DC.L    ILLEGAL
  14091.     DC.L    ILLEGAL
  14092.     DC.L    ILLEGAL
  14093.     DC.L    ILLEGAL
  14094.     DC.L    ILLEGAL
  14095.     DC.L    MFD86
  14096.     DC.L    ILLEGAL
  14097.     DC.L    ILLEGAL
  14098.     DC.L    ILLEGAL
  14099.     DC.L    ILLEGAL
  14100.     DC.L    ILLEGAL
  14101.     DC.L    ILLEGAL
  14102.     DC.L    ILLEGAL
  14103.     DC.L    MFD8E
  14104.     DC.L    ILLEGAL
  14105.     DC.L    ILLEGAL
  14106.     DC.L    ILLEGAL
  14107.     DC.L    ILLEGAL
  14108.     DC.L    ILLEGAL
  14109.     DC.L    ILLEGAL
  14110.     DC.L    ILLEGAL
  14111.     DC.L    MFD96
  14112.     DC.L    ILLEGAL
  14113.     DC.L    ILLEGAL
  14114.     DC.L    ILLEGAL
  14115.     DC.L    ILLEGAL
  14116.     DC.L    ILLEGAL
  14117.     DC.L    ILLEGAL
  14118.     DC.L    ILLEGAL
  14119.     DC.L    MFD9E
  14120.     DC.L    ILLEGAL
  14121.     DC.L    ILLEGAL
  14122.     DC.L    ILLEGAL
  14123.     DC.L    ILLEGAL
  14124.     DC.L    ILLEGAL
  14125.     DC.L    ILLEGAL
  14126.     DC.L    ILLEGAL
  14127.     DC.L    MFDA6
  14128.     DC.L    ILLEGAL
  14129.     DC.L    ILLEGAL
  14130.     DC.L    ILLEGAL
  14131.     DC.L    ILLEGAL
  14132.     DC.L    ILLEGAL
  14133.     DC.L    ILLEGAL
  14134.     DC.L    ILLEGAL
  14135.     DC.L    MFDAE
  14136.     DC.L    ILLEGAL
  14137.     DC.L    ILLEGAL
  14138.     DC.L    ILLEGAL
  14139.     DC.L    ILLEGAL
  14140.     DC.L    ILLEGAL
  14141.     DC.L    ILLEGAL
  14142.     DC.L    ILLEGAL
  14143.     DC.L    MFDB6
  14144.     DC.L    ILLEGAL
  14145.     DC.L    ILLEGAL
  14146.     DC.L    ILLEGAL
  14147.     DC.L    ILLEGAL
  14148.     DC.L    ILLEGAL
  14149.     DC.L    ILLEGAL
  14150.     DC.L    ILLEGAL
  14151.     DC.L    MFDBE
  14152.     DC.L    ILLEGAL
  14153.     DC.L    ILLEGAL
  14154.     DC.L    ILLEGAL
  14155.     DC.L    ILLEGAL
  14156.     DC.L    ILLEGAL
  14157.     DC.L    ILLEGAL
  14158.     DC.L    ILLEGAL
  14159.     DC.L    ILLEGAL
  14160.     DC.L    ILLEGAL
  14161.     DC.L    ILLEGAL
  14162.     DC.L    ILLEGAL
  14163.     DC.L    ILLEGAL
  14164.     DC.L    MFDCB
  14165.     DC.L    ILLEGAL
  14166.     DC.L    ILLEGAL
  14167.     DC.L    ILLEGAL
  14168.     DC.L    ILLEGAL
  14169.     DC.L    ILLEGAL
  14170.     DC.L    ILLEGAL
  14171.     DC.L    ILLEGAL
  14172.     DC.L    ILLEGAL
  14173.     DC.L    ILLEGAL
  14174.     DC.L    ILLEGAL
  14175.     DC.L    ILLEGAL
  14176.     DC.L    ILLEGAL
  14177.     DC.L    ILLEGAL
  14178.     DC.L    ILLEGAL
  14179.     DC.L    ILLEGAL
  14180.     DC.L    ILLEGAL
  14181.     DC.L    ILLEGAL
  14182.     DC.L    ILLEGAL
  14183.     DC.L    ILLEGAL
  14184.     DC.L    ILLEGAL
  14185.     DC.L    ILLEGAL
  14186.     DC.L    MFDE1
  14187.     DC.L    ILLEGAL
  14188.     DC.L    MFDE3
  14189.     DC.L    ILLEGAL
  14190.     DC.L    MFDE5
  14191.     DC.L    ILLEGAL
  14192.     DC.L    ILLEGAL
  14193.     DC.L    ILLEGAL
  14194.     DC.L    MFDE9
  14195.     DC.L    ILLEGAL
  14196.     DC.L    ILLEGAL
  14197.     DC.L    ILLEGAL
  14198.     DC.L    ILLEGAL
  14199.     DC.L    ILLEGAL
  14200.     DC.L    ILLEGAL
  14201.     DC.L    ILLEGAL
  14202.     DC.L    ILLEGAL
  14203.     DC.L    ILLEGAL
  14204.     DC.L    ILLEGAL
  14205.     DC.L    ILLEGAL
  14206.     DC.L    ILLEGAL
  14207.     DC.L    ILLEGAL
  14208.     DC.L    ILLEGAL
  14209.     DC.L    ILLEGAL
  14210.     DC.L    MFDF9
  14211.     DC.L    ILLEGAL
  14212.     DC.L    ILLEGAL
  14213.     DC.L    ILLEGAL
  14214.     DC.L    ILLEGAL
  14215.     DC.L    ILLEGAL
  14216.     DC.L    ILLEGAL
  14217.  
  14218. _JUMPTBL:    DS.L    1
  14219.  
  14220. * for parity flag, 1 = even parity, 0 = odd parity. */
  14221. * static char parity_table[256] =
  14222.  
  14223. PARITY:    DC.B    2, 0, 0, 2, 0, 2, 2, 0, 0, 2, 2, 0, 2, 0, 0, 2
  14224.     DC.B    0, 2, 2, 0, 2, 0, 0, 2, 2, 0, 0, 2, 0, 2, 2, 0
  14225.     DC.B    0, 2, 2, 0, 2, 0, 0, 2, 2, 0, 0, 2, 0, 2, 2, 0
  14226.     DC.B    2, 0, 0, 2, 0, 2, 2, 0, 0, 2, 2, 0, 2, 0, 0, 2
  14227.     DC.B    0, 2, 2, 0, 2, 0, 0, 2, 2, 0, 0, 2, 0, 2, 2, 0
  14228.     DC.B    2, 0, 0, 2, 0, 2, 2, 0, 0, 2, 2, 0, 2, 0, 0, 2
  14229.     DC.B    2, 0, 0, 2, 0, 2, 2, 0, 0, 2, 2, 0, 2, 0, 0, 2
  14230.     DC.B    0, 2, 2, 0, 2, 0, 0, 2, 2, 0, 0, 2, 0, 2, 2, 0
  14231.     DC.B    0, 2, 2, 0, 2, 0, 0, 2, 2, 0, 0, 2, 0, 2, 2, 0
  14232.     DC.B    2, 0, 0, 2, 0, 2, 2, 0, 0, 2, 2, 0, 2, 0, 0, 2
  14233.     DC.B    2, 0, 0, 2, 0, 2, 2, 0, 0, 2, 2, 0, 2, 0, 0, 2
  14234.     DC.B    0, 2, 2, 0, 2, 0, 0, 2, 2, 0, 0, 2, 0, 2, 2, 0
  14235.     DC.B    2, 0, 0, 2, 0, 2, 2, 0, 0, 2, 2, 0, 2, 0, 0, 2
  14236.     DC.B    0, 2, 2, 0, 2, 0, 0, 2, 2, 0, 0, 2, 0, 2, 2, 0
  14237.     DC.B    0, 2, 2, 0, 2, 0, 0, 2, 2, 0, 0, 2, 0, 2, 2, 0
  14238.     DC.B    2, 0, 0, 2, 0, 2, 2, 0, 0, 2, 2, 0, 2, 0, 0, 2
  14239.  
  14240. * Z-80 (0-FF) -> 680X0 FLAGS (0-1F) (PARITY+$100)
  14241.  
  14242. FALSF:    DC.B    0,$11,  0,$11,  2,$13,  2,$13,  0,$11,  0,$11,  2,$13,  2,$13  
  14243.     DC.B    0,$11,  0,$11,  2,$13,  2,$13,  0,$11,  0,$11,  2,$13,  2,$13  
  14244.     DC.B    0,$11,  0,$11,  2,$13,  2,$13,  0,$11,  0,$11,  2,$13,  2,$13  
  14245.     DC.B    0,$11,  0,$11,  2,$13,  2,$13,  0,$11,  0,$11,  2,$13,  2,$13  
  14246.     DC.B    4,$15,  4,$15,  6,$17,  6,$17,  4,$15,  4,$15,  6,$17,  6,$17  
  14247.     DC.B    4,$15,  4,$15,  6,$17,  6,$17,  4,$15,  4,$15,  6,$17,  6,$17  
  14248.     DC.B    4,$15,  4,$15,  6,$17,  6,$17,  4,$15,  4,$15,  6,$17,  6,$17  
  14249.     DC.B    4,$15,  4,$15,  6,$17,  6,$17,  4,$15,  4,$15,  6,$17,  6,$17  
  14250.     DC.B    8,$19,  8,$19, $A,$1B, $A,$1B,  8,$19,  8,$19, $A,$1B, $A,$1B  
  14251.     DC.B    8,$19,  8,$19, $A,$1B, $A,$1B,  8,$19,  8,$19, $A,$1B, $A,$1B  
  14252.     DC.B    8,$19,  8,$19, $A,$1B, $A,$1B,  8,$19,  8,$19, $A,$1B, $A,$1B  
  14253.     DC.B    8,$19,  8,$19, $A,$1B, $A,$1B,  8,$19,  8,$19, $A,$1B, $A,$1B  
  14254.     DC.B   $C,$1D, $C,$1D, $E,$1F, $E,$1F, $C,$1D, $C,$1D, $E,$1F, $E,$1F  
  14255.     DC.B   $C,$1D, $C,$1D, $E,$1F, $E,$1F, $C,$1D, $C,$1D, $E,$1F, $E,$1F  
  14256.     DC.B   $C,$1D, $C,$1D, $E,$1F, $E,$1F, $C,$1D, $C,$1D, $E,$1F, $E,$1F  
  14257.     DC.B   $C,$1D, $C,$1D, $E,$1F, $E,$1F, $C,$1D, $C,$1D, $E,$1F, $E,$1F  
  14258.  
  14259.  
  14260. * 680X0 FLAGS (0-$1F)-> Z-80 FLAG VALUES (PARITY+$200)
  14261.  
  14262. REALF:    DC.B    0,  1,  4,  5,$40,$41,$44,$45,$80,$81,$84,$85,$C0,$C1,$C4,$C5
  14263.     DC.B    0,  1,  4,  5,$40,$41,$44,$45,$80,$81,$84,$85,$C0,$C1,$C4,$C5
  14264.  
  14265. * ADD HALF CARRY FLAG BITS (INCLUDES ADD/SUB FLAG)(PARITY+$220)
  14266.  
  14267. ADDHALF:DC.B    $10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  14268.     DC.B    $10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  14269.     DC.B    $10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  14270.     DC.B    $10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  14271.     DC.B    $10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  14272.     DC.B    $10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  14273.     DC.B    $10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  14274.     DC.B    $10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  14275.     DC.B    $10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  14276.     DC.B    $10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  14277.     DC.B    $10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  14278.     DC.B    $10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  14279.     DC.B    $10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  14280.     DC.B    $10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  14281.     DC.B    $10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  14282.     DC.B    $10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  14283.  
  14284. *SUB HALF CARRY FLAG BITS (INCLUDES ADD/SUB)(PARITY+$320)
  14285.  
  14286. SUBHALF:DC.B    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, $12
  14287.     DC.B    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, $12
  14288.     DC.B    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, $12
  14289.     DC.B    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, $12
  14290.     DC.B    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, $12
  14291.     DC.B    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, $12
  14292.     DC.B    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, $12
  14293.     DC.B    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, $12
  14294.     DC.B    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, $12
  14295.     DC.B    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, $12
  14296.     DC.B    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, $12
  14297.     DC.B    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, $12
  14298.     DC.B    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, $12
  14299.     DC.B    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, $12
  14300.     DC.B    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, $12
  14301.     DC.B    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, $12
  14302.  
  14303. FLAGS:    DS.W    1
  14304. XFLAGS:    DS.W    1
  14305. AFLAGS:    DS.W    1
  14306. XAFLAGS:DS.W    1
  14307. BC:    DS.W    1
  14308. ABC:    DS.W    1
  14309. DE:    DS.W    1
  14310. ADE:    DS.W    1
  14311. HL:    DS.W    1
  14312. AHL:    DS.W    1
  14313. REGA:    DS.W    1
  14314. AREGA:    DS.W    1
  14315.  
  14316.