By the way, is it impossible to use any BIOS for 80386?
Examole : Compaq's Deskpro 386 / IBM PS/2 Model 80 / AMI 386 / Award 386.
The 386 is still using the Inboard/386 PC, though I'm definitely going to add support for the machines that you mentioned (though it will still take quite a major amount of my time, which is why I am spending as much time as possible completing the 386 CPU first before going any further than that).
Also, several changes have since been made to the emulator. One is the behavior of the LOCK prefix, which has since been updated to match that of the 386 CPU so that it would only be used for certain instructions while causing an "undefined opcode" exception (Interrupt 6) on others.
Another such change is the fact that I am now starting to add in support for multi-processor configurations, a feature which is rarely ever emulated in any IBM PC emulator to this day. This also includes the LOCK prefix mentioned above, since the LOCK prefix also now checks to make sure that all other 386 CPUs are also executing instructions which allow the LOCK prefix first before actually enabling it.
I am also planning on adding in support for the Intel 8087, 80287, and 80387 math coprocessors, which will be supported in much the same way as with multiple CPU support.
MAJOR UPDATE:
Apologies for the wait, everyone, but I have been making more updates to the emulator itself.
The CPU code has now reached a major milestone, and that is that I have finally reached the next chapter in the Intel 80386 Programmer's Reference Manual. The chapter is now "Chapter 4: Systems Architecture". This means, among other things, that I am finally ready to begin testing the features necessary for Protected Mode operation as well as the CPU's memory management-related features.
The first such instruction to be added was the MOV reg32, CR0/CR1/CR2 instruction (opcode 0F 20), along with the MOV CR0/CR1/CR2, reg32 instruction (opcode 0F 22). The bit-pattern for the flags contained within the CR0 register (required for the Machine Status Word instructions) has also been corrected for this reason. The fact that this instruction is even available has now allowed the QuickTest Pro utility to run the Extended Memory tests (apparently, all it does with these instructions is to check to see whether the CPU is a 386SX or 386DX).
The very next instructions to be added after that are the LMSW (Load Machine Status Word) and SMSW (Store Machine Status Word) instructions, which are especially important as the code for the CPU itself finally moves into the direction of being able to run programs in Protected Mode, as well as to access the 386 CPU's advanced features.
The reason for why I have yet to update the SVN repository is that I am currently working on a "revamp" (redesign) of the system. At the very least, I am already planning on moving the main release files to a separate website so that they will no longer have to be hosted on the FileDropper website. This means, among other things, that the files will no longer have to be re-uploaded each month in order to prevent them from going offline. This is especially important as more releases are added over time.
The SVN repository is also going to undergo some changes, mainly in terms of how it is managed, as well as to correct numerous problems that it has which have probably put some people off from contributing to it.
I'm having trouble downloading the emulator from the links provided in the opening post. They just take me to this page: http://www.filedropper.com/
It looks to me like the files were deleted prior to the 30 day notice for some reason (I always re-upload every month for that reason). I'm going to re-upload them soon, though eventually, I'm going to migrate everything off of FileDropper.
Thanks for reporting that important issue, however, I greatly appreciate it.
So, I don't recommend to use filedropper.com to post (upload) any files.
I also can't download new updated version any more.
All file links have since been replaced with new ones hosted by Mega.co.nz. FileDropper.com has since been abandoned completely for the project. This means, among other things, that the files are no longer at risk of going offline (at least as long as Mega.co.nz is still in operation), and that I won't even have to re-upload them every month anymore.
Updates to the SVN repository should also follow within the coming week.
Comments
Also, several changes have since been made to the emulator. One is the behavior of the LOCK prefix, which has since been updated to match that of the 386 CPU so that it would only be used for certain instructions while causing an "undefined opcode" exception (Interrupt 6) on others.
Another such change is the fact that I am now starting to add in support for multi-processor configurations, a feature which is rarely ever emulated in any IBM PC emulator to this day. This also includes the LOCK prefix mentioned above, since the LOCK prefix also now checks to make sure that all other 386 CPUs are also executing instructions which allow the LOCK prefix first before actually enabling it.
I am also planning on adding in support for the Intel 8087, 80287, and 80387 math coprocessors, which will be supported in much the same way as with multiple CPU support.
Apologies for the wait, everyone, but I have been making more updates to the emulator itself.
The CPU code has now reached a major milestone, and that is that I have finally reached the next chapter in the Intel 80386 Programmer's Reference Manual. The chapter is now "Chapter 4: Systems Architecture". This means, among other things, that I am finally ready to begin testing the features necessary for Protected Mode operation as well as the CPU's memory management-related features.
The first such instruction to be added was the MOV reg32, CR0/CR1/CR2 instruction (opcode 0F 20), along with the MOV CR0/CR1/CR2, reg32 instruction (opcode 0F 22). The bit-pattern for the flags contained within the CR0 register (required for the Machine Status Word instructions) has also been corrected for this reason. The fact that this instruction is even available has now allowed the QuickTest Pro utility to run the Extended Memory tests (apparently, all it does with these instructions is to check to see whether the CPU is a 386SX or 386DX).
The very next instructions to be added after that are the LMSW (Load Machine Status Word) and SMSW (Store Machine Status Word) instructions, which are especially important as the code for the CPU itself finally moves into the direction of being able to run programs in Protected Mode, as well as to access the 386 CPU's advanced features.
The reason for why I have yet to update the SVN repository is that I am currently working on a "revamp" (redesign) of the system. At the very least, I am already planning on moving the main release files to a separate website so that they will no longer have to be hosted on the FileDropper website. This means, among other things, that the files will no longer have to be re-uploaded each month in order to prevent them from going offline. This is especially important as more releases are added over time.
The SVN repository is also going to undergo some changes, mainly in terms of how it is managed, as well as to correct numerous problems that it has which have probably put some people off from contributing to it.
http://www.filedropper.com/
Thanks for reporting that important issue, however, I greatly appreciate it.
So, I don't recommend to use filedropper.com to post (upload) any files.
I also can't download new updated version any more.
Updates to the SVN repository should also follow within the coming week.
It takes a passionately motivated person(s) to see a project this far.