Diff for /np2/i286a/memorya.s between versions 1.9 and 1.12

version 1.9, 2003/12/28 08:05:19 version 1.12, 2005/02/08 10:34:30
Line 6 Line 6
         IMPORT  vramupdate          IMPORT  vramupdate
         IMPORT  tramupdate          IMPORT  tramupdate
   
         IMPORT  egc_write          IMPORT  memegc_wr8
         IMPORT  egc_read          IMPORT  memegc_rd8
         IMPORT  egc_write_w          IMPORT  memegc_wr16
         IMPORT  egc_read_w          IMPORT  memegc_rd16
   
         EXPORT  memfn          EXPORT  memfn
         EXPORT  i286_memorymap          EXPORT  i286_memorymap
Line 998  grcgw_clock ;; ldr  r3, grww_vramop Line 998  grcgw_clock ;; ldr  r3, grww_vramop
   
 egc_rd                  ldrb    r3, [r9, #MEMWAIT_GRCG]  egc_rd                  ldrb    r3, [r9, #MEMWAIT_GRCG]
                                 CPUWORK r3                                  CPUWORK r3
                                 b               egc_read                                  b               memegc_rd8
   
   
 egcw_rd                 ldrb    r3, [r9, #MEMWAIT_GRCG]  egcw_rd                 ldrb    r3, [r9, #MEMWAIT_GRCG]
                                 ldrb    r2, egcwrd_egc                                  ldrb    r2, egcwrd_egc
                                 tst             r0, #1                                  tst             r0, #1
                                 CPUWORK r3                                  CPUWORK r3
                                 beq             egc_read_w                                  beq             memegc_rd16
                                 ldrh    r12, [r2, #EGC_SFT]                                  ldrh    r12, [r2, #EGC_SFT]
                                 tst             r12, #&1000                                  tst             r12, #&1000
                                 bne             egcwrd_std                                  bne             egcwrd_std
                                 add             r2, r0, #1                                  add             r2, r0, #1
                                 mov             r3, r1 lsr #8                                  mov             r3, r1 lsr #8
                                 stmdb   sp!, {r2, r3, lr}                                  stmdb   sp!, {r2, r3, lr}
                                 bl              egc_write                                  bl              memegc_wr8
                                 ldmia   sp!, {r0, r1, lr}                                  ldmia   sp!, {r0, r1, lr}
                                 b               egc_write                                  b               memegc_wr8
 egcwrd_std              stmdb   sp!, {r0, r1, lr}  egcwrd_std              stmdb   sp!, {r0, r1, lr}
                                 add             r0, r0, #1                                  add             r0, r0, #1
                                 mov             r1, r1 lsr #8                                  mov             r1, r1 lsr #8
                                 bl              egc_write                                  bl              memegc_wr8
                                 ldmia   sp!, {r0, r1, lr}                                  ldmia   sp!, {r0, r1, lr}
                                 b               egc_write                                  b               memegc_wr8
 egcwrd_egc              dcd             egc  egcwrd_egc              dcd             egc
   
   
 egc_wt                  ldrb    r3, [r9, #MEMWAIT_GRCG]  egc_wt                  ldrb    r3, [r9, #MEMWAIT_GRCG]
                                 CPUWORK r3                                  CPUWORK r3
                                 b               egc_write                                  b               memegc_wr8
   
 egcw_wt                 ldrb    r3, [r9, #MEMWAIT_GRCG]  egcw_wt                 ldrb    r3, [r9, #MEMWAIT_GRCG]
                                 ldrb    r2, egcwwt_egc                                  ldrb    r2, egcwwt_egc
                                 tst             r0, #1                                  tst             r0, #1
                                 CPUWORK r3                                  CPUWORK r3
                                 beq             egc_write_w                                  beq             memegc_wr16
                                 ldrh    r12, [r2, #EGC_SFT]                                  ldrh    r12, [r2, #EGC_SFT]
                                 stmdb   sp!, {r4, r5, lr}                                  stmdb   sp!, {r4, r5, lr}
                                 tst             r12, #&1000                                  tst             r12, #&1000
                                 bne             egcwwt_std                                  bne             egcwwt_std
                                 add             r4, r0, #1                                  add             r4, r0, #1
                                 mov             r5, r1 lsr #8                                  mov             r5, r1 lsr #8
                                 bl              egc_read                                  bl              memegc_rd8
                                 mov             r1, r5                                  mov             r1, r5
                                 mov             r5, r0                                  mov             r5, r0
                                 mov             r0, r4                                  mov             r0, r4
                                 bl              egc_read                                  bl              memegc_rd8
                                 orr             r0, r5, r0 lsl #8                                  orr             r0, r5, r0 lsl #8
                                 ldmia   sp!, {r4, r5, lr}                                  ldmia   sp!, {r4, r5, lr}
 egcwwt_std              mov             r4, r0  egcwwt_std              mov             r4, r0
                                 mov             r5, r1                                  mov             r5, r1
                                 add             r0, r0, #1                                  add             r0, r0, #1
                                 mov             r1, r1 lsr #8                                  mov             r1, r1 lsr #8
                                 bl              egc_read                                  bl              memegc_rd8
                                 mov             r1, r5                                  mov             r1, r5
                                 mov             r5, r0                                  mov             r5, r0
                                 mov             r0, r4                                  mov             r0, r4
                                 bl              egc_read                                  bl              memegc_rd8
                                 orr             r0, r5, r0 lsl #8                                  orr             r0, r5, r0 lsl #8
                                 ldmia   sp!, {r4, r5, lr}                                  ldmia   sp!, {r4, r5, lr}
 egcwwt_egc              dcd             egc  egcwwt_egc              dcd             egc
Line 1062  egcwwt_egc  dcd  egc Line 1062  egcwwt_egc  dcd  egc
   
 ; ---- emmc  ; ---- emmc
   
 emmc_rd                 ldr             r2, emrd_extmempp  emmc_rd                 add             r2, r9, #CPU_EMS
                                 and             r3, r0, #(3 << 14)                                  and             r3, r0, #(3 << 14)
                                 ldr             r2, [r2, r3 lsr #(14 - 2)]                                  ldr             r2, [r2, r3 lsr #(14 - 2)]
                                 mov             r0, r0 lsl #(32 - 14)                                  mov             r0, r0 lsl #(32 - 14)
                                 ldrb    r0, [r2, r0 lsr #(32 - 14)]                                  ldrb    r0, [r2, r0 lsr #(32 - 14)]
                                 mov             pc, lr                                  mov             pc, lr
 emrd_extmempp   dcd             extmem + EM_PAGEPTR  
   
   emmc_wt                 add             r2, r9, #CPU_EMS
 emmc_wt                 ldr             r2, emwt_extmempp  
                                 and             r3, r0, #(3 << 14)                                  and             r3, r0, #(3 << 14)
                                 ldr             r2, [r2, r3 lsr #(14 - 2)]                                  ldr             r2, [r2, r3 lsr #(14 - 2)]
                                 mov             r0, r0 lsl #(32 - 14)                                  mov             r0, r0 lsl #(32 - 14)
                                 strb    r1, [r2, r0 lsr #(32 - 14)]                                  strb    r1, [r2, r0 lsr #(32 - 14)]
                                 mov             pc, lr                                  mov             pc, lr
 emwt_extmempp   dcd             extmem + EM_PAGEPTR  
   
   
 emmcw_rd                ldr             r2, emwrd_extmempp  emmcw_rd                add             r2, r9, #CPU_EMS
                                 and             r12, r0, #(3 << 14)                                  and             r12, r0, #(3 << 14)
                                 mov             r0, r0 lsl #(32 - 14)                                  mov             r0, r0 lsl #(32 - 14)
                                 ldr             r3, [r2, r12 lsr #(14 - 2)]                                  ldr             r3, [r2, r12 lsr #(14 - 2)]
Line 1089  emmcw_rd  ldr  r2, emwrd_extmempp Line 1086  emmcw_rd  ldr  r2, emwrd_extmempp
                                 add             r3, r3, r0 lsr #(32 - 14)                                  add             r3, r3, r0 lsr #(32 - 14)
                                 ldrh    r0, [r3]                                  ldrh    r0, [r3]
                                 mov             pc, lr                                  mov             pc, lr
 emwrd_extmempp  dcd             extmem + EM_PAGEPTR  
 emmcw_rd_odd    ldrb    r1, [r3, r0 lsr #(32 - 14)]  emmcw_rd_odd    ldrb    r1, [r3, r0 lsr #(32 - 14)]
                                 adds    r0, r0, #(1 << (32 - 14))                                  adds    r0, r0, #(1 << (32 - 14))
                                 beq             emmcw_rd_3fff                                  beq             emmcw_rd_3fff
Line 1103  emmcw_rd_3fff eor  r12, r12, #(1 << 14)  Line 1099  emmcw_rd_3fff eor  r12, r12, #(1 << 14) 
                                 mov             pc, lr                                  mov             pc, lr
   
   
 emmcw_wt                ldr             r2, emwwt_extmempp  emmcw_wt                add             r2, r9, #CPU_EMS
                                 and             r12, r0, #(3 << 14)                                  and             r12, r0, #(3 << 14)
                                 mov             r0, r0 lsl #(32 - 14)                                  mov             r0, r0 lsl #(32 - 14)
                                 ldr             r3, [r2, r12 lsr #(14 - 2)]                                  ldr             r3, [r2, r12 lsr #(14 - 2)]
Line 1112  emmcw_wt  ldr  r2, emwwt_extmempp Line 1108  emmcw_wt  ldr  r2, emwwt_extmempp
                                 add             r3, r3, r0 lsr #(32 - 14)                                  add             r3, r3, r0 lsr #(32 - 14)
                                 strh    r1, [r3]                                  strh    r1, [r3]
                                 mov             pc, lr                                  mov             pc, lr
 emwwt_extmempp  dcd             extmem + EM_PAGEPTR  
 emmcw_wt_odd    strb    r1, [r3, r0 lsr #(32 - 14)]  emmcw_wt_odd    strb    r1, [r3, r0 lsr #(32 - 14)]
                                 mov             r1, r1 lsr #8                                  mov             r1, r1 lsr #8
                                 adds    r0, r0, #(1 << (32 - 14))                                  adds    r0, r0, #(1 << (32 - 14))

Removed from v.1.9  
changed lines
  Added in v.1.12


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