summaryrefslogtreecommitdiffstats
path: root/sw/z80/crt0.s
diff options
context:
space:
mode:
authorNao Pross <naopross@thearcway.org>2017-05-02 00:06:10 +0200
committerNao Pross <naopross@thearcway.org>2017-05-02 00:06:10 +0200
commit752e0fd9ec166ea8a513294fd44b7203af03d684 (patch)
tree94f6000ed20ef39bfdd3f85caad801a6e53ba072 /sw/z80/crt0.s
parentMerge branch 'master' of https://github.com/NaoPross/z80uPC (diff)
downloadz80uPC-752e0fd9ec166ea8a513294fd44b7203af03d684.tar.gz
z80uPC-752e0fd9ec166ea8a513294fd44b7203af03d684.zip
switch to sdcc
- update of the makefile to use sdcc, since it is more popular and it's easier to insall on other computers - fix of crt0.s (old loader.asm) for the new compiler - change of the structure in the source code folder to separate betweeen libc and kernel code
Diffstat (limited to '')
-rw-r--r--sw/z80/crt0.s30
-rw-r--r--sw/z80/crt0.s.old43
2 files changed, 30 insertions, 43 deletions
diff --git a/sw/z80/crt0.s b/sw/z80/crt0.s
new file mode 100644
index 0000000..d0ae3ca
--- /dev/null
+++ b/sw/z80/crt0.s
@@ -0,0 +1,30 @@
+ .area _HEADER (ABS)
+ ;; reset vector
+ .org 0
+ jp init
+
+ .org 0x08
+ reti
+ .org 0x10
+ reti
+ .org 0x18
+ reti
+ .org 0x20
+ reti
+ .org 0x28
+ reti
+ .org 0x30
+ reti
+ .org 0x38
+ reti
+
+ .org 0x100
+
+init:
+ ;; set stack
+ ld sp,#0xFFFF
+
+ ;; call C main function
+ call _main
+
+.globl _main
diff --git a/sw/z80/crt0.s.old b/sw/z80/crt0.s.old
deleted file mode 100644
index f3bf8e8..0000000
--- a/sw/z80/crt0.s.old
+++ /dev/null
@@ -1,43 +0,0 @@
- .module crt0
- .globl _main
-
- .area _HEADER (ABS)
-;; reset vector
- .org 0x0000
- jp init
-
- .org 0x0100
-
-init:
-;; Stack at the top of memory.
- ld sp,#0xffff
-
- ;; initialise global variables
- call gsinit
- call _main
- jp _exit
-
- ;; Ordering of segments for the linker.
- .area _HOME
- .area _CODE
- .area _GSINIT
- .area _GSFINAL
-
- .area _DATA
- .area _BSS
- .area _HEAP
-
- .area _CODE
-__clock::
- ret
-
-_exit::
- ret
-
- .area _GSINIT
-
-gsinit::
-
-.area _GSFINAL
- ret
-