clean:
rm -f $(OBJS) $(JUNK) core *~
-image:
+image: boot
+
+boot: boot.s
+ sdasz80 -o boot.s
+ sdldz80 -i boot.rel
+ makebin -s 65535 boot.ihx boot.tmp
+ # Skip to F000, copy the rest
+ dd if=boot.tmp of=boot.raw bs=512 skip=126 count=4
/* This can optionally be set to force a default baud rate, eg if the system
console should match a firmware set rate */
#define TTY_INIT_BAUD B38400 /* To match ROMWBW */
+
+#define platform_copyright()
* That needs tidying up in many platforms and we also need a proper way
* to say 'this port is fixed config' before making it so.
*/
-void tty_setup(uint8_t minor)
+void tty_setup(uint8_t minor, uint8_t flags)
{
used(minor);
}
.globl interrupt_handler
.globl _program_vectors
.globl map_kernel
+ .globl map_kernel_di
.globl map_process
+ .globl map_process_di
.globl map_process_a
.globl map_process_always
- .globl map_save
+ .globl map_process_always_di
+ .globl map_save_kernel
.globl map_restore
.globl map_for_swap
.globl platform_interrupt_all
.globl _kernel_flag
+ .globl _int_disabled
; exported debugging tools
.globl _platform_monitor
_kernel_flag:
.db 1 ; We start in kernel mode
+_int_disabled:
+ .db 1 ; With interrupts off
;
; This is invoked with a NULL argument at boot to set the kernel
; vectors and then elsewhere in the kernel when the kernel knows
; running
;
map_kernel:
+map_kernel_di:
push af
xor a
call map_process_a ; do all the logic in one place with
; map_process is called with HL either NULL or pointing to the
; page mapping. Unlike the other calls it's allowed to trash AF
map_process:
+map_process_di:
ld a, h
or l
jr z, map_kernel
; the bank value from u_page.
;
map_process_always:
+map_process_always_di:
push af
push hl
ld hl, #U_DATA__U_PAGE
; Save the existing mapping. The place you save it to needs to
; be in common memory as you have no idea what bank is live
;
-map_save: push af
+map_save_kernel:
+ push af
ld a, (mapreg)
ld (mapsave), a
+ xor a
+ call map_process_a ; kernel is map 0
pop af
ret
;