|
|
| version 1.7, 2003/12/21 23:27:08 | version 1.8, 2003/12/22 07:41:15 |
|---|---|
| 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 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} |