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

version 1.7, 2003/12/21 23:27:08 version 1.9, 2003/12/26 00:11:51
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
   
Line 12 Line 12
         EXPORT  i286_memorywrite          EXPORT  i286_memorywrite
         EXPORT  i286_memorywrite_w          EXPORT  i286_memorywrite_w
   
           EXPORT  i286_membyte_read
           EXPORT  i286_memword_read
           EXPORT  i286_membyte_write
           EXPORT  i286_memword_write
   
         EXPORT  i286a_memoryread          EXPORT  i286a_memoryread
         EXPORT  i286a_memoryread_w          EXPORT  i286a_memoryread_w
         EXPORT  i286a_memorywrite          EXPORT  i286a_memorywrite
Line 19 Line 24
   
         AREA    .text, CODE, READONLY          AREA    .text, CODE, READONLY
   
   i286_membyte_read
                                   mov             r1, r1 lsl #16
                                   mov             r0, r0 lsl #4
                                   add             r0, r0, r1 lsr #16
 i286_memoryread  i286_memoryread
 ;;i286a_memoryread  ;;i286a_memoryread
                                 ldr             r3, i2mr_cpu                                  ldr             r3, i2mr_cpu
Line 26  i286_memoryread Line 35  i286_memoryread
                                 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 58  i2mr_himem  ldr  r12, [r3, #CPU_EXTMEMSI
                                 mov             pc, lr                                  mov             pc, lr
   
   
   i286_memword_read
                                   mov             r1, r1 lsl #16
                                   mov             r0, r0 lsl #4
                                   add             r0, r0, r1 lsr #16
 i286_memoryread_w  i286_memoryread_w
 ;;i286a_memoryread_w  ;;i286a_memoryread_w
                                 ldr             r3, i2mrw_cpu                                  ldr             r3, i2mrw_cpu
Line 58  i286_memoryread_w Line 71  i286_memoryread_w
                                 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 86  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 146  i2mro_himemh orr  r0, r0, #&ff00
                                 mov             pc, lr                                  mov             pc, lr
   
   
   i286_membyte_write
                                   mov             r1, r1 lsl #16
                                   mov             r0, r0 lsl #4
                                   add             r0, r0, r1 lsr #16
                                   mov             r1, r2
 i286_memorywrite  i286_memorywrite
 ;;i286a_memorywrite  ;;i286a_memorywrite
                                 ldr             r3, i2mw_cpu                                  ldr             r3, i2mw_cpu
Line 140  i286_memorywrite Line 158  i286_memorywrite
                                 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 180  i2mw_himem  ldr  r12, [r3, #CPU_EXTMEMSI
                                 mov             pc, lr                                  mov             pc, lr
   
   
   i286_memword_write
                                   mov             r1, r1 lsl #16
                                   mov             r0, r0 lsl #4
                                   add             r0, r0, r1 lsr #16
                                   mov             r1, r2
 i286_memorywrite_w  i286_memorywrite_w
 ;;i286a_memorywrite_w  ;;i286a_memorywrite_w
                                 ldr             r3, i2mww_cpu                                  ldr             r3, i2mww_cpu
Line 171  i286_memorywrite_w Line 194  i286_memorywrite_w
                                 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 302  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.9


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