rewrite the emulator to use UTF-8 internally

This commit is contained in:
David Hrdlička
2021-03-14 20:35:01 +01:00
parent 56d62de4fe
commit dfbbe08a07
146 changed files with 1507 additions and 1457 deletions

View File

@@ -261,23 +261,23 @@ buslogic_log(const char *fmt, ...)
#endif
static wchar_t *
static char *
BuslogicGetNVRFileName(buslogic_data_t *bl)
{
switch(bl->chip)
{
case CHIP_BUSLOGIC_ISA_542_1991:
return L"bt542b.nvr";
return "bt542b.nvr";
case CHIP_BUSLOGIC_ISA_542:
return L"bt542bh.nvr";
return "bt542bh.nvr";
case CHIP_BUSLOGIC_ISA:
return L"bt545s.nvr";
return "bt545s.nvr";
case CHIP_BUSLOGIC_MCA:
return L"bt640a.nvr";
return "bt640a.nvr";
case CHIP_BUSLOGIC_VLB:
return L"bt445s.nvr";
return "bt445s.nvr";
case CHIP_BUSLOGIC_PCI:
return L"bt958d.nvr";
return "bt958d.nvr";
default:
fatal("Unrecognized BusLogic chip: %i\n", bl->chip);
return NULL;
@@ -409,7 +409,7 @@ BuslogicInitializeAutoSCSIRam(x54x_t *dev)
FILE *f;
f = nvr_fopen(BuslogicGetNVRFileName(bl), L"rb");
f = nvr_fopen(BuslogicGetNVRFileName(bl), "rb");
if (f)
{
if (fread(&(bl->LocalRAM.structured.autoSCSIData), 1, 64, f) != 64)
@@ -889,7 +889,7 @@ buslogic_cmds(void *p)
BuslogicAutoSCSIRamSetDefaults(dev, 3);
break;
case 1:
f = nvr_fopen(BuslogicGetNVRFileName(bl), L"wb");
f = nvr_fopen(BuslogicGetNVRFileName(bl), "wb");
if (f) {
fwrite(&(bl->LocalRAM.structured.autoSCSIData), 1, 64, f);
fclose(f);
@@ -1517,14 +1517,14 @@ static void *
buslogic_init(const device_t *info)
{
x54x_t *dev;
wchar_t *bios_rom_name;
char *bios_rom_name;
uint16_t bios_rom_size;
uint16_t bios_rom_mask;
uint8_t has_autoscsi_rom;
wchar_t *autoscsi_rom_name;
char *autoscsi_rom_name;
uint16_t autoscsi_rom_size;
uint8_t has_scam_rom;
wchar_t *scam_rom_name;
char *scam_rom_name;
uint16_t scam_rom_size;
FILE *f;
buslogic_data_t *bl;
@@ -1585,7 +1585,7 @@ buslogic_init(const device_t *info)
{
case CHIP_BUSLOGIC_ISA_542_1991:
strcpy(dev->name, "BT-542B");
bios_rom_name = L"roms/scsi/buslogic/BT-542B_BIOS.rom";
bios_rom_name = "roms/scsi/buslogic/BT-542B_BIOS.rom";
bios_rom_size = 0x4000;
bios_rom_mask = 0x3fff;
has_autoscsi_rom = 0;
@@ -1596,7 +1596,7 @@ buslogic_init(const device_t *info)
break;
case CHIP_BUSLOGIC_ISA_542:
strcpy(dev->name, "BT-542BH");
bios_rom_name = L"roms/scsi/buslogic/BT-542BH_BIOS.rom";
bios_rom_name = "roms/scsi/buslogic/BT-542BH_BIOS.rom";
bios_rom_size = 0x4000;
bios_rom_mask = 0x3fff;
has_autoscsi_rom = 0;
@@ -1608,11 +1608,11 @@ buslogic_init(const device_t *info)
case CHIP_BUSLOGIC_ISA:
default:
strcpy(dev->name, "BT-545S");
bios_rom_name = L"roms/scsi/buslogic/BT-545S_BIOS.rom";
bios_rom_name = "roms/scsi/buslogic/BT-545S_BIOS.rom";
bios_rom_size = 0x4000;
bios_rom_mask = 0x3fff;
has_autoscsi_rom = 1;
autoscsi_rom_name = L"roms/scsi/buslogic/BT-545S_AutoSCSI.rom";
autoscsi_rom_name = "roms/scsi/buslogic/BT-545S_AutoSCSI.rom";
autoscsi_rom_size = 0x4000;
has_scam_rom = 0;
dev->fw_rev = "AA421E";
@@ -1621,7 +1621,7 @@ buslogic_init(const device_t *info)
break;
case CHIP_BUSLOGIC_MCA:
strcpy(dev->name, "BT-640A");
bios_rom_name = L"roms/scsi/buslogic/BT-640A_BIOS.rom";
bios_rom_name = "roms/scsi/buslogic/BT-640A_BIOS.rom";
bios_rom_size = 0x4000;
bios_rom_mask = 0x3fff;
has_autoscsi_rom = 0;
@@ -1636,14 +1636,14 @@ buslogic_init(const device_t *info)
break;
case CHIP_BUSLOGIC_VLB:
strcpy(dev->name, "BT-445S");
bios_rom_name = L"roms/scsi/buslogic/BT-445S_BIOS.rom";
bios_rom_name = "roms/scsi/buslogic/BT-445S_BIOS.rom";
bios_rom_size = 0x4000;
bios_rom_mask = 0x3fff;
has_autoscsi_rom = 1;
autoscsi_rom_name = L"roms/scsi/buslogic/BT-445S_AutoSCSI.rom";
autoscsi_rom_name = "roms/scsi/buslogic/BT-445S_AutoSCSI.rom";
autoscsi_rom_size = 0x8000;
has_scam_rom = 1;
scam_rom_name = L"roms/scsi/buslogic/BT-445S_SCAM.rom";
scam_rom_name = "roms/scsi/buslogic/BT-445S_SCAM.rom";
scam_rom_size = 0x0200;
dev->fw_rev = "AA507B";
dev->flags |= X54X_32BIT;
@@ -1652,14 +1652,14 @@ buslogic_init(const device_t *info)
break;
case CHIP_BUSLOGIC_PCI:
strcpy(dev->name, "BT-958D");
bios_rom_name = L"roms/scsi/buslogic/BT-958D_BIOS.rom";
bios_rom_name = "roms/scsi/buslogic/BT-958D_BIOS.rom";
bios_rom_size = 0x4000;
bios_rom_mask = 0x3fff;
has_autoscsi_rom = 1;
autoscsi_rom_name = L"roms/scsi/buslogic/BT-958D_AutoSCSI.rom";
autoscsi_rom_name = "roms/scsi/buslogic/BT-958D_AutoSCSI.rom";
autoscsi_rom_size = 0x8000;
has_scam_rom = 1;
scam_rom_name = L"roms/scsi/buslogic/BT-958D_SCAM.rom";
scam_rom_name = "roms/scsi/buslogic/BT-958D_SCAM.rom";
scam_rom_size = 0x0200;
dev->fw_rev = "AA507B";
dev->flags |= (X54X_CDROM_BOOT | X54X_32BIT);
@@ -1685,7 +1685,7 @@ buslogic_init(const device_t *info)
rom_init(&bl->bios, bios_rom_name, bios_rom_addr, bios_rom_size, bios_rom_mask, 0, MEM_MAPPING_EXTERNAL);
if (has_autoscsi_rom) {
f = rom_fopen(autoscsi_rom_name, L"rb");
f = rom_fopen(autoscsi_rom_name, "rb");
if (f) {
fread(bl->AutoSCSIROM, 1, autoscsi_rom_size, f);
fclose(f);
@@ -1694,7 +1694,7 @@ buslogic_init(const device_t *info)
}
if (has_scam_rom) {
f = rom_fopen(scam_rom_name, L"rb");
f = rom_fopen(scam_rom_name, "rb");
if (f) {
fread(bl->SCAMData, 1, scam_rom_size, f);
fclose(f);