VOGONS


MartyPC

Topic actions

Reply 500 of 503, by GloriousCow

User metadata
Rank Member
Rank
Member
DaveDDS wrote on Yesterday, 19:31:

To be honest, my "abysmal" comment was more in comparison to others, and I don't have any working
original 4.77mhz 8088 machines any more, and I'd forgotten how slow they are.

Okay. I apologize if I've been misreading your tone, but I feel like I've been on the defensive this whole thread.

DaveDDS wrote on Yesterday, 19:31:

Any chance MartyPC might support 286/386 someday?

I would like to support the 286. The advantages of a cycle-accurate emulator for 286 are already a bit questionable, so it will probably stop there.
I may write a 386 or "generic x86" emulator someday for fun but it probably won't be under the MartyPC banner. But we'll see. There are efforts to decode the 386 microcode afoot as we speak, so that may be something that intrigues me enough to attempt.

MartyPC: A cycle-accurate IBM PC/XT emulator | https://github.com/dbalsom/martypc

Reply 501 of 503, by jal

User metadata
Rank Oldbie
Rank
Oldbie

GloriousCow, just read your latest blog post about the Lake Effect - quite impressive, and a very interesting read!

JAL

Reply 502 of 503, by GloriousCow

User metadata
Rank Member
Rank
Member
jal wrote on Yesterday, 21:25:

GloriousCow, just read your latest blog post about the Lake Effect - quite impressive, and a very interesting read!

Thanks, glad you liked it! I need to blog more - I have another one coming out soon about what I've learned so far about 16-bit bus access, speaking of the 286 and all. The mechanism by which 16-bit IO is converted to 8-bit IO for backwards compatibility is quite interesting.

MartyPC: A cycle-accurate IBM PC/XT emulator | https://github.com/dbalsom/martypc

Reply 503 of 503, by superfury

User metadata
Rank l33t++
Rank
l33t++
GloriousCow wrote on Yesterday, 22:16:
jal wrote on Yesterday, 21:25:

GloriousCow, just read your latest blog post about the Lake Effect - quite impressive, and a very interesting read!

Thanks, glad you liked it! I need to blog more - I have another one coming out soon about what I've learned so far about 16-bit bus access, speaking of the 286 and all. The mechanism by which 16-bit IO is converted to 8-bit IO for backwards compatibility is quite interesting.

Interestingly enough, the 286 BIOS (for the IBM AT) does actually require cycle-accuracy to POST. It performs a loop (using the LOOP[nz/z] set of instructions) very early in it's POST, only allowing to proceed if the loop counter (of two nested loops if I remember correctly) is within a very small range of some 10 loops. If the range is outside that, it will beep the PC speaker and halt.
I don't know if the IBM PS/1 or PS/2 requires ot too though. Interestingly, my laptop I develop my emulator on currently (not my desktop I do most work on though, which is older) might be a successor to the IBM PS/2 from what I can see on wikipedia (through the ThinkPad line successors through Lenovo). Wikipedia lists it up to the Lenovo 3000 series, but they might be related to the IBM brand (back to PS/2) perhaps, in it's development?

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io