Demo for Sanco 8003
Go to file
giomba b461731f45 Add CRT to run under CP/M.
The Makefile now builds the demo with $100 as its entry point, then it
is linked both against the bios-only crt, and the CP/M-aware crt.
The bios-only version can be run without the operating system, but needs
to be loaded via serial directly using a BIOS rom with a custom loading
routine.
The CP/M-aware version, instead, can be run as a normal executable from
a diskette, but keep in mind that this is a demo, so it is not designed
in such a way that it is safe to go back to CP/M at the end of the demo.
It may be possible, but I won't make any effort to guarantee it.
2024-12-14 18:58:42 +01:00
crt Add CRT to run under CP/M. 2024-12-14 18:58:42 +01:00
script Send big binaries with a pause (hack). 2023-10-16 22:13:55 +02:00
src Add CRT to run under CP/M. 2024-12-14 18:58:42 +01:00
.clang-format First commit. 2023-10-09 22:06:34 +02:00
.gitignore First commit. 2023-10-09 22:06:34 +02:00
conf.cfg Use miminal config file and bare-bone custom CRT. 2023-10-11 22:07:04 +02:00
Makefile Add CRT to run under CP/M. 2024-12-14 18:58:42 +01:00
README.md Add documentation about C/ASM calling conventions. 2023-10-13 21:39:40 +02:00

ceda-demo

Demo for the Sanco 800x.

The purpose of this demo is mainly to thinker with the hardware of the mentioned computer, since we are reverse-engineering it, and even writing an emulator.

This repository is part of the CEDA project by Retrofficina GLG Programs.

C/ASM calling conventions

Because the folks at z88dk were not able to put this plain and simple table in their messy documentation 😄

Prologue

    push    ix
    ld      ix,$0000
    add     ix,sp

Parameters stack

    uint8_t
        ix+$04

    uint8_t, uint8_t
        ix+$04, ix+$05

Access call parameters

    ld      a,(ix+$04)
    ld      a,(ix+$05)

Return value

    uint32_t    de (msb), hl (lsb)
    uint16_t    hl
    uint8_t     l
    void*       hl

Epilogue

    pop     ix
    ret