Page 1 of 1

I know it's technically too late to add new machines

Posted: Tue 20 Oct, 2015 12:31 am
by neozeed
but in the future adding a machine that can run the legacy BOCHS pc bios, and possibly the newer seabios would be cool, allowing PCem to have a fully working GPL portion.

Just a thought for v11.

Re: I know it's technically too late to add new machines

Posted: Tue 20 Oct, 2015 2:32 am
by Alegend45
I had the same idea for PCem-X.

Re: I know it's technically too late to add new machines

Posted: Tue 20 Oct, 2015 9:13 am
by neozeed
Alegend45 wrote:I had the same idea for PCem-X.
The sis969 boots up the old Bochs 'pc bios', it even see's my 503 MB (63sec/16hd/1022cyl) hard disk, but complains that there is no bootable devices.

At least it does the POST as long as you have a DX4/100 or Pentium Overdrive.. I guess a speed thing?

Re: I know it's technically too late to add new machines

Posted: Tue 20 Oct, 2015 2:02 pm
by Battler
It might be the Bochs BIOS using the 586 instruction set as that's what Bochs emulates as a minimum.

Re: I know it's technically too late to add new machines

Posted: Tue 26 Jan, 2016 5:58 am
by neozeed
I got sidetracked getting linux 0.11 to build on windows to see if the 16 bit tools would even run (they do). But I need to just get a bios to compile on Linux and enable debug to see what it's issue is with the ide controllers and how or what to merge to get a "free" firmware set so maybe we can push pcem bigger?

Winuae can run aros roms and os, pcem should have a free set too? Just my $0.02

Re: I know it's technically too late to add new machines

Posted: Wed 27 Jan, 2016 11:49 pm
by Battler
- neozeed: I experimented with geting the Bochs legacy BIOS to work with PCem but it doesn't like the IDE emulation. It finds the devices, but then says there's no disk to boot from. I can get it to boot via the boot menu, but not without problems.

Edit: I see you reported the same above. Sorry for duplicate issue report then. Also, for all we know, the Bochs BIOS might be relying on mistakes in Bochs' IDE emulation and hence not work with PCem's emulation.

Re: I know it's technically too late to add new machines

Posted: Tue 12 Dec, 2017 5:55 pm
by neozeed
For what it's worth both the Bochs bios's initalize now.

BIOS-bochs-latest will turn on the 430vx, but it gets the IDE all confused from any XT IDE controller, or it's convinced that ide disks aren't bootable (no doubt a nvram flag or something to get boot priority).

BIOS-bochs-legacy works in the AMI-486 clone, even with the overdrive processor. The IDE support also thinks it can't boot, but the XT IDE controller will work! I had no luck with the Bochs VGA bios though. The Qemu VGA bios, or the other vga BIOS's are larger than 32kb so Im sure at a minimum it'll need a little massaging to load a larger ROM.

Oh, also the AMI 386DX machine type will also work.

Image

FYI booting a 20MB IDE / Type 2 disk directly.

Image

Although the CMOS settings are all messed up. Also I have had zero luck with any of the BOCHS video ROMs so far.

Re: I know it's technically too late to add new machines

Posted: Fri 23 Feb, 2018 7:30 pm
by JosepMa
I just recently read about SeaBIOS and thought that it would be a good way to have a working emulator for first-time users.
I can understand that such a BIOS does not represent a real hardware, which is what PCem tries to emulate, but still it could be a good thing for it. There could even be a small HDD containing FreeDOS.

As a reference, I'll leave here some URLs and I might take a look in the following months to see how complicate it could be.
One of the problems is that the current version ( version 4 ) starts at Pentium II (i440BX, which I had, even though the older supports Pentium MMX), which is currently not emulated, and would require quite a powerful machine to run.

https://www.coreboot.org/SeaBIOS
https://seabios.org/Developer_Documentation
https://en.wikipedia.org/wiki/Intel_440BX
https://en.wikipedia.org/wiki/List_of_I ... m_chipsets
https://www.seabios.org/SeaVGABIOS

I am unsure if coreboot itself is needed, or the SeaBIOS is enough.
https://www.coreboot.org/Welcome_to_coreboot

Re: I know it's technically too late to add new machines

Posted: Fri 23 Feb, 2018 8:25 pm
by leilei
Having Pentium II emulation would mean a recompiler rewrite first as the P6 architecture is wildly different on how it treats instructions and cache. You can't just take Pentium and clock it up and change a few CPUIDs around to emulate a Pentium II.