summaryrefslogtreecommitdiffstats
path: root/sw-old/z80/tests/pio/main.c
diff options
context:
space:
mode:
authorNao Pross <naopross@thearcway.org>2018-10-30 11:41:24 +0100
committerNao Pross <naopross@thearcway.org>2018-10-30 11:41:24 +0100
commit43be150dc6e84f6f6eeb071cd3cdb7fc21125d60 (patch)
tree541fd3d690c1bdfd7b68d684029a400b80f4aa06 /sw-old/z80/tests/pio/main.c
parentAdd datasheets for ATmega328 and 74LS259 (diff)
downloadz80uPC-43be150dc6e84f6f6eeb071cd3cdb7fc21125d60.tar.gz
z80uPC-43be150dc6e84f6f6eeb071cd3cdb7fc21125d60.zip
Move sw to sw-old and hw to hw-altium, add kicad files
Diffstat (limited to 'sw-old/z80/tests/pio/main.c')
-rw-r--r--sw-old/z80/tests/pio/main.c50
1 files changed, 50 insertions, 0 deletions
diff --git a/sw-old/z80/tests/pio/main.c b/sw-old/z80/tests/pio/main.c
new file mode 100644
index 0000000..7ac64bc
--- /dev/null
+++ b/sw-old/z80/tests/pio/main.c
@@ -0,0 +1,50 @@
+// #include "pio.h"
+
+#include <stdint.h>
+
+#define PIO_A_DATA 0x10
+#define PIO_B_DATA 0x11
+#define PIO_A_CMD 0x12
+#define PIO_B_CMD 0x13
+
+void main(void)
+{
+ __asm
+ ;; output variable
+ ld h, #0x00
+
+ ;; set bit mode
+ ld c, #PIO_B_CMD
+
+ ld a, #0xCF
+ out (c), a
+
+ ;; set all pins to output
+ ld a, #0x00
+ out (c), a
+
+ ;; disable interrupts
+ ld a, #0x0C
+ out (c), a
+
+ ;; load data addr
+ ld c, #PIO_B_DATA
+loop:
+ out (c), h
+ ld a, h
+
+ cpl
+ ld h, a
+ jr loop
+ __endasm;
+
+ // uint8_t i = 0;
+
+ // pio_set_mode(PIO_A, PIO_MODE_BIT_IO, 0x00);
+ // pio_set_interrupts(PIO_A, PIO_INT_DISABLE);
+
+ // while (1) {
+ // pio_write(PIO_A, i);
+ // i = ~i;
+ // }
+} \ No newline at end of file