--- np2/i286a/memorya.s 2003/12/27 11:55:23 1.8 +++ np2/i286a/memorya.s 2005/02/08 10:34:30 1.12 @@ -6,10 +6,10 @@ IMPORT vramupdate IMPORT tramupdate - IMPORT egc_write - IMPORT egc_read - IMPORT egc_write_w - IMPORT egc_read_w + IMPORT memegc_wr8 + IMPORT memegc_rd8 + IMPORT memegc_wr16 + IMPORT memegc_rd16 EXPORT memfn EXPORT i286_memorymap @@ -998,63 +998,63 @@ grcgw_clock ;; ldr r3, grww_vramop egc_rd ldrb r3, [r9, #MEMWAIT_GRCG] CPUWORK r3 - b egc_read + b memegc_rd8 egcw_rd ldrb r3, [r9, #MEMWAIT_GRCG] ldrb r2, egcwrd_egc tst r0, #1 CPUWORK r3 - beq egc_read_w + beq memegc_rd16 ldrh r12, [r2, #EGC_SFT] tst r12, #&1000 bne egcwrd_std add r2, r0, #1 mov r3, r1 lsr #8 stmdb sp!, {r2, r3, lr} - bl egc_write + bl memegc_wr8 ldmia sp!, {r0, r1, lr} - b egc_write + b memegc_wr8 egcwrd_std stmdb sp!, {r0, r1, lr} add r0, r0, #1 mov r1, r1 lsr #8 - bl egc_write + bl memegc_wr8 ldmia sp!, {r0, r1, lr} - b egc_write + b memegc_wr8 egcwrd_egc dcd egc egc_wt ldrb r3, [r9, #MEMWAIT_GRCG] CPUWORK r3 - b egc_write + b memegc_wr8 egcw_wt ldrb r3, [r9, #MEMWAIT_GRCG] ldrb r2, egcwwt_egc tst r0, #1 CPUWORK r3 - beq egc_write_w + beq memegc_wr16 ldrh r12, [r2, #EGC_SFT] stmdb sp!, {r4, r5, lr} tst r12, #&1000 bne egcwwt_std add r4, r0, #1 mov r5, r1 lsr #8 - bl egc_read + bl memegc_rd8 mov r1, r5 mov r5, r0 mov r0, r4 - bl egc_read + bl memegc_rd8 orr r0, r5, r0 lsl #8 ldmia sp!, {r4, r5, lr} egcwwt_std mov r4, r0 mov r5, r1 add r0, r0, #1 mov r1, r1 lsr #8 - bl egc_read + bl memegc_rd8 mov r1, r5 mov r5, r0 mov r0, r4 - bl egc_read + bl memegc_rd8 orr r0, r5, r0 lsl #8 ldmia sp!, {r4, r5, lr} egcwwt_egc dcd egc @@ -1062,25 +1062,22 @@ egcwwt_egc dcd egc ; ---- emmc -emmc_rd ldr r2, emrd_extmempp +emmc_rd add r2, r9, #CPU_EMS and r3, r0, #(3 << 14) ldr r2, [r2, r3 lsr #(14 - 2)] mov r0, r0 lsl #(32 - 14) ldrb r0, [r2, r0 lsr #(32 - 14)] mov pc, lr -emrd_extmempp dcd extmem + EM_PAGEPTR - -emmc_wt ldr r2, emwt_extmempp +emmc_wt add r2, r9, #CPU_EMS and r3, r0, #(3 << 14) ldr r2, [r2, r3 lsr #(14 - 2)] mov r0, r0 lsl #(32 - 14) strb r1, [r2, r0 lsr #(32 - 14)] 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) mov r0, r0 lsl #(32 - 14) ldr r3, [r2, r12 lsr #(14 - 2)] @@ -1089,7 +1086,6 @@ emmcw_rd ldr r2, emwrd_extmempp add r3, r3, r0 lsr #(32 - 14) ldrh r0, [r3] mov pc, lr -emwrd_extmempp dcd extmem + EM_PAGEPTR emmcw_rd_odd ldrb r1, [r3, r0 lsr #(32 - 14)] adds r0, r0, #(1 << (32 - 14)) beq emmcw_rd_3fff @@ -1103,7 +1099,7 @@ emmcw_rd_3fff eor r12, r12, #(1 << 14) mov pc, lr -emmcw_wt ldr r2, emwwt_extmempp +emmcw_wt add r2, r9, #CPU_EMS and r12, r0, #(3 << 14) mov r0, r0 lsl #(32 - 14) ldr r3, [r2, r12 lsr #(14 - 2)] @@ -1112,7 +1108,6 @@ emmcw_wt ldr r2, emwwt_extmempp add r3, r3, r0 lsr #(32 - 14) strh r1, [r3] mov pc, lr -emwwt_extmempp dcd extmem + EM_PAGEPTR emmcw_wt_odd strb r1, [r3, r0 lsr #(32 - 14)] mov r1, r1 lsr #8 adds r0, r0, #(1 << (32 - 14)) @@ -1128,17 +1123,17 @@ emmcw_wt_3fff eor r12, r12, #(1 << 14) ; ---- itf i286_rb ldrb r2, [r9, #CPU_ITFBANK] - orr r12, r9, #VRAM_STEP + orr r12, r0, #VRAM_STEP cmp r2, #0 - ldreqb r0, [r9, r0] + ldreqb r0, [r0, r9] ldrneb r0, [r12, r9] mov pc, lr i286_wb ldrb r2, [r9, #CPU_ITFBANK] - orr r12, r9, #(&1c8000 - &0e8000) + orr r12, r0, #(&1c8000 - &0e8000) cmp r2, #0 - streqb r1, [r9, r0] + streqb r1, [r0, r9] strneb r1, [r12, r9] mov pc, lr