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
|
zone.o: zone.asm
|
||||||
$(ASM) $(ASMFLAGS) -o $@ $<
|
$(ASM) $(ASMFLAGS) -o $@ $<
|
||||||
|
|
||||||
zone.hex: float.o vectorTable.o zone.o linker.cmd
|
boot.o: boot.asm
|
||||||
$(LINK) $(LINKFLAGS) -o $@ float.o vectorTable.o zone.o
|
$(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:
|
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
|
.PHONY: all clean
|
||||||
|
|
|
||||||
11
boot.asm
11
boot.asm
|
|
@ -1,2 +1,13 @@
|
||||||
; SPDX-License-Identifier: MPL-2.0
|
; SPDX-License-Identifier: MPL-2.0
|
||||||
; SPDX-FileCopyrightText: (c) 2025 A.M. Rowsell
|
; 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
|
SECTIONS
|
||||||
{
|
{
|
||||||
.zone 0xA000 : { *(.zone) *(zone) }
|
.zone 0xA000 : { *(.zone) *(zone) }
|
||||||
|
.boot 0xC3C3 : { *(.boot) *(boot) }
|
||||||
.text 0xE000 : { *(.text) *(.float) *(float) }
|
.text 0xE000 : { *(.text) *(.float) *(float) }
|
||||||
.vectors 0xF000 : { *(.vectors) }
|
.vectors 0xF000 : { *(.vectors) }
|
||||||
.data 0x7000 : { *(.data) }
|
.data 0x7000 : { *(.data) }
|
||||||
|
|
|
||||||
|
|
@ -14,4 +14,5 @@ os_vectors:
|
||||||
.word os_getch_vec
|
.word os_getch_vec
|
||||||
.word os_outbyte_vec
|
.word os_outbyte_vec
|
||||||
.word os_inbyte_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_getch_vec
|
||||||
.global os_outbyte_vec
|
.global os_outbyte_vec
|
||||||
.global os_inbyte_vec
|
.global os_inbyte_vec
|
||||||
|
.global os_main_loop
|
||||||
|
|
||||||
zone_start:
|
zone_start:
|
||||||
ret
|
ret
|
||||||
|
|
@ -24,3 +25,6 @@ os_outbyte_vec:
|
||||||
|
|
||||||
os_inbyte_vec:
|
os_inbyte_vec:
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
os_main_loop:
|
||||||
|
jp os_main_loop
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue