Diff for /np2/i286a/i286a.inc between versions 1.13 and 1.20

version 1.13, 2003/12/20 11:49:47 version 1.20, 2004/07/17 20:43:02
Line 12  I_FLAG    equ  &0200 Line 12  I_FLAG    equ  &0200
 D_FLAG                          equ             &0400  D_FLAG                          equ             &0400
 O_FLAG                          equ             &0800  O_FLAG                          equ             &0800
   
 CPU_SIZE                        equ             124  MSW_PE                          equ             &0001
   MSW_MP                          equ             &0002
   MSW_EM                          equ             &0004
   MSW_TS                          equ             &0008
   
   CPU_SIZE                        equ             (104 + 32)
 CPU_STAT                        equ             (0 - CPU_SIZE)  CPU_STAT                        equ             (0 - CPU_SIZE)
 CPU_EXT                         equ             (104 - CPU_SIZE)  CPU_EXT                         equ             (104 - CPU_SIZE)
   
 CPU_REG                         equ             CPU_STAT + 0  CPU_REG                         equ             CPU_STAT + 0
 CPU_SEG                         equ             CPU_STAT + 16  CPU_SEG                         equ             CPU_STAT + 16
 CPU_REMAINCLOCK         equ             CPU_STAT + 28  CPU_ES_BASE                     equ             CPU_STAT + 28
 CPU_BASECLOCK           equ             CPU_STAT + 32  CPU_CS_BASE                     equ             CPU_STAT + 32
 ; cpu_clock                     equ             CPU_STAT + 36  CPU_SS_BASE                     equ             CPU_STAT + 36
 CPU_ADRSMASK            equ             CPU_STAT + 40  CPU_DS_BASE                     equ             CPU_STAT + 40
 CPU_ES_BASE                     equ             CPU_STAT + 44  CPU_SS_FIX                      equ             CPU_STAT + 44
 CPU_CS_BASE                     equ             CPU_STAT + 48  CPU_DS_FIX                      equ             CPU_STAT + 48
 CPU_SS_BASE                     equ             CPU_STAT + 52  CPU_ADRSMASK            equ             CPU_STAT + 52
 CPU_DS_BASE                     equ             CPU_STAT + 56  CPU_PREFIX                      equ             CPU_STAT + 56
 CPU_SS_FIX                      equ             CPU_STAT + 60  ; cpu_resetreq          equ             CPU_STAT + 57
 CPU_DS_FIX                      equ             CPU_STAT + 64  CPU_GDTR                        equ             CPU_STAT + 58
 CPU_PREFIX                      equ             CPU_STAT + 68  CPU_MSW                         equ             CPU_STAT + 64
 CPU_TRAP                        equ             CPU_STAT + 70  CPU_IDTR                        equ             CPU_STAT + 66
 ; cpu_type                      equ             CPU_STAT + 71  CPU_LDTR                        equ             CPU_STAT + 72
 ; cpu_pf_semaphore      equ             CPU_STAT + 72  CPU_LDTRC                       equ             CPU_STAT + 74
 ; cpu_repbak            equ             CPU_STAT + 76  CPU_TR                          equ             CPU_STAT + 80
 CPU_INPUT                       equ             CPU_STAT + 80  CPU_TRC                         equ             CPU_STAT + 82
 ; cpu_ovflag            equ             CPU_STAT + 84  ; cpu_type                      equ             CPU_STAT + 88
 CPU_GDTR                        equ             CPU_STAT + 88  CPU_ITFBANK                     equ             CPU_STAT + 89
 CPU_IDTR                        equ             CPU_STAT + 94  ; cpu_ram_d0            equ             CPU_STAT + 90
 CPU_MSW                         equ             CPU_STAT + 100  CPU_REMAINCLOCK         equ             CPU_STAT + 92
 ; cpu_resetreq          equ             CPU_STAT + 102  CPU_BASECLOCK           equ             CPU_STAT + 96
 CPU_ITFBANK                     equ             CPU_STAT + 103  ; cpu_clock                     equ             CPU_STAT + 100
 ; cpu_stat_size         equ             104  ; cpu_stat_size         equ             104
   
 CPU_AL                          equ             CPU_STAT + 0  CPU_AL                          equ             CPU_STAT + 0
