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

version 1.8, 2003/12/22 07:41:15 version 1.10, 2005/05/20 13:59:46
Line 7 Line 7
         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  i286_membyte_read          EXPORT  memr_read8
         EXPORT  i286_memword_read          EXPORT  memr_read16
         EXPORT  i286_membyte_write          EXPORT  memr_write8
         EXPORT  i286_memword_write          EXPORT  memr_write16
   
         EXPORT  i286a_memoryread          EXPORT  i286a_memoryread
         EXPORT  i286a_memoryread_w          EXPORT  i286a_memoryread_w
Line 24 Line 24
   
         AREA    .text, CODE, READONLY          AREA    .text, CODE, READONLY
   
 i286_membyte_read  memr_read8              mov             r1, r1 lsl #16
                                 mov             r1, r1 lsl #16  
                                 mov             r0, r0 lsl #4                                  mov             r0, r0 lsl #4
                                 add             r0, r0, r1 lsr #16                                  add             r0, r0, r1 lsr #16
 i286_memoryread  memp_read8              ldr             r3, i2mr_cpu
 ;;i286a_memoryread  
                                 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]
Line 58  i2mr_himem  ldr  r12, [r3, #CPU_EXTMEMSI Line 55  i2mr_himem  ldr  r12, [r3, #CPU_EXTMEMSI
                                 mov             pc, lr                                  mov             pc, lr
   
   
 i286_memword_read  memr_read16             mov             r1, r1 lsl #16
                                 mov             r1, r1 lsl #16  
                                 mov             r0, r0 lsl #4                                  mov             r0, r0 lsl #4
                                 add             r0, r0, r1 lsr #16                                  add             r0, r0, r1 lsr #16
 i286_memoryread_w  memp_read16             ldr             r3, i2mrw_cpu
 ;;i286a_memoryread_w  
                                 ldr             r3, i2mrw_cpu  
                                 tst             r0, #1                                  tst             r0, #1
                                 bne             i2mro_main                                  bne             i2mro_main
                                 cmp             r0, #I286_MEMREADMAX                                  cmp             r0, #I286_MEMREADMAX
Line 86  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 146  i2mro_himemh orr  r0, r0, #&ff00 Line 140  i2mro_himemh orr  r0, r0, #&ff00
                                 mov             pc, lr                                  mov             pc, lr
   
   
 i286_membyte_write  memr_write8             mov             r1, r1 lsl #16
                                 mov             r1, r1 lsl #16  
                                 mov             r0, r0 lsl #4                                  mov             r0, r0 lsl #4
                                 add             r0, r0, r1 lsr #16                                  add             r0, r0, r1 lsr #16
                                 mov             r1, r2                                  mov             r1, r2
 i286_memorywrite  memp_write8             ldr             r3, i2mw_cpu
 ;;i286a_memorywrite  
                                 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]
Line 180  i2mw_himem  ldr  r12, [r3, #CPU_EXTMEMSI Line 171  i2mw_himem  ldr  r12, [r3, #CPU_EXTMEMSI
                                 mov             pc, lr                                  mov             pc, lr
   
   
 i286_memword_write  memr_write16    mov             r1, r1 lsl #16
                                 mov             r1, r1 lsl #16  
                                 mov             r0, r0 lsl #4                                  mov             r0, r0 lsl #4
                                 add             r0, r0, r1 lsr #16                                  add             r0, r0, r1 lsr #16
                                 mov             r1, r2                                  mov             r1, r2
 i286_memorywrite_w  memp_write16    ldr             r3, i2mww_cpu
 ;;i286a_memorywrite_w  
                                 ldr             r3, i2mww_cpu  
                                 tst             r0, #1                                  tst             r0, #1
                                 bne             i2mwo_main                                  bne             i2mwo_main
                                 cmp             r0, #I286_MEMWRITEMAX                                  cmp             r0, #I286_MEMWRITEMAX
Line 302  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.8  
changed lines
  Added in v.1.10


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