VOGONS


NEC V20 not compatible with my PC ?

Topic actions

First post, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Hello everyone,

I've got a Nixdorf 8810 M35 PC/XT class machine @ 4.77MHz.

You can see the specs here (site of another M35 user):

http://www.cpu-galaxy.at/complete_systems/Nix … ixdorf_8810.htm

Recently, I thought about upgrading it *just a little* with a NEC V20..
Not for speed, but rather for the 8080 emulation mode and the additional 186/286 instructions.

Unfortunately, it did not work. 😢

After I replaced the ceramic NEC D8088D with a NEC D70108HCZ-16,
the machine stopped working. HDD spun up, but no POST, not signs of life on the keyboard.

After re-installing the old 8088, it came back to life. Gratefully! Phew! 😅

Out of curiosity, I also installed my dad's 30 years old MBL8088-2 (8MHz) and
it worked flawlessly (I even ran some diagnostics/benchmark software).

What did I wrong ? I know, the 16MHz version of a NEC V20 isn't an ideal match,
but could it really cause such behavior ?

I always was assuming the MHZ rating was just describing the
maximum tolerance and should work with anything above the base frequency of 4MHz.

What could it be ? Perhaps the BIOS is/was not V20 compatible yet ?
The machine came out in ~85, a year after the V20.

I thought about the possibility of an unsupported i8086 instruction or behavior
that could make the V20 halt, but I can't check that myself.

So I'll attach a dump of the firmware for analysis.
Maybe someone else can have a quick look inside ?

Or maybe the chip is just a fake part anyway ?
But if the chip was indeed fake, wouldn't it have killed the machine ?

Has anyone any idea ?

Thanks in advance!

Best regards, Jo22

"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//

Reply 1 of 31, by SSTV2

User metadata
Rank Oldbie
Rank
Oldbie

Before doing stunts like that, invest some time in analyzing CPU datasheets.

*update: the V20 is a 16 bit CPU, but it's a reverse engineered i8088 and it is said to be compatible with XTs (you learn something new everyday), are you absolutely sure that the NEC CPU is alive? You could perform a NOP test to see if it is.

Reply 2 of 31, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Hi, thank you very much for your reply! 😀

I've read the datasheet and it describes the NEC D70108HCZ-16 as a high-speed/low-power version of the NEC V20.
It also says something about stand-by mode, clock stop function and CMOS static design. I don't really know what to make of it, though.

At least the static design reminds me of the AM386DX-40, which could be clocked at both low and high frequency
and still generated less heat than the intel 386DX-33.

I once bought the V20HL chip because it was the only type in reach and threads like this suggested a 16MHz could work:
http://www.brutman.com/forums/viewtopic.php?f=1&t=474

[..] are you absolutely sure that the NEC CPU is alive? You could perform a NOP test to see if it is.

Sadly, no. 🙁 How can I do that NOP test ?

"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//

Reply 3 of 31, by .legaCy

User metadata
Rank Oldbie
Rank
Oldbie
Jo22 wrote:
Hi, thank you very much for your reply! :) […]
Show full quote

Hi, thank you very much for your reply! 😀

I've read the datasheet and it describes the NEC D70108HCZ-16 as a high-speed/low-power version of the NEC V20.
It also says something about stand-by mode, clock stop function and CMOS static design. I don't really know what to make of it, though.

At least the static design reminds me of the AM386DX-40, which could be clocked at both low and high frequency
and still generated less heat than the intel 386DX-33.

I once bought the V20HL chip because it was the only type in reach and threads like this suggested a 16MHz could work:
http://www.brutman.com/forums/viewtopic.php?f=1&t=474

[..] are you absolutely sure that the NEC CPU is alive? You could perform a NOP test to see if it is.

Sadly, no. 🙁 How can I do that NOP test ?

Well NOP opcode is 0x90 so i would hardwire the data pins to be 0x90 and use a button with debouncing capacitor to be the "clock generator" btw the data pins should be set to input.
But i dont think this is the way to do a nop test.

Reply 5 of 31, by Jo22

User metadata
Rank l33t++
Rank
l33t++
.legaCy wrote:

Well NOP opcode is 0x90 so i would hardwire the data pins to be 0x90 and use a button with debouncing capacitor
to be the "clock generator" btw the data pins should be set to input. But i dont think this is the way to do a nop test.

Thanks for that information! Maybe I can find some schematic for an i8088 tester on the web, I'll check..
Trying to get that V20 to work inside of the actual XT *again* is almost like asking for trouble.
I'm still glad I didn't damage that old monstrosity by accident. ^_^

