Diff for /np2/i286a/memoryd.s between versions 1.7 and 1.10

version 1.7, 2003/12/21 23:27:08 version 1.10, 2005/05/20 13:59:46
Line 3 Line 3
         INCLUDE i286amem.inc          INCLUDE i286amem.inc
   
         IMPORT  memfn          IMPORT  memfn
         IMPORT  i286core          IMPORT  i286acore
         IMPORT  i286_nonram_r          IMPORT  i286_nonram_r
         IMPORT  i286_nonram_rw          IMPORT  i286_nonram_rw
   
         EXPORT  i286_memoryread          EXPORT  memp_read8
         EXPORT  i286_memoryread_w          EXPORT  memp_read16
         EXPORT  i286_memorywrite          EXPORT  memp_write8
         EXPORT  i286_memorywrite_w          EXPORT  memp_write16
   
           EXPORT  memr_read8
           EXPORT  memr_read16
           EXPORT  memr_write8
           EXPORT  memr_write16
   
         EXPORT  i286a_memoryread          EXPORT  i286a_memoryread
         EXPORT  i286a_memoryread_w          EXPORT  i286a_memoryread_w
Line 19 Line 24
   
         AREA    .text, CODE, READONLY          AREA    .text, CODE, READONLY
   
 i286_memoryread  memr_read8              mov             r1, r1 lsl #16
 ;;i286a_memoryread                                  mov             r0, r0 lsl #4
                                 ldr             r3, i2mr_cpu                                  add             r0, r0, r1 lsr #16
   memp_read8              ldr             r3, i2mr_cpu
                                 cmp             r0, #I286_MEMREADMAX                                  cmp             r0, #I286_MEMREADMAX
                                 bcs             i2mr_ext                                  bcs             i2mr_ext
                                 ldrb    r0, [r3, r0]                                  ldrb    r0, [r3, r0]
                                 mov             pc, lr                                  mov             pc, lr
 i2mr_cpu                dcd             i286core + CPU_SIZE  i2mr_cpu                dcd             i286acore + CPU_SIZE
 i2mr_ext                cmp             r0, #USE_HIMEM  i2mr_ext                cmp             r0, #USE_HIMEM
                                 bcs             i2mr_himem                                  bcs             i2mr_himem
                                 stmdb   sp!, {r7, r9, lr}                                  stmdb   sp!, {r7, r9, lr}
