Migrate Atari800/5200 FW to Main (#1101)
* WIP Adding Atari800 side of things * WIP Migrated some functionality from .sv to here * WIP XEX file loading works, clean-ups * WIP UART/SIO interface beginning * WIP Adding Atari800 drive emulator * WIP First version of the drive emulator working with ATR and XEX files * WIP ATX files are working * WIP HDD is now mounted separately * WIP PBI/HDD is working too * Cleaning up and adding supporting Atari ASM files * Updated versioning information in the Atari800 FW * WIP Adding support for the Atari 5200 core * Atari 5200 support complete * Atari800: fixed SIO timing bugs * Atari800: sorting out SIO timing issues still * Atari800: eliminate OSD lock up possibilities * Atari800: Improved XEX loader
This commit is contained in:
committed by
GitHub
parent
a9eb1f5c11
commit
deb43cd870
26
user_io.cpp
26
user_io.cpp
@@ -317,6 +317,20 @@ char is_c128()
|
||||
return (is_c128_type == 1);
|
||||
}
|
||||
|
||||
static int is_atari800_type = 0;
|
||||
char is_atari800()
|
||||
{
|
||||
if (!is_atari800_type) is_atari800_type = strcasecmp(orig_name, "Atari800") ? 2 : 1;
|
||||
return (is_atari800_type == 1);
|
||||
}
|
||||
|
||||
static int is_atari5200_type = 0;
|
||||
char is_atari5200()
|
||||
{
|
||||
if (!is_atari5200_type) is_atari5200_type = strcasecmp(orig_name, "Atari5200") ? 2 : 1;
|
||||
return (is_atari5200_type == 1);
|
||||
}
|
||||
|
||||
static int is_psx_type = 0;
|
||||
char is_psx()
|
||||
{
|
||||
@@ -398,6 +412,8 @@ void user_io_read_core_name()
|
||||
is_gba_type = 0;
|
||||
is_c64_type = 0;
|
||||
is_c128_type = 0;
|
||||
is_atari800_type = 0;
|
||||
is_atari5200_type = 0;
|
||||
is_psx_type = 0;
|
||||
is_cdi_type = 0;
|
||||
is_st_type = 0;
|
||||
@@ -1523,6 +1539,14 @@ void user_io_init(const char *path, const char *xml)
|
||||
printf("Identified Archimedes core");
|
||||
archie_init();
|
||||
}
|
||||
else if (is_atari800())
|
||||
{
|
||||
atari800_init();
|
||||
}
|
||||
else if (is_atari5200())
|
||||
{
|
||||
atari5200_init();
|
||||
}
|
||||
else
|
||||
{
|
||||
const char *home = HomeDir();
|
||||
@@ -3667,6 +3691,8 @@ void user_io_poll()
|
||||
uint16_t save_req = spi_uio_cmd(UIO_CHK_UPLOAD);
|
||||
if (save_req) c64_save_cart(save_req >> 8);
|
||||
}
|
||||
if (is_atari800()) atari800_poll();
|
||||
if (is_atari5200()) atari5200_poll();
|
||||
process_ss(0);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user