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

Discussion of development and patch submission.
Post Reply
neozeed
Posts: 176
Joined: Tue 08 Jul, 2014 4:41 am
Location: Hong Kong SAR
Contact:

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

Post 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.
Alegend45
Posts: 85
Joined: Sat 26 Apr, 2014 4:33 am

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

Post by Alegend45 »

I had the same idea for PCem-X.
neozeed
Posts: 176
Joined: Tue 08 Jul, 2014 4:41 am
Location: Hong Kong SAR
Contact:

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

Post 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?
Battler
Posts: 793
Joined: Sun 06 Jul, 2014 7:05 pm

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

Post by Battler »

It might be the Bochs BIOS using the 586 instruction set as that's what Bochs emulates as a minimum.
neozeed
Posts: 176
Joined: Tue 08 Jul, 2014 4:41 am
Location: Hong Kong SAR
Contact:

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

Post 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
Battler
Posts: 793
Joined: Sun 06 Jul, 2014 7:05 pm

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

Post 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.
neozeed
Posts: 176
Joined: Tue 08 Jul, 2014 4:41 am
Location: Hong Kong SAR
Contact:

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

Post 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.
JosepMa
Posts: 202
Joined: Tue 20 Jun, 2017 6:25 pm

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

Post 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
User avatar
leilei
Posts: 1039
Joined: Fri 25 Apr, 2014 4:47 pm

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

Post 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.
Post Reply