keropi wrote:

Maybe you should try a normal V20 version (no low power / high speed) ,
I have tested 10 and 12mhz V20s with various XT boards and all just worked.

Thanks for your reply! :) I would have bought the normal V20 right away, if it had been available at the time.
For some reason, the low-power (dual power, actually) versions were more common at eBay.
Btw, is there any serious place where I can buy a normal V20 (except eBay) ?
Some sort of electronics shop that sells NOS (new old stock) parts, maybe ?

"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//

Reply 6 of 31, by SSTV2

User metadata
Rank Oldbie
Rank
Oldbie
.legaCy wrote:

Well NOP opcode is 0x90 so i would hardwire the data pins to be 0x90 and use a button with debouncing capacitor to be the "clock generator" btw the data pins should be set to input.
But i dont think this is the way to do a nop test.

Basically, you need to pull up/down data pins accordingly, so that CPU would see a NOP (no operation) instruction, then it will increment PC (program counter) indefinitely and with each increment, according address pins will be activated (it will check every memory location just to find another NOP there). If you connected a LED to every adress pin, you'd see a binary up counter effect.

Now, you need to figure out how to set a NOP instruction for a V20, the minimum clock rate at which CPU still operates (if CPU operating freq. will be set too high, you won't be able see LEDs flashing) and some other nuances concerning control pins, like RESET.

This is how NOP test circuit looks like on a Z80 http://www.z80.info/z80test0.htm.

Reply 7 of 31, by keropi

User metadata
Rank l33t++
Rank
l33t++

how about this one?
http://www.ebay.co.uk/itm/D70108C-10-x86-Core … SYAAOSwOtdYS9FT
or these just in case you want spares?
http://www.ebay.co.uk/itm/4pcs-NEC-JAPAN-D701 … WQAAOSwT5tWLf6A

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 8 of 31, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Thanks a lot, keropi! 😀
So is it ok to assume that 5, 8 or 10MHz models are usually safe ?

SSTV2 wrote:

This is how NOP test circuit looks like on a Z80 http://www.z80.info/z80test0.htm.

Thanks for the link - I just bookmarked that page! My dad really loves z80s, too, btw. 😁

"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//

Reply 9 of 31, by keropi

User metadata
Rank l33t++
Rank
l33t++

^ well those models are from the 80s so I'd say they are safe and period correct for old motherboards. The new high-speed low-power models might require special support but these old ones don't so they are a way safer bet in my book.

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 10 of 31, by GPA

User metadata
Rank Newbie
Rank
Newbie
SSTV2 wrote:

This is how NOP test circuit looks like on a Z80 http://www.z80.info/z80test0.htm.

not so easy to do on a 8088/86 as data and address lines are multiplexed.

Reply 11 of 31, by BloodyCactus

User metadata
Rank Oldbie
Rank
Oldbie

I wouldnt even bother, the timing for the multiplexing is crazy.

--/\-[ Stu : Bloody Cactus :: [ https://bloodycactus.com :: http://kråketær.com ]-/\--

Reply 12 of 31, by SSTV2

User metadata
Rank Oldbie
Rank
Oldbie
GPA wrote:
SSTV2 wrote:

This is how NOP test circuit looks like on a Z80 http://www.z80.info/z80test0.htm.

not so easy to do on a 8088/86 as data and address lines are multiplexed.

Are you implying that CPU with multiplexed data/adress lines somehow gets confused when it needs to retrieve data from multiplexed lines? 😀

Reply 13 of 31, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Thanks everyone for the replies so far! 😀
Here's a quick update: My father got hold of an an old NEC V20, ceramic type (D70108D-8).
It's an 8MHz version, CMOS, the type of V20 that was also used in Turbo XTs.
Apart from this, it looks identical to the NEC 8088 that was in the machine originally.
..

This night, I found myself thinking that it would be a good idea installing the chip.
So I did.. Well, the good news is: The V20 works and the machine comes to life.
The bad news, is, however, that I got music. And a message.

PIT1 ERROR

The attachment pit1_v20.gif is no longer available

I suppose, the problem is somehow related to the Programmable Interrupt Timer.
But I don't know why. 😕 It's a mystery to me. Normally, someone should be safe to
assume that two chips so similar and from the same manufacturer should be compatible.
The contacts of both the V20 and the 8088 socket are clean and the chip is well fitted.

"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//

Reply 14 of 31, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Hi again, I've dissassembled the machine again and had a close look on the individual chips.

The Interval Timer seems to be an NEC D8253C-2.

Features
* Three independent 16-Bit counters
* Clock rate: DC to 5 MHz
* Binary count of BCD
* Single +5 V power supply, +- 10%

The datasheets describes the uPD8253C-2 (µPD8253C) as an 5MHz, 24pin plastic DIP type timer IC
for 8080 sytems (8080AF, 8085A). No 8086/88s or V20s are mentioned yet.

An 4MHz part (-5) is also available, according to that.

And detailed information I've got no clue about, too, of course
(I/0 capacitance in Picofarad, AC and DC characteristics)..

Last, but not least, it is described as an NMOS-based circuit here :
http://radio-hobby.org/uploads/datasheet/6/upd6/upd652c.pdf

(Hurray to these radio hobbyists and their old comparative tables! ^^)

I'm no PC/XT person, so I wonder is there anything unusual compared to an intel i8253 ?

"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//

Reply 15 of 31, by matze79

User metadata
Rank l33t
Rank
l33t

I'm pretty sure you should replace your BIOS.

Use the CT Bios.
http://www.tiffe.de/Robotron/misc/V20-Bios/

And *blink* it will boot and run with higher speed, and ct bios adds additional tweaks.

NEC V20 also can run 8080 Instructions so you can run CP/M 80 Programs (with 22nice)
And you get 80186 Compliant Instruction Set and you will also be able to run some more Software.

https://www.retrokits.de - blog, retro projects, hdd clicker, diy soundcards etc
https://www.retroianer.de - german retro computer board

Reply 16 of 31, by Jepael

User metadata
Rank Oldbie
Rank
Oldbie

Jo22, I think the BIOS tests the PIT chip by measuring how many timer ticks it takes to execute a certain piece of code, and you get the error if it is not within tolerance.

Most likely the V20 uses a different amount of clock cycles to execute that piece of code and thus the BIOS thinks PIT has a problem as it looks like it is running at wrong frequency.

Yes you'd need a BIOS that support V20 enough to know the PIT is not running at wrong frequency.

Reply 17 of 31, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Thank you both of you!
So it's among one of the things I had feared.

Changing the BIOS to a generic one could work, but it would also take away a bit of the personality of the machine.
Also, I'm not entirely sure if the machine is a faithful IBM clone. 😕

The page of the other user at the top of this thread says something about AT compatibility.
No idea what this means in particular.

The machine is quite strange in one or another way.
It contains some custom circuitry on the inside that looks like some sorts of black match boxes.
Also, the on-board CGA (HD46505D5SP) is a bit strange, too. For example, it can't display 8088MPH (black screen),
but things like CGADEMO and CGA dots.

Composite CGA is monochrome and 50Hz (?), but otherwise runs CGA titles just fine (also in composite mode).
On the bottom, there''s a trap door with jumpers - but I don't know if they are changing things "in hardware" or are read by the BIOS.

Perhaps I somewhen find outhow to patch the BIOS (JMP over the PIT test or changing the value for the cycles/ticks required).
Provided, that I can get the ROM image running in some kind of emulator first (it would be interesting to see how it does react to an 8MHz machine).

Unfortunately, PCem and 86Box both refuse to accept the M35 BIOS (16K instead of 8K),
if I transplant it into the Generic XT machine.

The attachment 86box.jpg is no longer available

Other ICs of the M35 system board are:
NEC D8259AC
NEC D765AC
NEC D8253C-2
NEC D8237AC-5
NEC D8255AC-2
NEC D8255AC-2
HD46505D5SP
M5M2364-112P
INS8250N-B
SLA5120F

Edit3: Typos fixed, links added.

"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//

Reply 18 of 31, by matze79

User metadata
Rank l33t
Rank
l33t

Hm i would really recommend you try the V20 Bios above 😀
Or maybe someone can help you remove the PIT Test...

https://www.retrokits.de - blog, retro projects, hdd clicker, diy soundcards etc
https://www.retroianer.de - german retro computer board

Reply 19 of 31, by carlostex

User metadata
Rank l33t
Rank
l33t

I recommend the following BIOS:

http://www.phatcode.net/downloads.php?id=101

Been using it in my XT, it includes a feature i suggested, as the F000h to FE00h are scanned for options ROMS. This allows not only to save more space in the UMB area but also to use the 27256 socket that exists in most generic XT clone motherboards as a ROM expansion. That socket is intended for ROM BASIC , but it is much better to use it as a no cost ROM expansion.