Line 69  CPU_IP    equ  CPU_STAT + 26 Line 74  CPU_IP    equ  CPU_STAT + 26
   
 CPU_EXTMEM                      equ             CPU_EXT + 0  CPU_EXTMEM                      equ             CPU_EXT + 0
 CPU_EXTMEMSIZE          equ             CPU_EXT + 4  CPU_EXTMEMSIZE          equ             CPU_EXT + 4
 MEMWAIT_TRAM            equ             CPU_EXT + 8  CPU_EMS                         equ             CPU_EXT + 8
 MEMWAIT_VRAM            equ             CPU_EXT + 9  CPU_INPUT                       equ             CPU_EXT + 24
 MEMWAIT_GRCG            equ             CPU_EXT + 10  MEMWAIT_TRAM            equ             CPU_EXT + 28
 FONTPTR_LOW                     equ             CPU_EXT + 12  MEMWAIT_VRAM            equ             CPU_EXT + 29
 FONTPTR_HIGH            equ             CPU_EXT + 16  MEMWAIT_GRCG            equ             CPU_EXT + 30
 ; cpu_ext_size          equ             20  ; cpu_ext_size          equ             32
   
 MAX_PREFIX                      equ             8  MAX_PREFIX                      equ             8
   
   
   
         MACRO          MACRO
 $label  CPUSVC  $label  CPUDBGS
 $label  ;;      str             r7, [r9, #CPU_REMAINCLOCK]  $label  ;;      str             r7, [r9, #CPU_REMAINCLOCK]
         MEND          MEND
   
         MACRO          MACRO
 $label  CPULDC  $label  CPUDBGL
 $label  ;;      ldr             r7, [r9, #CPU_REMAINCLOCK]  $label  ;;      ldr             r7, [r9, #CPU_REMAINCLOCK]
         MEND          MEND
   
   
           MACRO
   $label  CPUSVC
   $label          str             r7, [r9, #CPU_REMAINCLOCK]
           MEND
   
           MACRO
   $label  CPULDC
   $label          ldr             r7, [r9, #CPU_REMAINCLOCK]
           MEND
   
         MACRO          MACRO
 $label  CPUSVF  $label  CPUSVF
 $label          str             r8, [r9, #CPU_FLAG]  $label          str             r8, [r9, #CPU_FLAG]
Line 114  $label CPULDF Line 131  $label CPULDF
   
         MACRO          MACRO
 $label  CPUWORK $clock  $label  CPUWORK $clock
 $label          ldr             r7, [r9, #CPU_REMAINCLOCK]  $label          CPUDBGL
                         sub             r7, r7, $clock                          sub             r7, r7, $clock
                         str             r7, [r9, #CPU_REMAINCLOCK]                          CPUDBGS
         MEND          MEND
   
         MACRO          MACRO
 $label  CPUWKS  $clock  $label  CPUWKS  $clock
 $label          ldr             r7, [r9, #CPU_REMAINCLOCK]  $label          CPUDBGL
                         subs    r7, r7, $clock                          subs    r7, r7, $clock
                         str             r7, [r9, #CPU_REMAINCLOCK]                          CPUDBGS
         MEND          MEND
   
         MACRO          MACRO
 $label  CREMSET $clock  $label  CREMSET $clock
 $label          mov             r7, $clock  $label          mov             r7, $clock
                         str             r7, [r9, #CPU_REMAINCLOCK]                          CPUDBGS
         MEND          MEND
   
         MACRO          MACRO
 $label  NEXT_OPCODE  $label  NEXT_OPCODE
 $label          ldr             r7, [r9, #CPU_REMAINCLOCK]  $label          CPUDBGL
                         cmp             r7, #1                          cmp             r7, #1
                         movge   pc, r11                          movge   pc, r11
                         ldr             r0, [r9, #CPU_BASECLOCK]                          ldr             r0, [r9, #CPU_BASECLOCK]
Line 142  $label  ldr  r7, [r9, #CPU_REMAINCLOCK] Line 159  $label  ldr  r7, [r9, #CPU_REMAINCLOCK]
                         mov             r7, #1                          mov             r7, #1
                         add             r0, r0, r1                          add             r0, r0, r1
                         str             r0, [r9, #CPU_BASECLOCK]                          str             r0, [r9, #CPU_BASECLOCK]
                         str             r7, [r9, #CPU_REMAINCLOCK]                          CPUDBGS
                         mov             pc, r11                          mov             pc, r11
         MEND          MEND
   
         MACRO          MACRO
 $label  REMAIN_ADJUST   $clk  $label  REMAIN_ADJUST   $clk
 $label          ldr             r7, [r9, #CPU_REMAINCLOCK]  $label          CPUDBGL
                         cmp             r7, $clk                          cmp             r7, $clk
                         moveq   pc, r11                          moveq   pc, r11
                         ldr             r0, [r9, #CPU_BASECLOCK]                          ldr             r0, [r9, #CPU_BASECLOCK]
Line 156  $label  ldr  r7, [r9, #CPU_REMAINCLOCK] Line 173  $label  ldr  r7, [r9, #CPU_REMAINCLOCK]
                         mov             r7, $clk                          mov             r7, $clk
                         add             r0, r0, r1                          add             r0, r0, r1
                         str             r0, [r9, #CPU_BASECLOCK]                          str             r0, [r9, #CPU_BASECLOCK]
                         str             r7, [r9, #CPU_REMAINCLOCK]                          CPUDBGS
                         mov             pc, r11                          mov             pc, r11
         MEND          MEND
   
         MACRO          MACRO
 $label  I286IRQCHECKTERM  $label  I286IRQCHECKTERM
 $label          ldr             r7, [r9, #CPU_REMAINCLOCK]  $label          CPUDBGL
                         cmp             r7, #0                          cmp             r7, #0
                         movle   pc, r11                          movle   pc, r11
                         ldr             r0, [r9, #CPU_BASECLOCK]                          ldr             r0, [r9, #CPU_BASECLOCK]
                         mov             r1, r7                          mov             r1, r7
                         mov             r7, #0                          mov             r7, #0
                         sub             r0, r0, r1                          sub             r0, r0, r1
                         str             r7, [r9, #CPU_REMAINCLOCK]  
                         str             r0, [r9, #CPU_BASECLOCK]                          str             r0, [r9, #CPU_BASECLOCK]
                           CPUDBGS
                         mov             pc, r11                          mov             pc, r11
         MEND          MEND
   
           MACRO
   $label  ACCWORD $r, $l
   $label          tst             $r, #1
                           bne             $l
                           cmp             $r, #I286_MEMWRITEMAX
                           bcs             $l
           MEND
   
         END          END
   

Removed from v.1.13  
changed lines
  Added in v.1.20


RetroPC.NET-CVS <cvs@retropc.net>