Added the Toshiba T1000 and T1200.

This commit is contained in:
OBattler
2018-03-02 19:33:02 +01:00
parent 22e1b2f83a
commit 6e823e6232
7 changed files with 46 additions and 11 deletions

View File

@@ -9,7 +9,7 @@
* Implementation of the NEC uPD-765 and compatible floppy disk * Implementation of the NEC uPD-765 and compatible floppy disk
* controller. * controller.
* *
* Version: @(#)fdc->c 1.0.16 2018/02/02 * Version: @(#)fdc->c 1.0.17 2018/03/02
* *
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/> * Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
* Miran Grca, <mgrca8@gmail.com> * Miran Grca, <mgrca8@gmail.com>
@@ -1140,7 +1140,7 @@ fdc_write(uint16_t addr, uint8_t val, void *priv)
} }
static uint8_t uint8_t
fdc_read(uint16_t addr, void *priv) fdc_read(uint16_t addr, void *priv)
{ {
fdc_t *fdc = (fdc_t *) priv; fdc_t *fdc = (fdc_t *) priv;

View File

@@ -9,7 +9,7 @@
* Implementation of the NEC uPD-765 and compatible floppy disk * Implementation of the NEC uPD-765 and compatible floppy disk
* controller. * controller.
* *
* Version: @(#)fdc.h 1.0.4 2018/02/02 * Version: @(#)fdc.h 1.0.5 2018/03/02
* *
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/> * Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
* Miran Grca, <mgrca8@gmail.com> * Miran Grca, <mgrca8@gmail.com>
@@ -150,6 +150,7 @@ extern int fdc_data(fdc_t *fdc, uint8_t data);
extern void fdc_sectorid(fdc_t *fdc, uint8_t track, uint8_t side, uint8_t sector, uint8_t size, uint8_t crc1, uint8_t crc2); extern void fdc_sectorid(fdc_t *fdc, uint8_t track, uint8_t side, uint8_t sector, uint8_t size, uint8_t crc1, uint8_t crc2);
extern uint8_t fdc_read(uint16_t addr, void *priv);
extern void fdc_reset(void *priv); extern void fdc_reset(void *priv);
extern uint8_t fdc_ps1_525(void); extern uint8_t fdc_ps1_525(void);

View File

@@ -8,7 +8,7 @@
* *
* Handling of the emulated machines. * Handling of the emulated machines.
* *
* Version: @(#)machine.h 1.0.19 2018/02/09 * Version: @(#)machine.h 1.0.20 2018/03/02
* *
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/> * Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
* Miran Grca, <mgrca8@gmail.com> * Miran Grca, <mgrca8@gmail.com>
@@ -186,12 +186,18 @@ extern void machine_xt_compaq_init(machine_t *);
extern void machine_xt_laserxt_init(machine_t *); extern void machine_xt_laserxt_init(machine_t *);
#endif #endif
extern void machine_xt_t1000_init(machine_t *);
extern void machine_xt_t1200_init(machine_t *);
#ifdef EMU_DEVICE_H #ifdef EMU_DEVICE_H
extern device_t *pcjr_get_device(void); extern device_t *pcjr_get_device(void);
extern device_t *tandy1k_get_device(void); extern device_t *tandy1k_get_device(void);
extern device_t *tandy1k_hx_get_device(void); extern device_t *tandy1k_hx_get_device(void);
extern device_t *t1000_get_device(void);
extern device_t *t1200_get_device(void);
extern device_t *at_endeavor_get_device(void); extern device_t *at_endeavor_get_device(void);
#endif #endif

View File

@@ -11,7 +11,7 @@
* NOTES: OpenAT wip for 286-class machine with open BIOS. * NOTES: OpenAT wip for 286-class machine with open BIOS.
* PS2_M80-486 wip, pending receipt of TRM's for machine. * PS2_M80-486 wip, pending receipt of TRM's for machine.
* *
* Version: @(#)machine_table.c 1.0.19 2018/02/18 * Version: @(#)machine_table.c 1.0.20 2018/03/02
* *
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/> * Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
* Miran Grca, <mgrca8@gmail.com> * Miran Grca, <mgrca8@gmail.com>
@@ -47,6 +47,7 @@ machine_t machines[] = {
{ "[8088] Schneider EuroPC", ROM_EUROPC, "europc", {{"Siemens",cpus_europc}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, 0, MACHINE_ISA | MACHINE_HDC | MACHINE_VIDEO | MACHINE_MOUSE, 512, 640, 128, 0, machine_europc_init, NULL, NULL }, { "[8088] Schneider EuroPC", ROM_EUROPC, "europc", {{"Siemens",cpus_europc}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, 0, MACHINE_ISA | MACHINE_HDC | MACHINE_VIDEO | MACHINE_MOUSE, 512, 640, 128, 0, machine_europc_init, NULL, NULL },
{ "[8088] Tandy 1000", ROM_TANDY, "tandy", {{"", cpus_8088}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, 1, MACHINE_ISA, 128, 640, 128, 0, machine_tandy1k_init, tandy1k_get_device, NULL }, { "[8088] Tandy 1000", ROM_TANDY, "tandy", {{"", cpus_8088}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, 1, MACHINE_ISA, 128, 640, 128, 0, machine_tandy1k_init, tandy1k_get_device, NULL },
{ "[8088] Tandy 1000 HX", ROM_TANDY1000HX, "tandy1000hx", {{"", cpus_8088}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, 1, MACHINE_ISA, 256, 640, 128, 0, machine_tandy1k_init, tandy1k_hx_get_device, NULL }, { "[8088] Tandy 1000 HX", ROM_TANDY1000HX, "tandy1000hx", {{"", cpus_8088}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, 1, MACHINE_ISA, 256, 640, 128, 0, machine_tandy1k_init, tandy1k_hx_get_device, NULL },
{ "[8088] Toshiba 1000", ROM_T1000, "t1000", {{"", cpus_8088}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, 1, MACHINE_ISA, 512, 1280, 768, 0, machine_xt_t1000_init, t1000_get_device, NULL },
#if defined(DEV_BRANCH) && defined(USE_LASERXT) #if defined(DEV_BRANCH) && defined(USE_LASERXT)
{ "[8088] VTech Laser Turbo XT", ROM_LTXT, "ltxt", {{"", cpus_8088}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, 0, MACHINE_ISA, 512, 512, 256, 0, machine_xt_laserxt_init, NULL, NULL }, { "[8088] VTech Laser Turbo XT", ROM_LTXT, "ltxt", {{"", cpus_8088}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, 0, MACHINE_ISA, 512, 512, 256, 0, machine_xt_laserxt_init, NULL, NULL },
#endif #endif
@@ -58,6 +59,7 @@ machine_t machines[] = {
{ "[8086] Amstrad PC20(0)", ROM_PC200, "pc200", {{"", cpus_8086}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, 1, MACHINE_ISA | MACHINE_VIDEO | MACHINE_MOUSE, 512, 640, 128, 63, machine_amstrad_init, NULL, nvr_at_close }, { "[8086] Amstrad PC20(0)", ROM_PC200, "pc200", {{"", cpus_8086}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, 1, MACHINE_ISA | MACHINE_VIDEO | MACHINE_MOUSE, 512, 640, 128, 63, machine_amstrad_init, NULL, nvr_at_close },
{ "[8086] Olivetti M24", ROM_OLIM24, "olivetti_m24", {{"", cpus_8086}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, 1, MACHINE_ISA | MACHINE_VIDEO | MACHINE_MOUSE, 128, 640, 128, 0, machine_olim24_init, NULL, NULL }, { "[8086] Olivetti M24", ROM_OLIM24, "olivetti_m24", {{"", cpus_8086}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, 1, MACHINE_ISA | MACHINE_VIDEO | MACHINE_MOUSE, 128, 640, 128, 0, machine_olim24_init, NULL, NULL },
{ "[8086] Tandy 1000 SL/2", ROM_TANDY1000SL2, "tandy1000sl2", {{"", cpus_8086}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, 1, MACHINE_ISA, 512, 768, 128, 0, machine_tandy1k_init, NULL, NULL }, { "[8086] Tandy 1000 SL/2", ROM_TANDY1000SL2, "tandy1000sl2", {{"", cpus_8086}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, 1, MACHINE_ISA, 512, 768, 128, 0, machine_tandy1k_init, NULL, NULL },
{ "[8086] Toshiba 1200", ROM_T1200, "t1200", {{"", cpus_8086}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, 1, MACHINE_ISA, 1024, 2048,1024, 0, machine_xt_t1200_init, t1200_get_device, NULL },
#if defined(DEV_BRANCH) && defined(USE_LASERXT) #if defined(DEV_BRANCH) && defined(USE_LASERXT)
{ "[8086] VTech Laser XT3", ROM_LXT3, "lxt3", {{"", cpus_8086}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, 0, MACHINE_ISA, 256, 512, 256, 0, machine_xt_laserxt_init, NULL, NULL }, { "[8086] VTech Laser XT3", ROM_LXT3, "lxt3", {{"", cpus_8086}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, 0, MACHINE_ISA, 256, 512, 256, 0, machine_xt_laserxt_init, NULL, NULL },
#endif #endif

View File

@@ -13,7 +13,7 @@
* - c386sx16 BIOS fails checksum * - c386sx16 BIOS fails checksum
* - the loadfont() calls should be done elsewhere * - the loadfont() calls should be done elsewhere
* *
* Version: @(#)rom.c 1.0.30 2018/03/02 * Version: @(#)rom.c 1.0.31 2018/03/02
* *
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/> * Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
* Miran Grca, <mgrca8@gmail.com> * Miran Grca, <mgrca8@gmail.com>
@@ -828,6 +828,22 @@ rom_load_bios(int rom_id)
return(1); return(1);
#endif #endif
case ROM_T1000:
loadfont(L"roms/machines/t1000/t1000font.bin", 2);
if (rom_load_linear(
L"roms/machines/t1000/t1000.rom",
0x000000, 32768, 0, rom)) return(1);
memcpy(rom + 0x8000, rom, 0x8000);
break;
case ROM_T1200:
loadfont(L"roms/machines/t1200/t1000font.bin", 2);
if (rom_load_linear(
L"roms/machines/t1200/t1200_019e.ic15.bin",
0x000000, 32768, 0, rom)) return(1);
memcpy(rom + 0x8000, rom, 0x8000);
break;
case ROM_T3100E: case ROM_T3100E:
loadfont(L"roms/machines/t3100e/t3100e_font.bin", 5); loadfont(L"roms/machines/t3100e/t3100e_font.bin", 5);
if (rom_load_linear( if (rom_load_linear(

View File

@@ -8,7 +8,7 @@
* *
* Definitions for the ROM image handler. * Definitions for the ROM image handler.
* *
* Version: @(#)rom.h 1.0.13 2018/01/28 * Version: @(#)rom.h 1.0.14 2018/03/02
* *
* Author: Fred N. van Kempen, <decwiz@yahoo.com> * Author: Fred N. van Kempen, <decwiz@yahoo.com>
* Copyright 2018 Fred N. van Kempen. * Copyright 2018 Fred N. van Kempen.
@@ -52,6 +52,9 @@ enum {
ROM_LXT3, ROM_LXT3,
#endif #endif
ROM_T1000,
ROM_T1200,
ROM_IBMPCJR, ROM_IBMPCJR,
ROM_TANDY, ROM_TANDY,
ROM_TANDY1000HX, ROM_TANDY1000HX,
@@ -63,6 +66,7 @@ enum {
ROM_PC3086, ROM_PC3086,
ROM_OLIM24, ROM_OLIM24,
ROM_TANDY1000SL2, ROM_TANDY1000SL2,
ROM_T3100E, ROM_T3100E,
ROM_AMI286, ROM_AMI286,

View File

@@ -8,7 +8,7 @@
# #
# Makefile for Win32 (MinGW32) environment. # Makefile for Win32 (MinGW32) environment.
# #
# Version: @(#)Makefile.mingw 1.0.104 2018/02/19 # Version: @(#)Makefile.mingw 1.0.105 2018/03/02
# #
# Authors: Miran Grca, <mgrca8@gmail.com> # Authors: Miran Grca, <mgrca8@gmail.com>
# Fred N. van Kempen, <decwiz@yahoo.com> # Fred N. van Kempen, <decwiz@yahoo.com>
@@ -220,7 +220,11 @@ else
endif endif
endif endif
endif endif
AFLAGS := -msse2 -mfpmath=sse ifeq ($(W5580), y)
AFLAGS := -msse2 -msse3 -mssse3 -msse4 -msse4.1 -msse4.2 -mfpmath=sse
else
AFLAGS := -msse2 -mfpmath=sse
endif
RFLAGS := --input-format=rc -O coff RFLAGS := --input-format=rc -O coff
ifeq ($(RELEASE), y) ifeq ($(RELEASE), y)
OPTS += -DRELEASE_BUILD OPTS += -DRELEASE_BUILD
@@ -377,7 +381,8 @@ CFLAGS := $(CFLAGS)
######################################################################### #########################################################################
MAINOBJ := pc.o config.o random.o timer.o io.o dma.o nmi.o pic.o \ MAINOBJ := pc.o config.o random.o timer.o io.o dma.o nmi.o pic.o \
pit.o ppi.o pci.o mca.o mcr.o mem.o memregs.o rom.o \ pit.o ppi.o pci.o mca.o mcr.o mem.o memregs.o rom.o \
device.o nvr.o nvr_at.o nvr_ps2.o $(VNCOBJ) $(RDPOBJ) device.o nvr.o nvr_tc8521.o rtc_tc8521.o nvr_at.o \
nvr_ps2.o $(VNCOBJ) $(RDPOBJ)
INTELOBJ := intel.o \ INTELOBJ := intel.o \
intel_flash.o \ intel_flash.o \
@@ -390,6 +395,7 @@ CPUOBJ := cpu.o cpu_table.o \
MCHOBJ := machine.o machine_table.o \ MCHOBJ := machine.o machine_table.o \
m_xt.o m_xt_compaq.o \ m_xt.o m_xt_compaq.o \
m_xt_t1000.o \
m_pcjr.o \ m_pcjr.o \
m_amstrad.o \ m_amstrad.o \
m_europc.o m_europc_hdc.o \ m_europc.o m_europc_hdc.o \
@@ -486,7 +492,7 @@ VIDOBJ := video.o \
vid_hercules.o vid_herculesplus.o vid_incolor.o \ vid_hercules.o vid_herculesplus.o vid_incolor.o \
vid_colorplus.o \ vid_colorplus.o \
vid_genius.o \ vid_genius.o \
vid_t3100e.o \ vid_t1000.o vid_t3100e.o \
vid_wy700.o \ vid_wy700.o \
vid_ega.o vid_ega_render.o \ vid_ega.o vid_ega_render.o \
vid_svga.o vid_svga_render.o \ vid_svga.o vid_svga_render.o \