.globl platform_interrupt_all
.globl map_kernel
+ .globl map_kernel_di
.globl map_process
+ .globl map_process_di
.globl map_process_always
+ .globl map_process_always_di
.globl map_process_a
- .globl map_save
+ .globl map_save_kernel
.globl map_restore
.globl _fd_bankcmd
+ .globl _int_disabled
+
.globl _platform_reboot
; exported debugging tools
ld a, i
di
push af ; save DI state
- call map_process ; HL alread holds our bank
+ call map_process_di ; HL alread holds our bank
ld a, c ; issue the command
out (13), a ;
- call map_kernel ; return to kernel mapping
+ call map_kernel_di ; return to kernel mapping
pop af
ret po
ei
.area _COMMONMEM
+_int_disabled:
+ .byte 1
_program_vectors:
; we are called, with interrupts disabled, by both newproc() and crt0
; put the paging back as it was -- we're in kernel mode so this is predictable
map_kernel:
+map_kernel_di:
push af
xor a
out (21), a
pop af
ret
map_process:
+map_process_di:
ld a, h
or l
jr z, map_kernel
out (21), a
ret
map_process_always:
+map_process_always_di:
push af
ld a, (U_DATA__U_PAGE)
out (21), a
pop af
ret
-map_save:
+map_save_kernel:
push af
in a, (21)
ld (map_store), a
+ xor a
+ out (21),a
pop af
ret
map_restore:
out (23),a ; MMU off so we can do our job
; ld a,#'!'
; call outchar
- call map_save
- call map_kernel
+ call map_save_kernel
ld hl,#9
push hl
ld hl,(U_DATA__U_PTAB)