aboutsummaryrefslogtreecommitdiff
path: root/src/example/emucpm.z80
diff options
context:
space:
mode:
authorIan C <ianc@noddybox.co.uk>2021-11-20 10:01:52 +0000
committerIan C <ianc@noddybox.co.uk>2021-11-20 10:01:52 +0000
commit607668671eb6d10e7ca036df81b3f288bce57339 (patch)
treedf5973eb6e5828aede9948bac0e6d728fdd82fdc /src/example/emucpm.z80
parent38e9dd313001142ae36254cc6c8ef79d369dc109 (diff)
Added Intel HEX output handler
Diffstat (limited to 'src/example/emucpm.z80')
-rw-r--r--src/example/emucpm.z8040
1 files changed, 40 insertions, 0 deletions
diff --git a/src/example/emucpm.z80 b/src/example/emucpm.z80
new file mode 100644
index 0000000..0920a86
--- /dev/null
+++ b/src/example/emucpm.z80
@@ -0,0 +1,40 @@
+;
+; Quick hack to emulate some CPM bdos calls (well, enough to make it work)
+;
+ option output-file, hex.hex
+ option output-format, hex
+
+ org 0
+ halt
+
+ org 5
+ jp cpm
+
+ org $f000
+cpm:
+ push af
+ push bc
+ push de
+ push hl
+ ld a,9
+ cp c
+ call z,print_string
+ ld a,2
+ cp c
+ call z,print_char
+ pop hl
+ pop de
+ pop bc
+ pop af
+ ret
+
+print_string:
+ ld bc,$0082
+ out (c),a
+ ret
+
+print_char:
+ ld a,e
+ ld bc,$0080
+ out (c),a
+ ret