Replies: 6 comments 2 replies
-
V20 is planned at some point, but I can't say it is a huge priority. 8087 would be nice but no immediate plans for it, because it is very complex. 8080/8085 coprocessors might be interesting to do. They are fairly simple devices in comparison to the 8088, and then I could add Space Invaders support to MartyPC :) |
Beta Was this translation helpful? Give feedback.
-
I've started working on a framework to enable multiple CPU types, this has to be done before we can have anything other than an 8088 |
Beta Was this translation helpful? Give feedback.
-
I've mostly completed research into the V20 CPU. I published a blog post, https://martypc.blogspot.com/2024/05/exploring-nec-v20-cpu.html ..and generated a test suite for the V20 cpu. https://github.com/singleStepTests/v20 Now I can use the test suite to validate MartyPC's V20 emulation. |
Beta Was this translation helpful? Give feedback.
-
Back in the day I replaced the 8088 with a V20 in my Commodore PC5, along with a little tool that changed the RAM refresh rate I ended getting about 115% the speed of a bog standard IBM PC XT – it mattered!
From: dbalsom ***@***.***>
Sent: Sunday, May 26, 2024 5:20 AM
To: dbalsom/martypc ***@***.***>
Cc: Subscribed ***@***.***>
Subject: Re: [dbalsom/martypc] NEC V20/V30 emulation (Discussion #109)
I've mostly completed research into the V20 CPU.
I published a blog post, https://martypc.blogspot.com/2024/05/exploring-nec-v20-cpu.html
..and generated a test suite for the V20 cpu. https://github.com/singleStepTests/v20
Now I can use the test suite to validate MartyPC's V20 emulation.
—
Reply to this email directly, view it on GitHub <#109 (comment)> , or unsubscribe <https://github.com/notifications/unsubscribe-auth/BBJFOPKTHR4QKJMX6DITVP3ZEDP7RAVCNFSM6AAAAABGBGBLXWVHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM4TKNJXG4ZTG> .
You are receiving this because you are subscribed to this thread. <https://github.com/notifications/beacon/BBJFOPMXAJQATLSRVQR4PR3ZEDP7RA5CNFSM6AAAAABGBGBLXWWGG33NNVSW45C7OR4XAZNRIRUXGY3VONZWS33OINXW23LFNZ2KUY3PNVWWK3TUL5UWJTQASHLOK.gif> Message ID: ***@***.*** ***@***.***> >
…--
This email has been checked for viruses by AVG antivirus software.
www.avg.com
|
Beta Was this translation helpful? Give feedback.
-
MartyPC now has a functioning V20, with all native mode opcodes implemented except BRKEM (enter emulation mode). I will add 8088 emulation mode in the future. I am pondering ways to support emulation mode through Arduino8088 so that I can generate the relevant tests. When I say functioning, I mean it is basically an 8088 with relevant changes for V20 instruction differences, so that it passes my new V20 test suite in terms of register, memory and defined flag state. I still need to spend some time adding the V20's numerous optimizations to EA calculation, shifts/rotates, string operations, mul/div before it performs better than an 8088 in MartyPC. I don't know if it will ever be cycle-perfect, but I think I can get it pretty close. As to how you use it in MartyPC, I don't have base machine definitions with a V20, but what I am doing is maintaining a "compatible upgrade" list for each CPU type, and then you can specify # Upgrade the CPU of the system to an NECV20.
# Base machine type must have a compatible CPU (Intel 8088)
[[overlay]]
name = "cpu_v20"
[overlay.cpu]
upgrade_type = "NecV20" The CPU overlay will eventually be a good place to add fields to support overclocking and other interesting features. |
Beta Was this translation helpful? Give feedback.
-
A functional, native-mode only V20 is now available in the latest release. |
Beta Was this translation helpful? Give feedback.
-
NEC V20/V30 are kind of the most advanced pre-80286 CPUs:
There is also a variant with Z80 mode: NEC μPD9002 used in a PC-88 model.
Going into dual CPU options (most of them also not PC compatible):
Chips mentioned:
For me the most useful of those would be V20 and 8087 and the most interesting would be the NEC FPUs.
edit: added 8231/8085 links from here.
Beta Was this translation helpful? Give feedback.
All reactions