Reply 40 of 63, by igully
CPUDET is released as Public Domain. Binary only.
For usage enter CPUDET /?
CPUDET is released as Public Domain. Binary only.
For usage enter CPUDET /?
igully wrote on 2025-08-31, 19:08:For usage enter CPUDET /?
Yep, I remember I saw your name using the "/?" switch with CPUDET. FIrst thing to try on unknown DOS tool is /? switch - old DOS habits never die 😁 I think there was at least one more of your DOS tools included in the forbidden russian DOS compilation. I can't remember which one it was.
The word Idiot refers to a person with many ideas, especially stupid and harmful ideas.
This world goes south since everything's run by financiers and economists.
This isn't voice chat, yet some people overusing online communications talk and hear voices.
Jo22 wrote on 2025-08-31, 19:00:Also there is no possibility for proper 386 emulator of this type to be written for NEC V30/20 CPUs
Um,I wouldn't say this. It depends. It's certainly possible to emulate a different CPU on 8086/V30.
There are many CP/M emulators that emulate full Z80 instructions set on plain 8086, for example.
And that's why I wrote "emulator of this type" (like Emu386) 😉 If the full 386 emulator is written for V30/20, it will be sloooooooooow and useless.
Jo22 wrote on 2025-08-31, 19:00:The emulator could perhaps be implemented like an CP/M emulator, maybe. Or like MS-DOS Player.
Don't forget that V30/20 have all the 8080 instructions, so V2080 CPeMulator is like a switch to hardware 8080 CPU mode for direct CP/M code execution and this is why there's no delay. Yet it's useless thing, as there's no any precious CP/M software without DOS analogue.
The word Idiot refers to a person with many ideas, especially stupid and harmful ideas.
This world goes south since everything's run by financiers and economists.
This isn't voice chat, yet some people overusing online communications talk and hear voices.
analog_programmer wrote on 2025-08-31, 19:13:igully wrote on 2025-08-31, 19:08:For usage enter CPUDET /?
Yep, I remember I saw your name using the "/?" switch with CPUDET. FIrst thing to try on unknown DOS tool is /? switch - old DOS habits never die 😁 I think there was at least one more of your DOS tools included in the forbidden russian DOS compilation. I can't remember which one it was.
I often cry out loud when I come across many of those DOS programs that require a Unix style switch like "-?" or "-h" to query on their usage. It seems for them that Unix habits never die.
@analog_programmer’s roger. It's not my fault, though.
Edit: To my understanding, not all CP/M emulators used i8080 emulation mode (NICE22 Edit: 22NICE did?).
Which by the way, worked via register renaming/remapping to use the equivalent 8080 instructions that the i8086 architecture had built upon.
CP/M emulators such as Z80MU used full Z80 emulation in software (plus emulated BIOS, CRT/TTY device and CP/M 2.2 functions), by mid-80s.
They were pre-runners to MS-DOS Players, so to say.
Z80 register compatibility was notably required for Turbo Pascal 3 and its compiled programs. Speaking under correction.
"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel
//My video channel//
Jo22 wrote on 2025-08-31, 19:00:@mkarcher Thank you very much for your help, kudos to you. […]
@mkarcher Thank you very much for your help, kudos to you.
Also there is no possibility for proper 386 emulator of this type to be written for NEC V30/20 CPUs
Um,I wouldn't say this. It depends. It's certainly possible to emulate a different CPU on 8086/V30.
There are many CP/M emulators that emulate full Z80 instructions set on plain 8086, for example.
Of course. If I remember correctly, we also had the ARM-on-AVR emulator booting Linux already mentioned in this thread. So yeah, it depends on how you interpret "of this type". I would read this "of this type" to mean "emulating a 386 by executing the code natively on the CPU and catching all 386 instructions by handling the 'invalid opcode' exception". If that's the interpretation of "of this type", the summary by analog_programmer is true.
Jo22 wrote on 2025-08-31, 19:00:That would be needed is an emulated CPU core that basically emulates 8086 instructions one by one using native 8086 instructions,
but also goes extra steps at emulating 80386 instructions.
Exactly. I would call this a different type of emulator, and I actually happen to have written one emulator of this kind myself, but it is buggy and incomplete. That emulator is supposed to run a limited subset of 286 real mode programs on an 8086. I only did this as a side project, and at some point I decided to pick up a cheap V20 off ebay, so there was not much motivation to continue it. Nevertheless, that one could be used as base for a 386 emulator on V20, if anyone is inclined to write one. See https://github.com/karcherm/xtize .
Jo22 wrote on 2025-08-31, 19:00:Or like MS-DOS Player.
You'd run your 386 program as a parameter (386em appname.exe).
And that's the reason for the name of my project: You run "xtize 286prg" to make the program XT-compatible, the program gets "XT-ized".
analog_programmer wrote on 2025-08-31, 19:18:Don't forget that V30/20 have all the 8080 instructions, so V2080 CPeMulator is like a switch to hardware 8080 CPU mode for direct CP/M code execution and this is why there's no delay. Yet it's useless thing, as there's no any precious CP/M software without DOS analogue.
Nevertheless, an emulator like this already exists. I've seen a YouTube video about a V20 upgraded PC that also showed this emulator. It took a CP/M program file and generated a DOS COM file. It had different modes: An interpreted mode and a V20 hardware assisted mode.
igully wrote on 2025-08-31, 19:21:I often cry out loud when I come across many of those DOS programs that require a Unix style switch like "-?" or "-h" to query on their usage. It seems for them that Unix habits never die.
Yeah, being a mainly *nix user for more than a decade, I still don't like "-" command line switch prefixes in DOS software. The correct DOS thing is "/" 😀
Jo22 wrote on 2025-08-31, 19:22:@analog_programmer’s roger. It's not my fault, though.
I didn't get this. I don't blame you for any faults. Except maybe for you've promised to check something for me and since then more than a month passed 😀 Anyway, I solved the issue with help from another forum member.
mkarcher wrote on 2025-08-31, 19:34:Nevertheless, an emulator like this already exists. I've seen a YouTube video about a V20 upgraded PC that also showed this emulator. It took a CP/M program file and generated a DOS COM file. It had different modes: An interpreted mode and a V20 hardware assisted mode.
Yes, it's called "V2080 CPeMulator", it's freeware and I have something like version "V2080-3" from 1988. There's a paid x86 version "8086 CPeMulator", which I don't have. And perhaps you've seen the paid version on YT - probably it has an option to generate DOS compatible code from CP/M com-executable (no, the thing in the video is a completely different thing - kind of a executable format convertor). The freeware V30/20 version just switches the NEC's CPU to native 8080 mode and executes the CP/M 8080 .com instructions directly - there's also YT video for this version on V20 CPU.
And there's also a DOS "Z80 CPeMulator" emulating Zilog Z80 CPU from the same developer, but it's full CPU emulator and can be used with any x86 compatible CPU.
P.S. Now I remember some interesting info from the local forum about these NEC V30/20 CPUs. Actually their native mode is the one for 8080 CPU and the PC-XT BIOS left them in x86 real mode, so in order to execute 8080 CP/M code natively there's a constant switching from x86 to 8080 and back to x86 mode due to BIOS x86 interrupt handling. And this happens when V2080 CPeMulator is used. Also the PC-XT BIOS is the reason for lack of option for XT with NEC V30/20 CPU to boot CP/M for 8080 - V20/30 CPU will need a different BIOS for this task and I don't know, if such a BIOS ever existed.
The word Idiot refers to a person with many ideas, especially stupid and harmful ideas.
This world goes south since everything's run by financiers and economists.
This isn't voice chat, yet some people overusing online communications talk and hear voices.
^ i8080 emulation on 6502 (running Zork @ usable speed): https://www.youtube.com/watch?v=oHrtUj0fEk0
CP/M-80 on PC/XT, i8080 emulation mode vs emu Z80 core etc: https://www.youtube.com/watch?v=RVjVQ_L11Vc
"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel
//My video channel//
And this is YT video for V20 running CP/M code natively by using "V2080 CPeMulator" in DOS: https://www.youtube.com/watch?v=FU1wAExDy4U There's also comparison to x86 "Z80 CPeMulator" emulator for DOS.
The word Idiot refers to a person with many ideas, especially stupid and harmful ideas.
This world goes south since everything's run by financiers and economists.
This isn't voice chat, yet some people overusing online communications talk and hear voices.
Jo22 wrote on 2025-08-31, 20:01:CP/M-80 on PC/XT, i8080 emulation mode vs emu Z80 core etc: https://www.youtube.com/watch?v=RVjVQ_L11Vc
Thanks for the link. This is the video I was thinking about
^You're welcome. xtize looks very promising, btw. As-is it's more than just a start for an 286/386 emulator, I'd say. Thank you.
@analog_programmer’s Thanks. It seems to run MBASIC, which later was known as BASIC-80.
Just like original Digital Research, this interpreter runs on plain i8080 instructions and works on 8085 CPU cards, too.
Edit: There's also a compiler version of Microsoft BASIC, by the way.
At the time, by 1977, there had been i8080 systems such as Altair 8800 or IMSAI 8080 (known from War Games) or the lesser known Heathkit H8, Sol 20..
Other systems such as the NorthStar Horizon or Cromemco Z-2 (or C3) had an Z80A, by contrast.
In order to get Z80 compatibility on existing systems, some users switched to the lesser known NSC800.
It had 8085 pinout and Z80 instructions set. As far as I know. Edited a few times, sorry about that.
"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel
//My video channel//
analog_programmer wrote on 2025-08-31, 19:47:mkarcher wrote on 2025-08-31, 19:34:Nevertheless, an emulator like this already exists. I've seen a YouTube video about a V20 upgraded PC that also showed this emulator. It took a CP/M program file and generated a DOS COM file. It had different modes: An interpreted mode and a V20 hardware assisted mode.
Yes, it's called "V2080 CPeMulator", it's freeware and I have something like version "V2080-3" from 1988. There's a payed x86 version "8086 CPeMulator" (which I don't have) and perhaps you've seen it on YT - probably it has an option to generate DOS compatible code from CP/M com-executable. The freeware V30/20 version just switches the NEC's CPU to native 8080 mode and executes the CP/M com instructions directly - there's also YT video for this version on V20 CPU.
So, obviously there are at least two CPM 8080 environments for the IBM PC upgraded with an V20: The V20-80 CPeMulator you mention, and 22NICE in the YouTube video I already had seen, which Jo22 linked.
igully wrote on 2025-08-31, 19:08:CPUDET is released as Public Domain. Binary only.
For usage enter CPUDET /?
Well... I asked about if you haVE any personal site/page with all of your free DOS tools available for download, not if the CPUDET haS any "help screen" (which I know it has) 😀 Sometimes I don't get what misunderstanig happened in older posts 'til I read them again 🤣
mkarcher wrote on 2025-08-31, 20:57:So, obviously there are at least two CPM 8080 environments for the IBM PC upgraded with an V20: The V20-80 CPeMulator you mention, and 22NICE in the YouTube video I already had seen, which Jo22 linked.
Yep, at least there are these two. And now I'll this "22NICE" in action for the first time from the Jo22's YT-link.
P.S. Hmmm, seems like there is no 22NICE thing show in the second YT-video, but some kind of homebrew convertor for 8080 CP/M com to x86 DOS executable.
The word Idiot refers to a person with many ideas, especially stupid and harmful ideas.
This world goes south since everything's run by financiers and economists.
This isn't voice chat, yet some people overusing online communications talk and hear voices.
^I think I'm not quailifed to give an satisfying answer, so I'll just add the readme.
In a nutshell, I think, GENCOM attachs a loader to the CP/M binary. Which then loads 22NICE as needed.
Good night, everyone. Time for bed. 🥱😴
"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel
//My video channel//
Wasn't there some assembler that translated 8080 assembly source into 8086/88 executable?
That would be yet another way to quickly port 8-bit CP/M software to IBM PC...
Nie rzucim ziemi, skąd nasz root!
analog_programmer wrote on 2025-08-31, 21:59:P.S. Hmmm, seems like there is no 22NICE thing show in the second YT-video, but some kind of homebrew convertor for 8080 CP/M com to x86 DOS executable.
Did we misunderstand each other? https://youtu.be/RVjVQ_L11Vc?t=712 (link includes a timestamp) clearly shows a program called 22NICE. This tool is not homebrew, but shareware created by the company sydex. You can find it for example at https://www.cpm80.com/ .
mkarcher wrote on Yesterday, 05:51:Did we misunderstand each other? https://youtu.be/RVjVQ_L11Vc?t=712 (link includes a timestamp) clearly shows a program called 22NICE. This tool is not homebrew, but shareware created by the company sydex. You can find it for example at https://www.cpm80.com/ .
It was late and I was half asleep, so skipping parts of this video I definitely missed the part with 22NICE thing. Thanks for the pointy link, I'll watch it again later.
The word Idiot refers to a person with many ideas, especially stupid and harmful ideas.
This world goes south since everything's run by financiers and economists.
This isn't voice chat, yet some people overusing online communications talk and hear voices.
And finally a quick patch for CPU checks bypass (I've declared to not comment bytecode in hex values, but nothing about the decimals 😜 5to36@10439) + "main issue" patch (my variant 232to195@10534) gave me this:
Someone give me the name of a light DOS software with 386 instructions to test if it will work on this 386 emulation in the emulated 80186.
I found some "Dos-J Plus" driver (requires 386 CPU) from Jo22 post here
The word Idiot refers to a person with many ideas, especially stupid and harmful ideas.
This world goes south since everything's run by financiers and economists.
This isn't voice chat, yet some people overusing online communications talk and hear voices.
I'm not sure that this confirms 100% the Emu386 can turn a 80186 into a real mode 80386, but managed to run "Dos-J Plus" driver (requires 386 CPU) from this Jo22's post in DOSXbox-X with emulated 80186 + loaded Emu386 (well, the J-thing complains for no XMS memory, but at least it doesn't hang as it does on 286 or 186 without 386 emulation):
I think this gives some hope, that EMU386S.EXE will be usable on a real 186 hardware. I'm still very disappointed from NEC's V30/20 "gems" with their missing INT6.
I don't know if it is worth to make a patch for proper 186+286 CPUs detection in Emu386 as I don't know someone who has XT-class machine with the weird 80186 CPU. Maybe I'll try something just for fun in DOSBox-X emulator.
P.S. igully's CPUDET.EXE reports it was running on 80188 while the emulation is for 80186 - maybe some minor bug. Jan's CHKCPU.EXE gives proper report for 80186.
The word Idiot refers to a person with many ideas, especially stupid and harmful ideas.
This world goes south since everything's run by financiers and economists.
This isn't voice chat, yet some people overusing online communications talk and hear voices.