VOGONS


[EMULATOR]The Virtual Computer Collection

Topic actions

  • This topic is locked. You cannot reply or edit posts.

First post, by SoftPCMuseum_

User metadata
Rank Newbie
Rank
Newbie

UPDATE: New build released. Please read the description below on the new features.

New features in this release: Support for the COMPAQ Portable/Portable Plus (very early; COMPAQ-specific features disabled for compiled binaries), source code matched with IBM PC Technical Reference, and references to "PCE" now being changed to the correct name ("The Virtual Computer Collection").

Another project that I'm working on is support for the 80386 CPU, which will have its own build and will emulate the Intel Inboard/386 PC until support is added for the IBM PC/AT and IBM PS/2 machines. While the source code is not yet ready to be built, I am still working on it daily to ensure that it gets finished as soon as possible. The 80386 CPU is being developed on parallel with the new machines.

Machines currently available to test:
- IBM Personal Computer (Model 5150)/
IBM Personal Computer/XT (Model 5160)
- IBM Portable PC (Model 5155)
- IBM PS/2 Model 25/30 (placeholder only; modified IBM PC configuration with 20 MB hard disk and
IBM VGA until actual development begins)
- COMPAQ Portable/Portable Plus (certain COMPAQ features disabled in compiled binaries; re-enable in source code and recompile to test)
- Olivetti M24/AT&T 6300 (8086)

Download links (Release A001):
- Compiled binaries for Microsoft Windows:
- Source code:
Previous releases:
- (Release A000) Compiled binaries for Microsoft Windows:
- (Release A000) Source code:
NOTE: ALL copyrighted material has been thoroughly purged from these releases in order to remain compliant with the rules of this site. Any remaining copyrighted material that is reported will be immediately removed with no exceptions. The IBM PC ROM BIOS listings and source files have also been removed for this reason.

Please feel free to use this thread to supply feedback. All discussion should remain civil, however, and any ad hominem personal attacks and/or flaming or insults will NOT be tolerated here, since all users are required to behave appropriately in this thread. Any inappropriate behavior will be immediately reported to the site moderators with no exceptions.

Last edited by SoftPCMuseum_ on 2016-04-27, 01:39. Edited 5 times in total.

Reply 3 of 32, by SoftPCMuseum_

User metadata
Rank Newbie
Rank
Newbie

When selecting the IBM Portable PC (Model 5155) configuration, instead of booting, you might instead be directed to the IBM ROM BASIC.

To solve this problem, change the following lines inside the IBM5155.INF file:

file = "5155fd0.psi"
file = "5155fd1.psi"

To read the following:

# file = "5155fd0.psi"
# file = "5155fd1.psi"

This will cause the emulator not to look for the files with a .PSI extension, and instead boot from the files with the .IMG extension.

realnc wrote:

GitHub?

I'm considering using it, but I will have to look into its membership as with any such service. I have found quite a lot of use out of it though for other emulator projects, such as IBMulator. Right now, though, the project is in its very early stages of development, and I'm just trying to get it off the ground more than anything else at the moment.

leileilol wrote:

SPOILER: It's PCE with pretentiously MAME batch files and copyrighted software/roms bundled.

Well, done, you've just had your post reported for flaming/insults.

Reply 4 of 32, by leileilol

User metadata
Rank l33t++
Rank
l33t++
SoftPCMuseum_ wrote:

Well, done, you've just had your post reported for flaming/insults.

I think reporting your post for legal reasons is a bigger deal.

There's a reason why Qemu, Bochs, Dosbox, MESS, etc, doesn't ship with IBM's ROMs, PC-DOS and hard drive images.

Also check the site footer:

This site hosts no abandonware. There is no material that is knowingly illegal here.

apsosig.png
long live PCem

Reply 5 of 32, by SoftPCMuseum_

User metadata
Rank Newbie
Rank
Newbie
leileilol wrote:
I think reporting your post for legal reasons is a bigger deal. […]
Show full quote
SoftPCMuseum_ wrote:

Well, done, you've just had your post reported for flaming/insults.

