IO initial states are correct

This commit is contained in:
2025-05-31 09:47:01 -06:00
parent 8ef1a5cd60
commit 2543ba04b5
8 changed files with 76 additions and 33 deletions

View File

@ -5,19 +5,14 @@
#include <lcd.h>
#include <gamepad.h>
#include <audio.h>
static char serial_data[2];
#include <serial.h>
u8 io_read(u16 address){
if(address == 0xFF00) {
return gamepad_get_output();
}
if(address == 0xFF01) {
return serial_data[0];
}
if(address == 0xFF02) {
return serial_data[1];
if(address == 0xFF01 || address == 0xFF02) {
return serial_read(address);
}
if(BETWEEN(address, 0xFF04, 0xFF07)){
@ -46,14 +41,8 @@ void io_write(u16 address, u8 value){
gamepad_set_sel(value);
return;
}
if(address == 0xFF01) {
serial_data[0] = value;
//printf("%c", value);
return;
}
if(address == 0xFF02) {
serial_data[1] = value;
if(address == 0xFF01 || address == 0xFF02) {
serial_write(address, value);
return;
}