Line 49  i2mr_himem  ldr  r12, [r3, #CPU_EXTMEMSI Line 55  i2mr_himem  ldr  r12, [r3, #CPU_EXTMEMSI
                                 mov             pc, lr                                  mov             pc, lr
   
   
 i286_memoryread_w  memr_read16             mov             r1, r1 lsl #16
 ;;i286a_memoryread_w                                  mov             r0, r0 lsl #4
                                 ldr             r3, i2mrw_cpu                                  add             r0, r0, r1 lsr #16
   memp_read16             ldr             r3, i2mrw_cpu
                                 tst             r0, #1                                  tst             r0, #1
                                 bne             i2mro_main                                  bne             i2mro_main
                                 cmp             r0, #I286_MEMREADMAX                                  cmp             r0, #I286_MEMREADMAX
                                 bcs             i2mre_ext                                  bcs             i2mre_ext
                                 ldrh    r0, [r3, r0]                                  ldrh    r0, [r3, r0]
                                 mov             pc, lr                                  mov             pc, lr
 i2mrw_cpu               dcd             i286core + CPU_SIZE  i2mrw_cpu               dcd             i286acore + CPU_SIZE
 i2mre_ext               cmp             r0, #USE_HIMEM  i2mre_ext               cmp             r0, #USE_HIMEM
                                 bcs             i2mre_himem                                  bcs             i2mre_himem
 i2mrw_ext               stmdb   sp!, {r7, r9, lr}  i2mrw_ext               stmdb   sp!, {r7, r9, lr}
Line 73  i2mrw_ext  stmdb sp!, {r7, r9, lr} Line 80  i2mrw_ext  stmdb sp!, {r7, r9, lr}
                                 ldmia   sp!, {r7, r9, pc}                                  ldmia   sp!, {r7, r9, pc}
 i2mre_memfnrd16 dcd             memfn + (32 * 4) * 2  i2mre_memfnrd16 dcd             memfn + (32 * 4) * 2
 i2mre_himem             ldr             r12, [r3, #CPU_EXTMEMSIZE]  i2mre_himem             ldr             r12, [r3, #CPU_EXTMEMSIZE]
                                 ldr             r12, [r3, #CPU_EXTMEM]                                  ldr             r2, [r3, #CPU_EXTMEM]
                                 sub             r1, r0, #&100000                                  sub             r1, r0, #&100000
                                 cmp             r1, r12                                  cmp             r1, r12
                                 bcs             i286_nonram_rw                                  bcs             i286_nonram_rw
Line 133  i2mro_himemh orr  r0, r0, #&ff00 Line 140  i2mro_himemh orr  r0, r0, #&ff00
                                 mov             pc, lr                                  mov             pc, lr
   
   
 i286_memorywrite  memr_write8             mov             r1, r1 lsl #16
 ;;i286a_memorywrite                                  mov             r0, r0 lsl #4
                                 ldr             r3, i2mw_cpu                                  add             r0, r0, r1 lsr #16
                                   mov             r1, r2
   memp_write8             ldr             r3, i2mw_cpu
                                 cmp             r0, #I286_MEMWRITEMAX                                  cmp             r0, #I286_MEMWRITEMAX
                                 bcs             i2mw_ext                                  bcs             i2mw_ext
                                 strb    r1, [r3, r0]                                  strb    r1, [r3, r0]
                                 mov             pc, lr                                  mov             pc, lr
 i2mw_cpu                dcd             i286core + CPU_SIZE                                             ; !!  i2mw_cpu                dcd             i286acore + CPU_SIZE
 i2mw_ext                cmp             r0, #USE_HIMEM  i2mw_ext                cmp             r0, #USE_HIMEM
                                 bcs             i2mw_himem                                  bcs             i2mw_himem
                                 stmdb   sp!, {r7, r9, lr}                                  stmdb   sp!, {r7, r9, lr}
Line 162  i2mw_himem  ldr  r12, [r3, #CPU_EXTMEMSI Line 171  i2mw_himem  ldr  r12, [r3, #CPU_EXTMEMSI
                                 mov             pc, lr                                  mov             pc, lr
   
   
 i286_memorywrite_w  memr_write16    mov             r1, r1 lsl #16
 ;;i286a_memorywrite_w                                  mov             r0, r0 lsl #4
                                 ldr             r3, i2mww_cpu                                  add             r0, r0, r1 lsr #16
                                   mov             r1, r2
   memp_write16    ldr             r3, i2mww_cpu
                                 tst             r0, #1                                  tst             r0, #1
                                 bne             i2mwo_main                                  bne             i2mwo_main
                                 cmp             r0, #I286_MEMWRITEMAX                                  cmp             r0, #I286_MEMWRITEMAX
                                 bcs             i2mwe_ext                                  bcs             i2mwe_ext
                                 strh    r1, [r3, r0]                                  strh    r1, [r3, r0]
                                 mov             pc, lr                                  mov             pc, lr
 i2mww_cpu               dcd             i286core + CPU_SIZE                                             ; !!  i2mww_cpu               dcd             i286acore + CPU_SIZE
 i2mwe_ext               cmp             r0, #USE_HIMEM  i2mwe_ext               cmp             r0, #USE_HIMEM
                                 bcs             i2mwe_himem                                  bcs             i2mwe_himem
 i2mww_ext               stmdb   sp!, {r7, r9, lr}  i2mww_ext               stmdb   sp!, {r7, r9, lr}
Line 279  i2amrw_ext  ldr  r2, i2amre_memfnrdw Line 290  i2amrw_ext  ldr  r2, i2amre_memfnrdw
                                 ldr             pc, [r2, r12 lsr #(15 - 2)]                                  ldr             pc, [r2, r12 lsr #(15 - 2)]
 i2amre_memfnrdw dcd             memfn + (32 * 4) * 2  i2amre_memfnrdw dcd             memfn + (32 * 4) * 2
 i2amre_himem    ldr             r12, [r9, #CPU_EXTMEMSIZE]  i2amre_himem    ldr             r12, [r9, #CPU_EXTMEMSIZE]
                                 ldr             r12, [r9, #CPU_EXTMEM]                                  ldr             r2, [r9, #CPU_EXTMEM]
                                 sub             r1, r0, #&100000                                  sub             r1, r0, #&100000
                                 cmp             r1, r12                                  cmp             r1, r12
                                 bcs             i286_nonram_rw                                  bcs             i286_nonram_rw

Removed from v.1.7  
changed lines
  Added in v.1.10


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