I think reporting your post for legal reasons is a bigger deal.

There's a reason why Qemu, Bochs, Dosbox, MESS, etc, doesn't ship with IBM's ROMs, PC-DOS and hard drive images.

Also check the site footer:

This site hosts no abandonware. There is no material that is knowingly illegal here.

My emulator release contains only software that was officially licensed for the original machines that are being emulated. I think that I made that point pretty clear in my readme file. And I also made equally clear that I'm already willing to remove whatever copyrighted files in my archive if the people in charge of this site ask me to.

And once again, you really need to stop it with your attitude towards anything that I develop. No wonder why I didn't request for assistance in compiling this first build - you were the one who convinced me of that in the first place. This is a professional project, therefore everyone has to act professionally. There is a reason why I put up that disclaimer that stated that any flaming and insults would be dealt with on a no exceptions basis, and your posts are no exception to this. If you can't at least behave respectfully towards my work and my own projects, then you can please feel free to ignore it completely rather than attacking me for it in return.

Reply 6 of 32, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

1st of all, bundling copyrighted software is a big NO. Even if it is licensed for the machines that are emulated, the license is probably for the machine and not the emulator. And free software does not mean you can offer it for download wherever you want. ROMs are also almost always not free to offer. To protect the site, stuff like this has to go.

So, if you want it to be a professional project, please be professional. Take a deep look at what you are bundling and get rid of everything that is in the slightest grey.

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for macOS (10.4-11.x ppc/intel 32/64bit) notarized for gatekeeper

Reply 7 of 32, by gdjacobs

User metadata
Rank l33t++
Rank
l33t++

As part of your due diligence, it's a common best practice to summarize copyright ownership and licensing terms for all the software components in your product. This way, you can be confident of the legitimacy of what you're publishing. It's also a show of respect for the software authors.

All hail the Great Capacitor Brand Finder

Reply 8 of 32, by SoftPCMuseum_

User metadata
Rank Newbie
Rank
Newbie
Dominus wrote:

1st of all, bundling copyrighted software is a big NO. Even if it is licensed for the machines that are emulated, the license is probably for the machine and not the emulator. And free software does not mean you can offer it for download wherever you want. ROMs are also almost always not free to offer. To protect the site, stuff like this has to go.

So, if you want it to be a professional project, please be professional. Take a deep look at what you are bundling and get rid of everything that is in the slightest grey.

OK, then, I'll remove the copyrighted software for the versions of the emulator that are distributed on this site. I was already considering such a version anyway (for distribution on sites that don't allow copyrighted software), so I'll remove the links and re-upload the emulator with the software removed.

Reply 9 of 32, by Stiletto

User metadata
Rank l33t++
Rank
l33t++

leileilol's comment was right on the nose and, speaking as someone who has helped with MAME, funny. Grow a thicker skin please, this is the Internet and you are wading around in the comment section, I won't censor a comment like that.

