|
|
| 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 |