Emulating an Amstrad PC5286

Support and general discussion.
Post Reply
User avatar
Banjo
Posts: 16
Joined: Mon 03 Sep, 2018 3:14 pm
Contact:

Emulating an Amstrad PC5286

Post by Banjo »

For the sake of nostalgia (it was my second computer ever), I'm really wanting to emulate an Amstrad PC5286 (1mb memory, 3.5" floppy, 40mb HDD, AdLib card).

Thanks to PCem, I'm having an absolute blast emulating an old Amstrad PC1512 (my first computer!) but it seems PCem is only able to recreate Amstrad's XTs (PC1512, PC1640) and early ATs (PC2086, PC5086, etc.) and not their later 286 models (PC2286, PC5286, etc.). The Amstrad MegaPC (a 386SX) is also emulated, but not the machines in between.

Could this be due to missing bios systems (i.e. nobody has dumped a PC5286, etc.) or just lack of interest in such machines? Maybe both?

I'd *almost* be content with using a "generic" 286 but I can't seem to get those to properly use 1mb of memory (bios errors/complaints), which I believe is a known issue with the current compatible 286 bios.

Is it possible that the Amstrad 286 series (and later 386 or 486 series) PCs might be emulated in PCem at some point in the future? I'm just curious, even if it might not be for awhile, before I look at other options to emulate this machine in a more "hacky" way.

Hope it's okay to ask this here... I've only just discovered PCem and am loving it! I actually thought "why would you want this over DOSBox?" when I first saw it... until I booted it up and saw what it was and now I KNOW why! So nostalgic, too! :)
Last edited by Banjo on Sat 04 May, 2019 5:20 pm, edited 2 times in total.
User avatar
SarahWalker
Site Admin
Posts: 2054
Joined: Thu 24 Apr, 2014 4:18 pm

Re: Emulating an Amstrad PC5286

Post by SarahWalker »

Banjo wrote: Sun 09 Sep, 2018 1:59 pmCould this be due to missing bios systems (i.e. nobody has dumped a PC5286, etc.)
Basically this - if the BIOS hasn't been dumped then it can't be emulated. I'd be interested in emulating these systems, though due to other commitments it would probably be some time before I could look at them.
Zup
Posts: 83
Joined: Mon 30 Nov, 2015 10:47 am

Re: Emulating an Amstrad PC5286

Post by Zup »

I wonder if MAME/MESS guys have some infos/dumps for these computers (and the more interesting Amstrad 2000 series).