Speaking as a moderator here (along with Dominus who is DOSBox section moderator), the copyrighted software had to be removed from being bundled. I for one *would* have censored your original post by removing the links to your project, but you've done it yourself so kudos to you. Emulators can be distributed with ROMs if you've made them yourself from scratch (hence BOCHS' PC BIOS) or if you've worked out the licensing details with the rights holders - which for the most part no one has ever done with IBM PC-based hardware.

SoftPCMuseum_ wrote:

I was already considering such a version anyway (for distribution on sites that don't allow copyrighted software)

Please consider VOGONS to be one of these sites.

"I see a little silhouette-o of a man, Scaramouche, Scaramouche, will you
do the Fandango!" - Queen

Stiletto

Reply 10 of 32, by SoftPCMuseum_

User metadata
Rank Newbie
Rank
Newbie

UPDATE:
Sorry for the delays everyone, I was not feeling well for about a week, so I had to take a rest from all of this.

But anyway, I have since re-uploaded the emulator with all ROM images and copyrighted software completely removed - and by removed, I mean 100%. I managed to provide a copy of the open-source MS-DOS equivalent FreeDOS for all of the machines being emulated, with each copy customized to provide file listings for the PC-DOS and MS-DOS versions that were provided with the original machines.

Getting FreeDOS to run on the original IBM PC configurations (5150/5160 and 5155 Portable PC) was an adventure in itself, I can tell you that much. First of all, if you can actually believe this, the operating system apparently no longer supports CPUs lower than an 80286, even in real mode. I had to find an earlier version which still supported the 80186 and lower CPU models to use with this emulator.

Second of all, when I DID find a version that supported the Intel 8086, I found that it would only work with the one IBM BIOS ROM image from May 9th, 1986 as far as the IBM PC Model 5150/5160 machines were concerned. On top of that, the BIOS ROM image also has to be loaded at a different address than the original IBM PC ROM BIOS versions; otherwise, you get a load of "undefined operation" errors from the emulator terminal.

So in the end, what I did was to provide modified versions of the 5150/5160/5155 configuration files to allow FreeDOS to work, and then to simply provide instructions which automatically appear when FreeDOS loads on the IBM PC configurations to guide users through the process of setting the configuration settings back to normal once a working copy of IBM PC-DOS is found.

Another reason why I provided copies of FreeDOS for the emulated machines was to allow people to use the machines, even if they didn't have access to a working copy of PC-DOS or MS-DOS.

Reply 11 of 32, by vladstamate

User metadata
Rank Oldbie
Rank
Oldbie
SoftPCMuseum_ wrote:

Second of all, when I DID find a version that supported the Intel 8086, I found that it would only work with the one IBM BIOS ROM image from May 9th, 1986 as far as the IBM PC Model 5150/5160 machines were concerned. On top of that, the BIOS ROM image also has to be loaded at a different address than the original IBM PC ROM BIOS versions; otherwise, you get a load of "undefined operation" errors from the emulator terminal.

I am curious, can you please elaborate on that? Since the IBMPC jumps at 0xFFFF0 at power on this usually means that the BIOS ROM has to start at 0x10000-bios_size which for the May '86 one is 64Kb. So the BIOS starts at 0xF0000. Where did you have to put the BIOS for FreeDOS to work? I believe all the BIOSes from IBM were 64Kb for 5160/5170 machines. This includes the BASIC which starts at 0xF6000.

YouTube channel: https://www.youtube.com/channel/UC7HbC_nq8t1S9l7qGYL0mTA
Collection: http://www.digiloguemuseum.com/index.html
Emulator: https://sites.google.com/site/capex86/
Raytracer: https://sites.google.com/site/opaqueraytracer/

Reply 12 of 32, by SoftPCMuseum_

User metadata
Rank Newbie
Rank
Newbie
vladstamate wrote:
SoftPCMuseum_ wrote:

Second of all, when I DID find a version that supported the Intel 8086, I found that it would only work with the one IBM BIOS ROM image from May 9th, 1986 as far as the IBM PC Model 5150/5160 machines were concerned. On top of that, the BIOS ROM image also has to be loaded at a different address than the original IBM PC ROM BIOS versions; otherwise, you get a load of "undefined operation" errors from the emulator terminal.

I am curious, can you please elaborate on that? Since the IBMPC jumps at 0xFFFF0 at power on this usually means that the BIOS ROM has to start at 0x10000-bios_size which for the May '86 one is 64Kb. So the BIOS starts at 0xF0000. Where did you have to put the BIOS for FreeDOS to work? I believe all the BIOSes from IBM were 64Kb for 5160/5170 machines. This includes the BASIC which starts at 0xF6000.

Sorry, I wasn't clear - I meant that the BIOS ROM itself requires the address to be 0xF0000 (as opposed to 0xFE000 for the early IBM BIOS versions); otherwise, it won't even go through the Power-On-Self-Test. Apparently, the different versions of the IBM PC BIOS require loading at different addresses for some reason

Also, another update: For an upcoming build, I may be able to start working on support for the IBM PC Convertible (Model 5140), since I just recently located the Technical Reference manual for that system.

Currently, I am trying to load the IBM BIOS ROM image (though no download links here as per the site rules) for that system into the emulator when set to emulate a 5150/5160 IBM PC, just to see how much needs to be changed before the emulator can start running the original ROM images (though just to be clear, the emulator will emulate much more than that; I am just using this experiment as a starting point), and when loading the two 32 KB ROM image files into separate locations; I get loads of "undefined operation" errors; whereas when I load the two at the same location, the system basically does nothing. It could possibly be related to the other problem that I was experiencing with the different versions of the IBM PC ROM BIOS, or it could be something completely different - but it would also help me if someone would be able to provide an easy way to combine the two into a single 64 KB ROM image file, since that's the format that the IBM PC BIOS ROM files currently use for the emulator.

As far as the next build is concerned, though, I already have most of the IBM PC Technical Reference matched with the source code for the 5150/5160 IBM PC systems, and at the moment I am currently doing the same thing for the IBM CGA adapter (having already finished with the MDA).

Reply 13 of 32, by vladstamate

User metadata
Rank Oldbie
Rank
Oldbie
SoftPCMuseum_ wrote:

Currently, I am trying to load the IBM BIOS ROM image (though no download links here as per the site rules) for that system into the emulator when set to emulate a 5150/5160 IBM PC, just to see how much needs to be changed before the emulator can start running the original ROM images (though just to be clear, the emulator will emulate much more than that; I am just using this experiment as a starting point), and when loading the two 32 KB ROM image files into separate locations; I get loads of "undefined operation" errors; whereas when I load the two at the same location, the system basically does nothing. It could possibly be related to the other problem that I was experiencing with the different versions of the IBM PC ROM BIOS, or it could be something completely different - but it would also help me if someone would be able to provide an easy way to combine the two into a single 64 KB ROM image file, since that's the format that the IBM PC BIOS ROM files currently use for the emulator.

The 2 files are probably odd/even bytes so you cannot load them at either same address or different address, they would need to be interleaved. But I would assume PCE has support for that, as most BIOSes are even/odd. Just thought I would mention it.

YouTube channel: https://www.youtube.com/channel/UC7HbC_nq8t1S9l7qGYL0mTA
Collection: http://www.digiloguemuseum.com/index.html
Emulator: https://sites.google.com/site/capex86/
Raytracer: https://sites.google.com/site/opaqueraytracer/

Reply 14 of 32, by SoftPCMuseum_

User metadata
Rank Newbie
Rank
Newbie

Well, an even weirder thing happened: I tried loading the one IBM PC Convertible BIOS ROM image at 0xF0000, and the other at 0xFE000, and I now get a low-pitched beep sound whenever the machine loads.

But what's even more strange is that apparently, unless the CPU model is set to 80188, the terminal displays two "undefined operation" messages for opcode "62 FA", whereas when the CPU model is set to 80188, the terminal instead displays the "BOUND EA is register" message twice.

This has me starting to suspect that either the Intel 80C88 (used by the IBM PC Convertible) supported the BOUND EA instruction that was otherwise introduced in the Intel 80186, or the IBM PC Convertible BIOS ROM attempts to deliberately execute an undefined instruction at the same address, which I think is less likely.

Reply 15 of 32, by vladstamate

User metadata
Rank Oldbie
Rank
Oldbie

It is neither. 80C88 is just a plain 8088 but in CMOS technology. It does not support BOUND instruction. And I do not expect the BIOS would require that either (unless you are somehow using the wrong BIOS). I think it is more likely related to the fact that you are not loading the BIOS properly, and not treating it as odd/even addresses. Does anything work correctly (like does memory testing and counting on the display start) before you see the errors on the terminal?

YouTube channel: https://www.youtube.com/channel/UC7HbC_nq8t1S9l7qGYL0mTA
Collection: http://www.digiloguemuseum.com/index.html
Emulator: https://sites.google.com/site/capex86/
Raytracer: https://sites.google.com/site/opaqueraytracer/

Reply 16 of 32, by SoftPCMuseum_

User metadata
Rank Newbie
Rank
Newbie
vladstamate wrote:

It is neither. 80C88 is just a plain 8088 but in CMOS technology. It does not support BOUND instruction. And I do not expect the BIOS would require that either (unless you are somehow using the wrong BIOS). I think it is more likely related to the fact that you are not loading the BIOS properly, and not treating it as odd/even addresses. Does anything work correctly (like does memory testing and counting on the display start) before you see the errors on the terminal?

Do you have any way of independently verifying that the Intel 80C88 did not support the BOUND instruction? Just because someone says that something happens to be the case, doesn't necessarily mean that it is. The only reliable evidence for this would be in the Intel manuals for the 80C88 which I plan on reading myself so that I can verify for myself whether the instruction is actually supported on that chip or not. All that I'm really saying is that it would very likely explain why the IBM PC Convertible ROM BIOS executes that particular instruction, and doesn't fail Occam's Razor.

The 80C88 is not "just a plain 8088" either, and any site that says otherwise is just "plain" wrong if you ask me. There are also additional features from what I remember that support power-management features such as placing the chip in "sleep" mode when not in use, unless I'm confusing it with another CPU such as the 80386SL. But if I remember it correctly, then the Intel engineers would have already put in place several new features in order to reduce power-usage, and it wouldn't surprise me at all if they also backported some of the 80186 CPU instructions in the process. Only from reading the Intel manuals would we know for sure, however, and finding Intel manuals for the 80C88 seems to be like finding a needle in a haystack from what I can see; so if anyone here can find a link to one then I would greatly appreciate it if they did, since they are not easily available at the moment.

And I already stated previously that I am loading the one ROM file at 0xF0000, and the other one at 0xFE000. Loading at the wrong address would just result in "undefined operation" errors for 0F FF, and for all addresses at that, as I already explained above.

Reply 17 of 32, by vladstamate

User metadata
Rank Oldbie
Rank
Oldbie

80C88 is just a plain 8088 from functionality point of view. The CMOS manufacture and the low power does not affect the operation. It is just a low power version of the 8088. See this and this. Yes it is not the original Intel description but it is the same CPU. Check page 14 in that document.

As expected the BOUND instruction is not listed in the instruction set for this CPU in either of the documents.

YouTube channel: https://www.youtube.com/channel/UC7HbC_nq8t1S9l7qGYL0mTA
Collection: http://www.digiloguemuseum.com/index.html
Emulator: https://sites.google.com/site/capex86/
Raytracer: https://sites.google.com/site/opaqueraytracer/

Reply 18 of 32, by SoftPCMuseum_

User metadata
Rank Newbie
Rank
Newbie
vladstamate wrote:

80C88 is just a plain 8088 from functionality point of view. The CMOS manufacture and the low power does not affect the operation. It is just a low power version of the 8088. See this and this. Yes it is not the original Intel description but it is the same CPU. Check page 14 in that document.

As expected the BOUND instruction is not listed in the instruction set for this CPU in either of the documents.

Yes, but are you sure that the Intersil 80C88 is the same as the Intel 80C88? Remember that different manufacturers did have differences between CPUs even for ones that were otherwise quite similar - one such example would be to compare the IBM/Cyrix 386SLC/DLC and 486SLC/DLC against the Intel 80386/80486 counterparts, or even to compare the IBM and Cyrix chips against each other since there were differences even between those (such as the LOADALL instruction still being supported on the IBM 486SLC/DLC while being unsupported on the Cyrix counterpart). Therefore, just because the two companies produced similar chips does not stop them from implementing instructions differently, especially where it would violate Intel's trademarks.

If the PC Convertible shipped with an Intersil 80C88 then I would have thought differently, but since it shipped with the Intel 80C88 then I would say that it is simply safe to assume that you have found a difference between the two chips. As I explained previously, the only reliable evidence comes direct from Intel.

Also, an update on my Technical Reference project: At the moment, I am now finishing up with my work on the manuals for the IBM CGA adapter, matching each quote with the relevant source code, just as I already did with the IBM MDA. Once I have finally finished for all of the video adapters that were already supported by the original PCE emulator, then it should be easy to add in support for new ones from this point on.