First commit.
This commit is contained in:
commit
2645501186
6
.clang-format
Normal file
6
.clang-format
Normal file
@ -0,0 +1,6 @@
|
||||
# clang-format 15.0.7
|
||||
IndentWidth: 4
|
||||
AllowShortBlocksOnASingleLine: Empty
|
||||
AllowShortFunctionsOnASingleLine: Empty
|
||||
AlignConsecutiveMacros: true
|
||||
|
4
.gitignore
vendored
Normal file
4
.gitignore
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
build/
|
||||
|
||||
*.o
|
||||
|
32
Makefile
Normal file
32
Makefile
Normal file
@ -0,0 +1,32 @@
|
||||
SRC = \
|
||||
src/ceda_print.c \
|
||||
src/entrypoint.c \
|
||||
src/main.c \
|
||||
\
|
||||
|
||||
OBJ = $(patsubst %, %.o, $(basename $(SRC)))
|
||||
|
||||
ECHO := @echo
|
||||
QUIET := @
|
||||
OUTDIR := build
|
||||
|
||||
$(OUTDIR)/main.prg: $(OUTDIR)/main.rom
|
||||
dd if=$< of=$@ bs=1 seek=2
|
||||
|
||||
$(OUTDIR)/main.rom: $(OBJ) | $(OUTDIR)
|
||||
zcc +z80 -create-app --no-crt -m -o $@ $?
|
||||
|
||||
%.o: %.c
|
||||
zcc +z80 -c -o $@ $<
|
||||
|
||||
%.o: %.asm
|
||||
zcc +z80 -c -o $@ $<
|
||||
|
||||
$(OUTDIR):
|
||||
mkdir -p $@
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
$(RM) $(OBJ)
|
||||
$(RM) -r $(OUTDIR)
|
||||
|
7
README.md
Normal file
7
README.md
Normal file
@ -0,0 +1,7 @@
|
||||
# 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](https://github.com/GLGPrograms/ceda-home) by [Retrofficina GLG Programs](https://retrofficina.glgprograms.it/).
|
11
src/ceda_print.c
Normal file
11
src/ceda_print.c
Normal file
@ -0,0 +1,11 @@
|
||||
#include "ceda_print.h"
|
||||
|
||||
void ceda_print(const char *s) {
|
||||
static char *const VIDEO_MEMORY = (char *const)(0xd000);
|
||||
|
||||
char *p = VIDEO_MEMORY;
|
||||
|
||||
while (*s != '\0') {
|
||||
*p++ = *s++;
|
||||
}
|
||||
}
|
7
src/ceda_print.h
Normal file
7
src/ceda_print.h
Normal file
@ -0,0 +1,7 @@
|
||||
#ifndef CEDA_PRINT_H
|
||||
#define CEDA_PRINT_H
|
||||
|
||||
void ceda_print(const char* s);
|
||||
|
||||
#endif // CEDA_PRINT_H
|
||||
|
9
src/entrypoint.asm
Normal file
9
src/entrypoint.asm
Normal file
@ -0,0 +1,9 @@
|
||||
EXTERN _main
|
||||
|
||||
entrypoint:
|
||||
ld sp,0xc000
|
||||
|
||||
call _main
|
||||
|
||||
jp ASMPC
|
||||
|
8
src/main.c
Normal file
8
src/main.c
Normal file
@ -0,0 +1,8 @@
|
||||
#include "ceda_print.h"
|
||||
|
||||
int main(void) {
|
||||
ceda_print("Hello world!");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user