MESS has a driver (I don't know if it works or is a skeleton driver) for Amstrad PC2386, but there are no drivers for other (unemulated by PCem) Amstrad computers.

In the meantime there are some 286 compatible computers (i.e.: Commodore PC30) that can be configured with 1024 Kb of memory. I don't remember which ones have EMS drivers available (or can be configured to work with XMS), but it should be possible to configure AT machines as you wish.
User avatar
Banjo
Posts: 16
Joined: Mon 03 Sep, 2018 3:14 pm
Contact:

Re: Emulating an Amstrad PC5286

Post by Banjo »

Thanks for the replies (and Sarah, I'm loving PCem sooo much... thanks!).

It's probably way outside of my abilities, but what would be involved in dumping the bios if I had a *real* PC5286 on hand?

Zup, where would I go to talk to those folks? I've used MAME in some form for many years, but never used MESS so don't know much about it.

I would be very very grateful if you or someone else could help me set up the closest possible match to the Amstrad model I want to emulate. I've been having particular trouble with the 1MB of RAM and am not sure how to fix the issue (presumably via bis settings). Below is the "real thing" and my emulation attempt:

Real Amstrad PC5286
CPU: 286/16
Memory: 1MB
Video: VGA
Audio: AdLib compatible
FDD: 3.5" 1.44MB
HDD: Type 17 40MB

My PCem Profile:
Machine: [286] Award Clone
CPU: 286/16
Memory: 1024kb
Video: VGA (default speed)
Audio: AdLib
FDD: 3.5" 1.44M (on FDD1)
HDD: Sectors 17, Heads 5, Cylinder 977, size 40MB (via Standard IDE as Primary Master 0)

The only way I can get "MEM" (a DOS 6.22 program, though not really designed for a 286 it was the only program I knew to find this info) to report 1024kb total memory is to turn off "Shadow RAM" in the BIOS. This gives me 384k XMS, which MEM detects as shown in the screenshot below:
pc5286_mem1.PNG
pc5286_mem1.PNG (9.54 KiB) Viewed 13180 times
Does that look right for a 286 machine with "1MB of memory"? Without being able to boot up a real PC5268, I can't remember if this is how the memory *was* detected or if I should be getting 640kb base and 1024kb XMS. Like I said, it's been a very very long time since I did stuff like this, and my memory of... well... memory is pretty rusty! :)

I was using the [286] AMI Clone machine previously, but can't get that to give me 1024kb (1MB) memory in any way. With the [286] Award Clone machine type, however, I found that by disabling Shadow RAM, I get the full 1024kb (1MB) memory to be recognised. I have no recollection of "Shadow RAM" from my old DOS days (I was in highschool back then!) but looked it up and now think I understand what it is... but I don't know if disabling it is a good or bad thing, or if this gets me closer to recreating the experience of an Amstrad PC5286 or not!

Thanks again to everyone at PCem and all who can help me out!
User avatar
SarahWalker
Site Admin
Posts: 2054
Joined: Thu 24 Apr, 2014 4:18 pm

Re: Emulating an Amstrad PC5286

Post by SarahWalker »

640kb conventional + 384kb XMS looks right for a 1 MB machine. I don't know if the PC5286 enabled Shadow RAM or not; disabling it will give you more RAM, but run the machine a bit slower.

If you were to get a real machine, you can dump the BIOS through DEBUG.EXE. The following commands should dump the main and video BIOSes :

Code: Select all

n bios.bin
m F000:0 FFFF 1000:0  ; Copy 0x10000 bytes from F000:0000 to 1000:0000
rbx
1                     ; Write 0x10000 bytes (64kB) - upper 16-bits
rcx
0                     ; Lower 16-bits
w 1000:0              ; Write copied data to file, starting from 1000:0000

Code: Select all

n vbios.bin
m c000:0 7FFF 1000:0  ; Copy 0x8000 bytes from C000:0000 to 1000:0000
rbx
0                     ; Write 0x8000 bytes (32kB) - upper 16-bits
rcx
8000                     ; Lower 16-bits
w 1000:0              ; Write copied data to file, starting from 1000:0000
User avatar
JohnElliott
Posts: 113
Joined: Sun 31 Jan, 2016 7:29 pm

Re: Emulating an Amstrad PC5286

Post by JohnElliott »

Or you could use a utility like SaveROM, which scans the upper 256k and saves the BIOS and any adapter ROMs it finds.
altheos
Posts: 72
Joined: Wed 24 Feb, 2016 7:27 pm

Re: Emulating an Amstrad PC5286

Post by altheos »

One detail Banjo : many machines from that era did not have an IDE controller, so you could switch to MFM or ESDI controller / drive if you care.
User avatar
SarahWalker
Site Admin
Posts: 2054
Joined: Thu 24 Apr, 2014 4:18 pm

Re: Emulating an Amstrad PC5286

Post by SarahWalker »

I believe the PC5286 did use IDE - Amstrad were using it as early as the PC2000 series.
User avatar
Banjo
Posts: 16
Joined: Mon 03 Sep, 2018 3:14 pm
Contact:

Re: Emulating an Amstrad PC5286

Post by Banjo »

Thanks for the awesome info, folks! I am going to see what I can do about getting my (very) old 5286 out of storage and if by some miracle it boots, I will dump the bios.

It seems saveROM is pretty straightforward... I just boot and run it with a "saverom romfile" command, right? Any way to test it or know if I've done it right before doing it for real on my ancient machine?

Thanks for pointing that out, Altheos... though I think Sarah is correct. I can't find the service manual anywhere, but according to this site, the PC5286 probably *did* have an IDE controller. Which is good, because it's the only way I can get my "clone" to see the HDD right now.

I also found this fascinating video here of someone tearing apart a PC5286 (it's the only PC5286 video on YouTube that I could find!) and even booting it up.

Most interesting to me was the boot screen (showing the bios version: "AM52V004") and the bios screen itself. From the screenshots below, it seems indeed that the machine's advertised "1mb memory" does indeed equal 640kb base + 384kb extended, as Sarah and I hypothesized. No mention of any shadow ram there in the bios options, so presumably (from my limited understanding) it wasn't a feature of the PC5286 anyway... so it's probably accurate to disable it in the Award 286 bios?
screenshot1.png
screenshot1.png (43.94 KiB) Viewed 13058 times
screenshot2.png
screenshot2.png (150.88 KiB) Viewed 13057 times
User avatar
JohnElliott
Posts: 113
Joined: Sun 31 Jan, 2016 7:29 pm

Re: Emulating an Amstrad PC5286

Post by JohnElliott »

Banjo wrote: Wed 12 Sep, 2018 5:31 pm It seems saveROM is pretty straightforward... I just boot and run it with a "saverom romfile" command, right? Any way to test it or know if I've done it right before doing it for real on my ancient machine?
Practise in a PCEM session and see what it does :D
User avatar
Banjo
Posts: 16
Joined: Mon 03 Sep, 2018 3:14 pm
Contact:

Re: Emulating an Amstrad PC5286

Post by Banjo »

The BIOS for this machine is finally dumped and available on "Banjo's Mods & Retro Gaming". I can't link here due to copyright concerns, sadly.

Still, I hope this is helpful to Sarah Walker, John Elliot or someone here to maybe start looking at getting my beloved childhood PC5286 emulated on PCem someday.
Last edited by Banjo on Thu 08 Apr, 2021 1:29 pm, edited 2 times in total.
Cheez
Posts: 86
Joined: Tue 19 Dec, 2017 4:08 am

Re: Emulating an Amstrad PC5286

Post by Cheez »

Bios files are usually a no-no to post unless you know for certain that they're free for distribution.
Zup
Posts: 83
Joined: Mon 30 Nov, 2015 10:47 am

Re: Emulating an Amstrad PC5286

Post by Zup »

A lot of time ago, Amstrad Plc gave permission to use Sinclair (and I guess Amstrad CPC) but only on emulators (not on real machines like ZX-Uno or clones like Harlequin). I'm sure that somebody commented, but...
- I don't know if they gave permission for all of their ROMs/BIOS (including things like the PCW range or the PC compatible systems) or only some systems.
- The copyright owner seems to be Sky, and no one has contacted them to ask them for permission on other ROMs/BIOS.

Also, I don't know or remember if they should be distributed only with emulators or could be shared freely (so maybe it can be legal to put them on your emulator but not on their site).
User avatar
Banjo
Posts: 16
Joined: Mon 03 Sep, 2018 3:14 pm
Contact:

Re: Emulating an Amstrad PC5286

Post by Banjo »

No worries, I suspected they were forbidden on the public forum here just to keep Sarah and co. safe.

Regardless, the BIOS for this machine (and in a couple of days, the PC7486SLC-33 and PC9486 too!) is now "out there" so hopefully Sarah or someone else can look at this. :)

I just wish I had the tech know-how to make a patch myself.
Post Reply