From 1d4b9af7e2e2fd5b0dac6c22667afcbeb54ee1c7 Mon Sep 17 00:00:00 2001 From: SarahW Date: Mon, 12 Feb 2018 13:40:17 +0000 Subject: [PATCH] Added Compaq Portable II. Patch from dns2kv2. --- src/ibm.h | 1 + src/mem.c | 14 ++++++++++++++ src/model.c | 1 + src/nvr.c | 2 ++ 4 files changed, 18 insertions(+) diff --git a/src/ibm.h b/src/ibm.h index d263be5..ee63c36 100644 --- a/src/ibm.h +++ b/src/ibm.h @@ -450,6 +450,7 @@ enum ROM_PB_L300SX, ROM_NCR_PC4I, ROM_TO16_PC, + ROM_COMPAQ_PII, ROM_MAX }; diff --git a/src/mem.c b/src/mem.c index a7faf37..fc4c1ec 100644 --- a/src/mem.c +++ b/src/mem.c @@ -813,6 +813,20 @@ int loadbios() romfread(rom+0x8000,32768,1,f); fclose(f); return 1; + + case ROM_COMPAQ_PII: + f = romfopen("compaq_pii/109740-001.rom", "rb"); + ff = romfopen("compaq_pii/109739-001.rom", "rb"); + if (!f || !ff) break; + for (c = 0x0000; c < 0x8000; c += 2) + { + rom[c] = getc(f); + rom[c + 1] = getc(ff); + } + fclose(ff); + fclose(f); + biosmask = 0x7fff; + return 1; } printf("Failed to load ROM!\n"); if (f) fclose(f); diff --git a/src/model.c b/src/model.c index 493301c..7c67ab1 100644 --- a/src/model.c +++ b/src/model.c @@ -130,6 +130,7 @@ MODEL models[] = {"[286] AMI 286 clone", ROM_AMI286, "ami286", { {"", cpus_286}, {"", NULL}, {"", NULL}}, 0, MODEL_AT|MODEL_HAS_IDE, 512,16384,128, at_neat_init, NULL}, {"[286] Award 286 clone", ROM_AWARD286, "award286", { {"", cpus_286}, {"", NULL}, {"", NULL}}, 0, MODEL_AT|MODEL_HAS_IDE, 512,16384,128, at_scat_init, NULL}, {"[286] Commodore PC 30 III", ROM_CMDPC30, "cmdpc30", { {"", cpus_286}, {"", NULL}, {"", NULL}}, 0, MODEL_AT|MODEL_HAS_IDE, 640,16384,128, at_cbm_init, NULL}, + {"[286] Compaq Portable II", ROM_COMPAQ_PII, "compaq_pii", { {"", cpus_286}, {"", NULL}, {"", NULL}}, 0, MODEL_AT|MODEL_HAS_IDE, 256,15872,128, ibm_at_init, NULL}, {"[286] DELL System 200", ROM_DELL200, "dells200", { {"", cpus_286}, {"", NULL}, {"", NULL}}, 0, MODEL_AT, 640,16384,128, dells200_init, NULL}, {"[286] Epson PC AX", ROM_EPSON_PCAX, "epson_pcax", { {"", cpus_286}, {"", NULL}, {"", NULL}}, 0, MODEL_AT, 256,15872,128, at_init, NULL}, {"[286] Epson PC AX2e", ROM_EPSON_PCAX2E, "epson_pcax2e", { {"", cpus_286}, {"", NULL}, {"", NULL}}, 0, MODEL_AT, 256,15872,128, at_init, NULL}, diff --git a/src/nvr.c b/src/nvr.c index 847cebf..dca9c8b 100644 --- a/src/nvr.c +++ b/src/nvr.c @@ -288,6 +288,7 @@ void loadnvr() case ROM_EPSON_PCAX2E: f = nvrfopen("epson_pcax2e.nvr", "rb"); nvrmask = 127; break; case ROM_PB_L300SX: f = nvrfopen("pb_l300sx.nvr", "rb"); nvrmask = 127; break; case ROM_EPSON_PCAX3: f = nvrfopen("epson_pcax3.nvr", "rb"); nvrmask = 127; break; + case ROM_COMPAQ_PII: f = nvrfopen("compaq_pii.nvr", "rb"); break; case ROM_T3100E: f = nvrfopen("t3100e.nvr", "rb"); break; case ROM_T1000: tc8521_loadnvr(); t1000_configsys_loadnvr(); @@ -368,6 +369,7 @@ void savenvr() case ROM_EPSON_PCAX: f = nvrfopen("epson_pcax.nvr", "wb"); break; case ROM_EPSON_PCAX2E: f = nvrfopen("epson_pcax2e.nvr", "wb"); break; case ROM_EPSON_PCAX3: f = nvrfopen("epson_pcax3.nvr", "wb"); break; + case ROM_COMPAQ_PII: f = nvrfopen("compaq_pii.nvr", "wb"); break; case ROM_PB_L300SX: f = nvrfopen("pb_l300sx.nvr", "wb"); break; case ROM_T3100E: f = nvrfopen("t3100e.nvr", "wb"); break; case ROM_T1000: tc8521_savenvr();