.globl map_kernel
.globl map_process
.globl map_process_always
- .globl map_save
+ .globl map_kernel_di
+ .globl map_process_di
+ .globl map_process_always_di
+ .globl map_save_kernel
.globl map_restore
+ .globl _int_disabled
; for the PCMCIA disc driver
.globl _rd_memcpy
; -----------------------------------------------------------------------------
.area _COMMONMEM
+_int_disabled:
+ .db 1
+
_platform_monitor:
di
halt
; All registers preserved
;
map_process_always:
+map_process_always_di:
push hl
push af
ld hl, #U_DATA__U_PAGE
; HL is the page table to use, A is eaten, HL is eaten
;
map_process:
+map_process_di:
ld a, h
or l
jr nz, map_process_2
; Map in the kernel below the current common, all registers preserved
;
map_kernel:
+map_kernel_di:
push af
; kernel is in banks 3/4/5, common starts at 6 but then gets
; copied into each task
;
; Save the current mapping.
;
-map_save:
+map_save_kernel:
push hl
push af
ld hl, #map_savearea
call save_maps
+ ; kernel is in banks 3/4/5, common starts at 6 but then gets
+ ; copied into each task
+ ld a, #0x83
+ out (0x10), a
+ inc a
+ out (0x11), a
+ inc a
+ out (0x12), a
pop af
pop hl
ret
pop af
out (0x11), a
ret
-
.globl map_kernel
.globl _ramtop
.globl _need_resched
+ .globl _int_disabled
; imported debug symbols
.globl outstring, outde, outhl, outbc, outnewline, outchar, outcharhex
; enable interrupts, if the ISR isn't already running
ld a, (U_DATA__U_ININTERRUPT)
+ ld (_int_disabled),a
or a
ret nz ; in ISR, leave interrupts off
ei