diff options
author | Nao Pross <naopross@thearcway.org> | 2017-06-02 16:22:26 +0200 |
---|---|---|
committer | Nao Pross <naopross@thearcway.org> | 2017-06-02 16:22:26 +0200 |
commit | 4a7f45ee28ac0799ba1ca93fd1683f7858efc54a (patch) | |
tree | 831487d939e15ba4c2fdb16b08240f1aeda843e5 /sw/z80/kernel/pio.c | |
parent | new file coding_rules.txt to have a consistent coding style (diff) | |
download | z80uPC-4a7f45ee28ac0799ba1ca93fd1683f7858efc54a.tar.gz z80uPC-4a7f45ee28ac0799ba1ca93fd1683f7858efc54a.zip |
add serial interface and a few std library functions
changes in usart:
- new functions to setup the serial comunication settings such as baudrate,
parity and stop bits
- init function with most common values
- transmit and receive functions each with a wrapper to send data blocks
changes in libc:
- new file stdio.c with basic implementation of putch, printf still a prototype
- new file string.c with memcpy() function
Diffstat (limited to 'sw/z80/kernel/pio.c')
-rw-r--r-- | sw/z80/kernel/pio.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/sw/z80/kernel/pio.c b/sw/z80/kernel/pio.c new file mode 100644 index 0000000..e8c7e24 --- /dev/null +++ b/sw/z80/kernel/pio.c @@ -0,0 +1,29 @@ +#include "pio.h" + +static uint8_t *pio_port_a = (uint8_t *) ADDR_DEV_PIO; +static uint8_t *pio_port_b = (uint8_t *) ADDR_DEV_PIO + 1; +static uint8_t *pio_ctrl_a = (uint8_t *) ADDR_DEV_PIO + 2; +static uint8_t *pio_ctrl_b = (uint8_t *) ADDR_DEV_PIO + 3; + +void pio_data(int port, uint8_t data) +{ + if (port == PIO_A) + *pio_port_a = cmd; + else + *pio_port_b = cmd; +} + +void pio_command(int port, uint8_t cmd) +{ + if (port == PIO_A) + *pio_ctrl_a = cmd; + else + *pio_ctrl_b = cmd; +} + + + +inline int pio_read_pin(int port, uint8_t pin) +{ + +} |