mirror of
https://github.com/86Box/86Box.git
synced 2026-02-22 01:25:33 -07:00
Add the Tandy 1000 RSX
Machine mostly works but IDE hard disks do not work yet
This commit is contained in:
@@ -569,6 +569,7 @@ extern int machine_at_acer100t_init(const machine_t *);
|
||||
|
||||
/* HT18 */
|
||||
extern int machine_at_ama932j_init(const machine_t *);
|
||||
extern int machine_at_tandy1000rsx_init(const machine_t *);
|
||||
|
||||
/* Intel 82335 */
|
||||
extern int machine_at_adi386sx_init(const machine_t *);
|
||||
|
||||
@@ -245,6 +245,7 @@ extern const device_t soundman_device;
|
||||
/* Tandy PSSJ */
|
||||
extern const device_t pssj_device;
|
||||
extern const device_t pssj_isa_device;
|
||||
extern const device_t pssj_1e0_device;
|
||||
|
||||
/* Tandy PSG */
|
||||
extern const device_t tndy_device;
|
||||
|
||||
@@ -42,6 +42,7 @@
|
||||
#include <86box/vid_cga.h>
|
||||
#include <86box/flash.h>
|
||||
#include <86box/machine.h>
|
||||
#include <86box/sound.h>
|
||||
|
||||
/* ISA */
|
||||
/*
|
||||
@@ -369,6 +370,32 @@ machine_at_ama932j_init(const machine_t *model)
|
||||
return ret;
|
||||
}
|
||||
|
||||
int
|
||||
machine_at_tandy1000rsx_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = bios_load_linear("roms/machines/tandy1000rsx/tandy-1000rsx-1-10.00.bin",
|
||||
0x000e0000, 131072, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
machine_at_common_ide_init(model);
|
||||
|
||||
device_add(&headland_ht18c_device);
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
device_add(&pssj_1e0_device);
|
||||
|
||||
if (fdc_current[0] == FDC_INTERNAL)
|
||||
device_add(&fdc_at_device);
|
||||
|
||||
if (gfxcard[0] == VID_INTERNAL)
|
||||
device_add(machine_get_vid_device(machine));
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* Intel 82335 */
|
||||
int
|
||||
machine_at_adi386sx_init(const machine_t *model)
|
||||
|
||||
@@ -5468,6 +5468,50 @@ const machine_t machines[] = {
|
||||
.snd_device = NULL,
|
||||
.net_device = NULL
|
||||
},
|
||||
/* Has unknown KBC firmware */
|
||||
{
|
||||
.name = "[HT18] Tandy 1000 RSX",
|
||||
.internal_name = "tandy1000rsx",
|
||||
.type = MACHINE_TYPE_386SX,
|
||||
.chipset = MACHINE_CHIPSET_HT18,
|
||||
.init = machine_at_tandy1000rsx_init,
|
||||
.p1_handler = machine_generic_p1_handler,
|
||||
.gpio_handler = NULL,
|
||||
.available_flag = MACHINE_AVAILABLE,
|
||||
.gpio_acpi_handler = NULL,
|
||||
.cpu = {
|
||||
.package = CPU_PKG_386SX,
|
||||
.block = CPU_BLOCK_NONE,
|
||||
.min_bus = 0,
|
||||
.max_bus = 0,
|
||||
.min_voltage = 0,
|
||||
.max_voltage = 0,
|
||||
.min_multi = 0,
|
||||
.max_multi = 0
|
||||
},
|
||||
.bus_flags = MACHINE_PS2,
|
||||
.flags = MACHINE_IDE | MACHINE_VIDEO | MACHINE_GAMEPORT,
|
||||
.ram = {
|
||||
.min = 1024,
|
||||
.max = 9216,
|
||||
.step = 512
|
||||
},
|
||||
.nvrmask = 127,
|
||||
.jumpered_ecp_dma = 0,
|
||||
.default_jumpered_ecp_dma = -1,
|
||||
.kbc_device = &kbc_at_device,
|
||||
.kbc_params = 0x00000000,
|
||||
.kbc_p1 = 0x000004f0,
|
||||
.gpio = 0xffffffff,
|
||||
.gpio_acpi = 0xffffffff,
|
||||
.device = NULL,
|
||||
.kbd_device = NULL,
|
||||
.fdc_device = NULL,
|
||||
.sio_device = NULL,
|
||||
.vid_device = &gd5402_onboard_device,
|
||||
.snd_device = NULL,
|
||||
.net_device = NULL
|
||||
},
|
||||
/* Most likely has a Phoenix MultiKey/42 keyboard controller. */
|
||||
{
|
||||
.name = "[Intel 82335] ADI 386SX",
|
||||
|
||||
Reference in New Issue
Block a user