dev: created cold/warm boot entry points and stubs
This commit is contained in:
parent
a83e7f52d4
commit
a4761efed2
5 changed files with 24 additions and 4 deletions
9
Makefile
9
Makefile
|
|
@ -17,10 +17,13 @@ vectorTable.o: vectorTable.asm
|
|||
zone.o: zone.asm
|
||||
$(ASM) $(ASMFLAGS) -o $@ $<
|
||||
|
||||
zone.hex: float.o vectorTable.o zone.o linker.cmd
|
||||
$(LINK) $(LINKFLAGS) -o $@ float.o vectorTable.o zone.o
|
||||
boot.o: boot.asm
|
||||
$(ASM) $(ASMFLAGS) -o $@ $<
|
||||
|
||||
zone.hex: float.o vectorTable.o zone.o boot.o linker.cmd
|
||||
$(LINK) $(LINKFLAGS) -o $@ float.o vectorTable.o zone.o boot.o
|
||||
|
||||
clean:
|
||||
rm -f float.o vectorTable.o zone.o zone.hex
|
||||
rm -f float.o vectorTable.o zone.o boot.o zone.hex
|
||||
|
||||
.PHONY: all clean
|
||||
|
|
|
|||
11
boot.asm
11
boot.asm
|
|
@ -1,2 +1,13 @@
|
|||
; SPDX-License-Identifier: MPL-2.0
|
||||
; SPDX-FileCopyrightText: (c) 2025 A.M. Rowsell
|
||||
.section "boot","acrx"
|
||||
.global zone_setup
|
||||
.global os_warm_boot
|
||||
.extern os_main_loop
|
||||
|
||||
zone_setup:
|
||||
ld sp, 0x6FFF
|
||||
jp os_main_loop
|
||||
|
||||
os_warm_boot:
|
||||
ret
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
SECTIONS
|
||||
{
|
||||
.zone 0xA000 : { *(.zone) *(zone) }
|
||||
.boot 0xC3C3 : { *(.boot) *(boot) }
|
||||
.text 0xE000 : { *(.text) *(.float) *(float) }
|
||||
.vectors 0xF000 : { *(.vectors) }
|
||||
.data 0x7000 : { *(.data) }
|
||||
|
|
|
|||
|
|
@ -14,4 +14,5 @@ os_vectors:
|
|||
.word os_getch_vec
|
||||
.word os_outbyte_vec
|
||||
.word os_inbyte_vec
|
||||
.zero 248
|
||||
.word os_warm_boot
|
||||
.zero 246
|
||||
|
|
|
|||
4
zone.asm
4
zone.asm
|
|
@ -9,6 +9,7 @@
|
|||
.global os_getch_vec
|
||||
.global os_outbyte_vec
|
||||
.global os_inbyte_vec
|
||||
.global os_main_loop
|
||||
|
||||
zone_start:
|
||||
ret
|
||||
|
|
@ -24,3 +25,6 @@ os_outbyte_vec:
|
|||
|
||||
os_inbyte_vec:
|
||||
ret
|
||||
|
||||
os_main_loop:
|
||||
jp os_main_loop
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue