From 43be150dc6e84f6f6eeb071cd3cdb7fc21125d60 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Tue, 30 Oct 2018 11:41:24 +0100 Subject: Move sw to sw-old and hw to hw-altium, add kicad files --- sw-old/z80/arch/include/addresses.h | 15 +++++++++++++++ sw-old/z80/arch/include/sleep.h | 14 ++++++++++++++ sw-old/z80/arch/makefile | 27 +++++++++++++++++++++++++++ sw-old/z80/arch/sleep.c | 16 ++++++++++++++++ 4 files changed, 72 insertions(+) create mode 100644 sw-old/z80/arch/include/addresses.h create mode 100644 sw-old/z80/arch/include/sleep.h create mode 100644 sw-old/z80/arch/makefile create mode 100644 sw-old/z80/arch/sleep.c (limited to 'sw-old/z80/arch') diff --git a/sw-old/z80/arch/include/addresses.h b/sw-old/z80/arch/include/addresses.h new file mode 100644 index 0000000..32f1997 --- /dev/null +++ b/sw-old/z80/arch/include/addresses.h @@ -0,0 +1,15 @@ +#ifndef __ADDRESSES_H__ +#define __ADDRESSES_H__ + +#define ADDR_DEV_ROM_L 0x0000 +#define ADDR_DEV_ROM_H 0x2000 + +#define ADDR_DEV_PIO 0x0010 +#define ADDR_DEV_CTC 0x0020 +#define ADDR_DEV_USART 0x0030 + +#define ADDR_DEV_MMU + +#define ADDR_DEV_RAM 0x8000 + +#endif diff --git a/sw-old/z80/arch/include/sleep.h b/sw-old/z80/arch/include/sleep.h new file mode 100644 index 0000000..bd4214b --- /dev/null +++ b/sw-old/z80/arch/include/sleep.h @@ -0,0 +1,14 @@ +#ifndef __SLEEP_H__ +#define __SLEEP_H__ + +#ifndef F_CPU +#error undefined CPU clock speed +#endif + +#define SLEEP_UNIT ((F_CPU/4)/2) + +#include + +void usleep(uint16_t microseconds); + +#endif // __SLEEP_H__ \ No newline at end of file diff --git a/sw-old/z80/arch/makefile b/sw-old/z80/arch/makefile new file mode 100644 index 0000000..2763c10 --- /dev/null +++ b/sw-old/z80/arch/makefile @@ -0,0 +1,27 @@ +# Drivers library + +LIB := build/arch.a +SOURCES := $(wildcard *.c) +OBJECTS := $(patsubst %.c,build/%.rel,$(SOURCES)) + +F_CPU := 10000 + +CC := sdcc +AR := sdar +CFLAGS := -mz80 \ + -Iinclude \ + -DDEBUG \ + -DF_CPU=$(F_CPU) + +.PHONY: dirs clean +$(LIB): $(OBJECTS) + $(AR) rcs $@ $(OBJECTS) + +$(OBJECTS): build/%.rel: %.c $(SOURCES) dirs + $(CC) $(CFLAGS) -c $< -o $@ + +dirs: + mkdir -p build + +clean: + - rm -rd build diff --git a/sw-old/z80/arch/sleep.c b/sw-old/z80/arch/sleep.c new file mode 100644 index 0000000..154e7ec --- /dev/null +++ b/sw-old/z80/arch/sleep.c @@ -0,0 +1,16 @@ +#include "sleep.h" + +void usleep(uint16_t microseconds) +{ + __asm + pop hl +loop: + ld bc, #SLEEP_UNIT +unit: + nop + dec bc + jr nz, unit + dec hl + jr nz,loop + __endasm; +} \ No newline at end of file -- cgit v1.2.1