RetroBrew Computers Forum
Discussion forum for the RetroBrew Computers community.

Home » RBC Forums » General Discussion » New board: V20-MBC, an easy to build V20 SBC (and a prototype on breadboard) (V20HL CPU (uPD70108H) or 80C88 CPU @ 4/8MHz, CP/M-80 and CP/M-86, 128/512/1024KB RAM, I2C, Serial, ISP, User led and key, optional RTC and microSD, optional 16x GPIO port)
New board: V20-MBC, an easy to build V20 SBC (and a prototype on breadboard) [message #6936] Sun, 19 January 2020 01:21 Go to next message
just4fun is currently offline  just4fun
Messages: 178
Registered: May 2017
Location: Dark side of the Moon
Senior Member
I've just finished the first draft of the schematic for an experimental test based on a V20 CPU.
The objective is to make an easy to build board V20 based, using a MCU to virtualize all the I/O chips as I've done with the Z80-MBC2.
The V20 is the CMOS full static version uPD70108H, so the minimum clock can be DC.

https://live.staticflickr.com/65535/32680355387_571e4d75a2_c.jpg

https://i.postimg.cc/ydkhYXSL/20200119-094500.jpg

Currently I'm assembling the circuit on a breadboard, using as MCU a STM32F030R8 with a custom board (ARMando) that I've done to play with old CPU like this one (but the final board will probably use an Atmega32 MCU).
ARMando can be directly inserted into 830 points breadboards (supported from 1 to 4 breadboards with direct insertion):

https://i.postimg.cc/14TKGdDg/1432371576412327541.jpg

https://i.postimg.cc/jw6wmj3F/20191215-112206b.jpg

Video using three breadboards here: https://www.youtube.com/watch?v=v_FUc8-PeMM

I'll post updates here...





[Updated on: Fri, 05 June 2020 02:48]

Report message to a moderator

Re: Starting V20 CPU on breadboard. [message #6940 is a reply to message #6936] Mon, 20 January 2020 03:55 Go to previous messageGo to next message
gbm is currently offline  gbm
Messages: 27
Registered: January 2018
Junior Member
Please look up my topic on SDC_One.
https://www.retrobrewcomputers.org/forum/index.php?t=msg& ;goto=4206&#msg_4206
I have a 8086/8088/V20/V30 PCB for SDC_One but no time to write the firmware. If you are interested in putting the V20 on top of a Nucleo64, I may send you an empty board with schematic, so you could avoid all the wiring troubles.
Re: Starting V20 CPU on breadboard. [message #6943 is a reply to message #6940] Mon, 20 January 2020 11:16 Go to previous messageGo to next message
just4fun is currently offline  just4fun
Messages: 178
Registered: May 2017
Location: Dark side of the Moon
Senior Member
gbm wrote on Mon, 20 January 2020 12:55
Please look up my topic on SDC_One...
Hi gmb,
I've seen your topic and it is very interesting.

What I'd like to do is a little board that runs at "normal" speed (i.e 4/8MHz) with 1MByte RAM (all the address space) where the "companion" MCU do all the I/O stuff.
The breadboard is only for the first phase to check the boot sequence and the I/O "handshaking" between the V20 and the MCU (and others details), so using a breadboard (that is almost wired now) is needed to do "experiments".

In the final design I've the intention to use an Atmega32 as MCU (because I want use only THP parts in the final board), so the STM32 is only for the first step.

Anyway thanks you for your kind offer.

Fabio

[Updated on: Mon, 20 January 2020 11:22]

Report message to a moderator

Re: Starting V20 CPU on breadboard. [message #7013 is a reply to message #6943] Mon, 03 February 2020 10:37 Go to previous messageGo to next message
just4fun is currently offline  just4fun
Messages: 178
Registered: May 2017
Location: Dark side of the Moon
Senior Member
Starting to do first experiments (small scale) and seeing interesting things...

/forum/index.php?t=getfile&id=1625&private=0

It seems that the V20H (uPD70108H) CPU needs 8 clock pulses from the RESET signal de-asserted up to fetch the first instruction (T1 of the first instruction fetch, when the ASTB = ALE latch signal does a 1 -> 0 transition):

V20 on breadboard - A090120
IOS - I/O Subsystem (STM32F030R8) - S010220


 * RESET Done * 
i = 0 HLDAK = 0
ASTB = 0 IOM_ = 1 RD_ = 1 WR_ = 1
A4 = 1 A3 = 0 A2 = 0 A1 = 0 A0 = 1
D7 = 1 D6 = 1 D5 = 1 D4 = 1 D3 = 0 D2 = 0 D1 = 0 D0 = 1

i = 1 HLDAK = 0
ASTB = 0 IOM_ = 1 RD_ = 1 WR_ = 1
A4 = 1 A3 = 0 A2 = 0 A1 = 0 A0 = 1
D7 = 1 D6 = 1 D5 = 1 D4 = 1 D3 = 0 D2 = 0 D1 = 0 D0 = 1

i = 2 HLDAK = 0
ASTB = 0 IOM_ = 1 RD_ = 1 WR_ = 1
A4 = 1 A3 = 0 A2 = 0 A1 = 0 A0 = 1
D7 = 1 D6 = 1 D5 = 1 D4 = 1 D3 = 0 D2 = 0 D1 = 0 D0 = 1

i = 3 HLDAK = 0
ASTB = 0 IOM_ = 1 RD_ = 1 WR_ = 1
A4 = 1 A3 = 0 A2 = 0 A1 = 0 A0 = 1
D7 = 1 D6 = 1 D5 = 1 D4 = 1 D3 = 0 D2 = 0 D1 = 0 D0 = 1

i = 4 HLDAK = 0
ASTB = 0 IOM_ = 1 RD_ = 1 WR_ = 1
A4 = 1 A3 = 0 A2 = 0 A1 = 0 A0 = 1
D7 = 1 D6 = 1 D5 = 1 D4 = 1 D3 = 0 D2 = 0 D1 = 0 D0 = 1

i = 5 HLDAK = 0
ASTB = 0 IOM_ = 1 RD_ = 1 WR_ = 1
A4 = 1 A3 = 0 A2 = 0 A1 = 0 A0 = 1
D7 = 1 D6 = 1 D5 = 1 D4 = 1 D3 = 0 D2 = 0 D1 = 0 D0 = 1

i = 6 HLDAK = 0
ASTB = 0 IOM_ = 1 RD_ = 1 WR_ = 1
A4 = 1 A3 = 0 A2 = 0 A1 = 0 A0 = 1
D7 = 1 D6 = 1 D5 = 1 D4 = 1 D3 = 0 D2 = 0 D1 = 0 D0 = 1

i = 7 HLDAK = 0
ASTB = 0 IOM_ = 1 RD_ = 1 WR_ = 1
A4 = 1 A3 = 0 A2 = 0 A1 = 0 A0 = 1
D7 = 1 D6 = 1 D5 = 1 D4 = 1 D3 = 0 D2 = 0 D1 = 0 D0 = 1

i = 8 HLDAK = 0
ASTB = 1 IOM_ = 0 RD_ = 1 WR_ = 1
A4 = 1 A3 = 0 A2 = 0 A1 = 0 A0 = 0
D7 = 1 D6 = 1 D5 = 1 D4 = 1 D3 = 0 D2 = 0 D1 = 0 D0 = 0

i = 9 HLDAK = 0
ASTB = 0 IOM_ = 0 RD_ = 0 WR_ = 1
A4 = 1 A3 = 0 A2 = 0 A1 = 0 A0 = 0
D7 = 1 D6 = 1 D5 = 1 D4 = 1 D3 = 0 D2 = 0 D1 = 0 D0 = 0
 

i = 9 is the T1 bus state of the first fetched instruction.

This is not reported in any document I've read. May be it executes a couple of NOP before first real instruction is fetched to allow an early HLDRQ to be served before first instruction (as stated in the datasheet).

An other interesting thing is the effect of the "hold" circuit in every 3-stated pin. If you leave the bus disconnected, reset and start sending clock pulses, after fetching the address FFFFF4 the CPU goes in HALT state because it reads F4 that is the HALT instruction as side effect of the holding circuitry on the multiplexed AD0-AD7 data bus...

[Updated on: Mon, 03 February 2020 10:41]

Report message to a moderator

Re: Starting V20 CPU on breadboard. [message #7033 is a reply to message #7013] Wed, 05 February 2020 01:01 Go to previous messageGo to next message
just4fun is currently offline  just4fun
Messages: 178
Registered: May 2017
Location: Dark side of the Moon
Senior Member
UPDATE: The 8 clock pulses needed after RESET goes LOW are described in the original 8088 datasheet at page 11 (see attachment):

... The low-going transition of RESET triggers an internal reset sequence for approximately 7 clock cycles. 
After this interval the 8088 operates normally, beginning with the instruction in absolute locations FFFF0H
Re: Starting V20 CPU on breadboard. [message #7116 is a reply to message #7033] Wed, 19 February 2020 12:11 Go to previous messageGo to next message
just4fun is currently offline  just4fun
Messages: 178
Registered: May 2017
Location: Dark side of the Moon
Senior Member
I've done some HW changes and added an "I/O" led:

/forum/index.php?t=getfile&id=1658&private=0

Now it is possible boot directly from a binary file on a microSD end execute it with the V20 CPU running at 8MHz.
Here the classic "Hello world" test:

/forum/index.php?t=getfile&id=1659&private=0

I'm using now the NASM assembler:

;
; Test HelloWord - HW ref: A090120 (V20 on breadboard)
;
; REQUIRED: IOS S010220 DEVEL_16 (STM32F030R8)
;
; Assemble with "nasm -f bin  filename.asm -o filename.bin"
;
    [map mapFile.txt]   ; Set output map file
    CPU     8086        ; Set 8086/8088 opcodes only
    BITS    16          ; Set default 16 bit

eos         equ     0x00    ; End of string
   
; IOS equates
EXC_WR_OPCD equ    0x00      ; Address of the EXECUTE WRITE OPCODE write port
EXC_RD_OPCD equ    0x00      ; Address of the EXECUTE READ OPCODE read port
STO_OPCD    equ    0x01      ; Address of the STORE OPCODE write port
SERIAL_RX   equ    0x01      ; Address of the SERIAL RX read port
SYSFLAGS    equ    0x02      ; Address of the SYSFLAGS read port
SERTX_OPC   equ    0x01      ; SERIAL TX opcode

    org  0
    ;
    ; Init
    ;
    mov     ax, cs          ; DS = SS = CS
    mov     ds, ax
    mov     ss, ax
    mov     sp, stack       ; Set the stack
    ;
    ; Print a message and halt
    ;
    mov     bx, msg
    call    puts
halt:
    hlt
    jmp     halt
   
; =========================================================================== ;
;
; Send a string to the serial line, BX contains the pointer to the string.
; NOTE: Only AL and BX are used
;
; =========================================================================== ;
puts:
    mov     al, [bx]        ; AL = current char to print
    cmp     al, eos         ; End of string reached?
    jz      puts_end        ; Yes, jump
    mov     al, SERTX_OPC   ; AL = SERIAL TX opcode
    out     STO_OPCD, al    ; Write the opcode
    mov     al, [bx]        ; AL = current char to print
    out     EXC_WR_OPCD, al ; Print AL
    inc     bx              ; Increment character pointer
    jmp     puts            ; Transmit next character
   
puts_end:
    ret
   
   
msg     db  'Hello, World!', 0x0d, 0x0a, eos    ; 0x00 is the message terminator
        times   0x100   db  0;
stack:

Now more tests but it's probably time to start thinking at the final PCB version... Smile

[Updated on: Wed, 19 February 2020 12:26]

Report message to a moderator

Re: Starting V20 CPU on breadboard. [message #7122 is a reply to message #7116] Sat, 22 February 2020 03:59 Go to previous messageGo to next message
just4fun is currently offline  just4fun
Messages: 178
Registered: May 2017
Location: Dark side of the Moon
Senior Member
Little step ahead...
I've "manually ported" the iLoad loader from the Z80 assembler to 8086/8088, so now I've a decent toolchain to assemble, upload (with the serial port) and execute with one command (using TeraTerm):

/forum/index.php?t=getfile&id=1663&private=0

The limit of iLoad is that only a "flat file" can be used (so all the code and data inside a single 64KB segment), but it is more than enough for now.

This little system starts to be usable...

[Updated on: Tue, 03 March 2020 00:28]

Report message to a moderator

Re: Starting V20 CPU on breadboard. [message #7172 is a reply to message #7122] Thu, 05 March 2020 10:11 Go to previous messageGo to next message
just4fun is currently offline  just4fun
Messages: 178
Registered: May 2017
Location: Dark side of the Moon
Senior Member
Just to test the 8080 mode of this CPU, I've "ported" the Altair Basic (8KB version).
I've done a new version of iLoad, called iLoad-80, to load a Intel-Hex 8080 executable.
After the load phase iLoad-80 switches the V20 CPU into 8080 mode and jumps to the 8080 code.

/forum/index.php?t=getfile&id=1670&private=0

Here a short video: https://www.youtube.com/watch?v=yM8VKNeYMu8&feature=yout u.be

[Updated on: Thu, 05 March 2020 10:18]

Report message to a moderator

Re: Starting V20 CPU on breadboard. [message #7188 is a reply to message #7172] Fri, 06 March 2020 05:16 Go to previous messageGo to next message
just4fun is currently offline  just4fun
Messages: 178
Registered: May 2017
Location: Dark side of the Moon
Senior Member
...and IMSAI 8KB Basic too... Smile

/forum/index.php?t=getfile&id=1676&private=0
Re: Starting V20 CPU on breadboard. [message #7198 is a reply to message #7188] Sat, 07 March 2020 03:11 Go to previous messageGo to next message
just4fun is currently offline  just4fun
Messages: 178
Registered: May 2017
Location: Dark side of the Moon
Senior Member
I must to admit that I'm having a lot of fun with this V20 on breadboard (distracting me to design the "final" board...).

So I couldn't resist to try the MON85 monitor from here.

I've done a change to the bin -> ASCII routine because it seems not to work on the V20 CPU in 8080 mode.
Here the change:

;
; Display A in hexidecimal
;
HPR:    PUSH    PSW     ; Save low digit
    RRC         ; Shift
    RRC         ; high
    RRC         ; digit
    RRC         ; into low
    CALL    HOUT        ; Display a single digit
    POP PSW     ; Restore low digit
HOUT:   ANI 0Fh     ; Remove high digit
    ;CPI 10      ; Convert to ASCII
    ;SBI 2Fh
    ;DAA
	daa
	cpi 10
	cmc
	aci 48
    JMP OUT     ; And output it

It is a great monitor!!

/forum/index.php?t=getfile&id=1677&private=0

/forum/index.php?t=getfile&id=1678&private=0

/forum/index.php?t=getfile&id=1679&private=0
  • Attachment: Mon85_0.JPG
    (Size: 139.21KB, Downloaded 1247 times)
  • Attachment: Mon85_1.JPG
    (Size: 102.68KB, Downloaded 1244 times)
  • Attachment: Mon85_2.JPG
    (Size: 78.09KB, Downloaded 1240 times)

[Updated on: Sat, 07 March 2020 03:15]

Report message to a moderator

Re: Starting V20 CPU on breadboard. [message #7222 is a reply to message #7198] Wed, 11 March 2020 10:32 Go to previous messageGo to next message
just4fun is currently offline  just4fun
Messages: 178
Registered: May 2017
Location: Dark side of the Moon
Senior Member
I've just finished the first draft of the "final" board schematic (see the the draft pdf).
Here I've used an Atmega32 as MCU (so only THP parts).

Here the main specs:

- V20HL CPU(uPD70108HCZ)
- RAM can be configured with 128/512/1024KB;
- optional RTC and microSD modules (the same used in the Z80-MBC2);
- optional 16x GPIO port;
- I2C expansion port;
- serial port;
- ISP connector (for the Atmega32);
- clock can be configured at 4/8MHz.

It should work with a 80C88 too (of course loosing the 8080 mode).

BTW: In the 80C88 datasheet there is an uncommon bypass cap between two GND pin:

/forum/index.php?t=getfile&id=1682&private=0

If anyone has more info about this please tell me (in the uPD70108H datasheet there is no mention of this cap).

[Updated on: Wed, 11 March 2020 11:41]

Report message to a moderator

Re: Starting V20 CPU on breadboard. [message #7223 is a reply to message #7222] Thu, 12 March 2020 11:19 Go to previous messageGo to next message
cmacarthur is currently offline  cmacarthur
Messages: 13
Registered: April 2018
Junior Member
Hello,
I have not worked with a v20 in a few years...
I went back to some old to some old paper schematics and there is only a 0.1µF capacitor between pins 20 and 40.
I think that the "A 0.1µF capacitor between pins 1 and 20 is recommended for decoupling." is a typo....

FYI
As I still have a few v20 and all of the other chips in your schematic, I would LOVE to play with this...

THX
CM
cm@cm.ca
Re: Starting V20 CPU on breadboard. [message #7224 is a reply to message #7223] Fri, 13 March 2020 04:43 Go to previous messageGo to next message
just4fun is currently offline  just4fun
Messages: 178
Registered: May 2017
Location: Dark side of the Moon
Senior Member
Hi,
I don't think that is a typo...

If you see Fig. 3 in the datasheet it is clearly reported in the schematic:


/forum/index.php?t=getfile&id=1685&private=0


Take in consideration that * only * the CMOS version 80C88 has this cap.

If you have got some V20 chips, you can use here only the full static version V20HL = uPD70108H (the "H" makes the differences...)

"Normal" versions will not work (very likely) here...

I've attached here the uPD70108H (aka V20HL) datasheet.
Re: Starting V20 CPU on breadboard. [message #7225 is a reply to message #7224] Fri, 13 March 2020 10:18 Go to previous messageGo to next message
cmacarthur is currently offline  cmacarthur
Messages: 13
Registered: April 2018
Junior Member
Hello,
I checked the 8086-8088 parts box...
QTY 1 uPD70108D-8
QTY 5 uPD70108C-10
QTY 5 uPD70108HCZ-16

QTY 1 P8088 (INTEL)
QTY 3 D8088 (INTEL CERAMIC)
QTY 3 D8088 (AMD CERAMIC)
QTY 8 uPD8088D-2
QTY 37 MBL8088-2

QTY 1 D8086-2 (INTEL CERAMIC)
QTY 2 D8086-2 (AMD CERAMIC)

QTY 5 uPD71084C-10
QTY 2 MD8284A-1

Do you think the uPD70108HCZ-16 will work ?

THX
CM
Re: Starting V20 CPU on breadboard. [message #7226 is a reply to message #7225] Fri, 13 March 2020 10:58 Go to previous messageGo to next message
just4fun is currently offline  just4fun
Messages: 178
Registered: May 2017
Location: Dark side of the Moon
Senior Member
cmacarthur wrote on Fri, 13 March 2020 18:18
Hello,
Do you think the uPD70108HCZ-16 will work ?

For sure! Cool

See the photo in the first post...
Re: Starting V20 CPU on breadboard. [message #7233 is a reply to message #7226] Fri, 13 March 2020 21:53 Go to previous messageGo to next message
cmacarthur is currently offline  cmacarthur
Messages: 13
Registered: April 2018
Junior Member
Hello,
I know you are looking at using a "Atmega32 as MCU (because I want use only THP parts in the final board)"
BUT have you considered using something like a "Blue Pill" STM32F103C8T6 board that fits in a socket on your v20 PCB.

It would give you all of the performance of the STM32 you are currently using and a small footprint on the final PCB...
Just a thought...
CM
Re: Starting V20 CPU on breadboard. [message #7234 is a reply to message #7233] Sat, 14 March 2020 07:19 Go to previous messageGo to next message
just4fun is currently offline  just4fun
Messages: 178
Registered: May 2017
Location: Dark side of the Moon
Senior Member
Hmmm... I think that an Atmega32 is enough... it must do very similar tasks as in the Z80-MBC2.
A STM32F030R8 is an overkill, and a STM32F103C8T6 even more, and IMHO a Blue Pill footprint is not less than a DIP40 after all...

BTW: just started the PCB design... I'll try to make it compatible with the uTerm and uCom boards...
Re: Starting V20 CPU on breadboard. [message #7235 is a reply to message #7234] Sat, 14 March 2020 10:14 Go to previous messageGo to next message
just4fun is currently offline  just4fun
Messages: 178
Registered: May 2017
Location: Dark side of the Moon
Senior Member
Here a first attempt to do a placement without routing (only ratnest), just to have raw idea...

/forum/index.php?t=getfile&id=1687&private=0

  • Attachment: A250220.jpg
    (Size: 196.44KB, Downloaded 1108 times)

[Updated on: Sat, 14 March 2020 10:15]

Report message to a moderator

Re: Starting V20 CPU on breadboard. [message #7237 is a reply to message #7235] Sat, 14 March 2020 13:47 Go to previous messageGo to next message
cmacarthur is currently offline  cmacarthur
Messages: 13
Registered: April 2018
Junior Member
Looks GREAT...

CM
Re: Starting V20 CPU on breadboard. [message #7287 is a reply to message #7237] Wed, 18 March 2020 08:10 Go to previous messageGo to next message
just4fun is currently offline  just4fun
Messages: 178
Registered: May 2017
Location: Dark side of the Moon
Senior Member
The PCB routing is complete. Now some refinements and checks:

/forum/index.php?t=getfile&id=1693&private=0

/forum/index.php?t=getfile&id=1694&private=0
Re: Starting V20 CPU on breadboard. [message #7293 is a reply to message #7287] Wed, 18 March 2020 11:45 Go to previous messageGo to next message
cmacarthur is currently offline  cmacarthur
Messages: 13
Registered: April 2018
Junior Member
Looks like you are having "WAY to much FUN"!
and the Board looks GREAT!
CM
Re: Starting V20 CPU on breadboard. [message #7296 is a reply to message #6936] Wed, 18 March 2020 12:06 Go to previous messageGo to next message
ab0tj is currently offline  ab0tj
Messages: 70
Registered: October 2015
Location: Colorado
Member
If you have extra boards when you get some fabbed, I'd love to acquire one from you.
Re: Starting V20 CPU on breadboard. [message #7298 is a reply to message #7296] Fri, 20 March 2020 05:22 Go to previous messageGo to next message
just4fun is currently offline  just4fun
Messages: 178
Registered: May 2017
Location: Dark side of the Moon
Senior Member
ab0tj wrote on Wed, 18 March 2020 20:06
If you have extra boards when you get some fabbed, I'd love to acquire one from you.

Hi, if you live outside EU I think that it's probably more convenient for you order a small batch directly.

More, as my country is currently "locked down" and this situation will continue for a while, it isn't a good idea to go at a post office (if you can find one open) these days... Sad

Here the final aspect of the board:


/forum/index.php?t=getfile&id=1696&private=0

I'll publish all the details as usual after some testing (hoping to be able to get the packet).
Re: Starting V20 CPU on breadboard. [message #7301 is a reply to message #7298] Fri, 20 March 2020 18:33 Go to previous messageGo to next message
rvumbaca is currently offline  rvumbaca
Messages: 17
Registered: September 2018
Junior Member
Hi just4fun,

Just a warning that the chip markings on your V20 CPUs in your first post are consistent with re-marked chips.

That is, they are probably not really 16MHz parts, but re-marked parts that were originally rated at a lower speed (such as 8Mhz or 10Mhz). I can tell you more about this if you are interested.

This is a common issue with many retro and legacy parts. If you bought these parts from EBay and they came from Asia (for example China), then there is a high likelihood of this situation.

Therefore I just wanted to warn you that if you ever clock your chips at a high speed and you run into unusual behaviour, you do not have to blame your design! Smile

Best regards and good luck with your project!

[Updated on: Fri, 20 March 2020 18:34]

Report message to a moderator

Re: Starting V20 CPU on breadboard. [message #7303 is a reply to message #7298] Fri, 20 March 2020 20:48 Go to previous messageGo to next message
ab0tj is currently offline  ab0tj
Messages: 70
Registered: October 2015
Location: Colorado
Member
just4fun wrote on Fri, 20 March 2020 06:22
Hi, if you live outside EU I think that it's probably more convenient for you order a small batch directly.

More, as my country is currently "locked down" and this situation will continue for a while, it isn't a good idea to go at a post office (if you can find one open) these days... Sad
Fair enough. I can order some and then there will be extras for those on "this side of the pond"
Re: Starting V20 CPU on breadboard. [message #7310 is a reply to message #7301] Sat, 21 March 2020 14:17 Go to previous messageGo to next message
cmacarthur is currently offline  cmacarthur
Messages: 13
Registered: April 2018
Junior Member
Hello,
Are the Gerbers available, I am about to release this months jlcpcb order and would like to add this board.
THX
CM
Re: Starting V20 CPU on breadboard. [message #7317 is a reply to message #7310] Sun, 22 March 2020 03:24 Go to previous messageGo to next message
just4fun is currently offline  just4fun
Messages: 178
Registered: May 2017
Location: Dark side of the Moon
Senior Member
@rvumbaca:

Thanks very much for the warning! Yes, I've bought the CPU on ebay (as usual)...
The final board will use a 4/8 MHz clock, so accordingly with the V20HL datasheet the lowest speed grade is 10MHz and it is fine.

Up to now I've used no more than 8MHz as clock, anyway the breadboard prototype can set higher clock using a STM32F030 running at 48MHz, so I'll do some test just to see.
If you can give more info about the labeling I'm curious to know...



@cmacarthur:

I haven't tested the board yet, so I can't say if it works or not. However if you want try to produce it "at your own risk" I've attached the gerber for JLCPCB and the corresponding schematic.

[Updated on: Sun, 22 March 2020 03:32]

Report message to a moderator

Re: Starting V20 CPU on breadboard. [message #7318 is a reply to message #7317] Sun, 22 March 2020 08:06 Go to previous messageGo to next message
cmacarthur is currently offline  cmacarthur
Messages: 13
Registered: April 2018
Junior Member
Thank-You
I will add it to the monthly jlcpcb order.
CM
Re: Starting V20 CPU on breadboard. [message #7321 is a reply to message #7317] Sun, 22 March 2020 15:22 Go to previous messageGo to next message
rvumbaca is currently offline  rvumbaca
Messages: 17
Registered: September 2018
Junior Member
Hi just4fun,

just4fun wrote on Sun, 22 March 2020 03:24
@rvumbaca:

If you can give more info about the labeling I'm curious to know...
Long back story: In recent years there has probably been some renewed demand for legacy ICs such as CPUs and EPROMs, which are no longer manufactured. The IC counterfeiters of the world took the opportunity to profit from this. I can only assume that people often search for higher speed rated parts, as this seems to be a common reason for many re-marked Motorola, Zilog, Intel and other CPUs. Another common item is that slower speed EPROMs are re-marked as higher speed parts (and also the brand is changed). So if you search for "ST 27C400", you will find many, many re-marked parts (my programmer can read the ID code, often I have found that these are re-marked Macronix or National parts).

Most of the supply of these parts comes from a few warehouses in Asia. 99.9% of the sellers on EBay do not hold stock, they simply act as a seller and when you order a part they either buy it from these warehouses (or a distributor) or (more commonly) they arrange for drop-shipping from the warehouse/distributor direct to you. Often I found that ICs I bought from China or HK, are posted to me directly from the Philippines, Brunei, and other countries in Asia. When I have complained about the parts being counterfeit, the seller will often perform an immediate refund with no questions asked. The sellers have little knowledge of what they are selling, they often offer thousands of different items (sometimes not just ICs). Sometimes the picture looks good, but the part you receive is not the marked the same way.

The re-marking of chips exists at different "quality levels". The simplest method, is to paint over and use ink. If you rub these ICs with IPA or Acetone the ink often can be removed.

-> Try to rub the top of your IC with acetone or IPA and check if the marking is removed.

"Higher quality" re-marked chips usually have been ground on top, then a "black top" is applied. They then use laser engravers to re-mark the chip. Usually the markings have mistakes in them such as:
- Colour of marking does not match a part from that time
- Invalid date codes (for example a MC68010 with date code of 2019!)
- Many, many parts have the same batch code
- The marking does not match the original part

To see a great example of what "black top" and laser engraving looks like on an MC68000, see this photo from a colleague: https://twitter.com/SushiL0gic/status/1116219450708021248/ph oto/1

Recently I made a special effort to buy a real NEC V20. I was tired of receiving counterfeit parts, so I bought it from a seller in the USA. This is the appearance of my part:
/forum/index.php?t=getfile&id=1701&private=0


Here is an image of your NEC V20 with signs of re-marking highlighted:

/forum/index.php?t=getfile&id=1707&private=0

The counterfeiters have improved their process, but they still lack attention to detail :)
  • Attachment: Re-marked.png
    (Size: 88.47KB, Downloaded 890 times)
  • Attachment: NEC-V20.png
    (Size: 860.31KB, Downloaded 916 times)

[Updated on: Tue, 24 March 2020 15:30]

Report message to a moderator

Re: Starting V20 CPU on breadboard. [message #7326 is a reply to message #7321] Tue, 24 March 2020 01:39 Go to previous messageGo to next message
just4fun is currently offline  just4fun
Messages: 178
Registered: May 2017
Location: Dark side of the Moon
Senior Member
Thanks you. Very detailed!
Re: Starting V20 CPU on breadboard. [message #7498 is a reply to message #7326] Sun, 12 April 2020 07:19 Go to previous messageGo to next message
just4fun is currently offline  just4fun
Messages: 178
Registered: May 2017
Location: Dark side of the Moon
Senior Member
Starting some testing:

https://i.postimg.cc/bYt5jnjz/V20-MBC2.jpg

/forum/index.php?t=getfile&id=1753&private=0

/forum/index.php?t=getfile&id=1754&private=0
  • Attachment: V20-MBC_1.PNG
    (Size: 33.54KB, Downloaded 844 times)
  • Attachment: V20-MBC_2.JPG
    (Size: 140.17KB, Downloaded 846 times)
Re: Starting V20 CPU on breadboard. [message #7504 is a reply to message #7498] Mon, 13 April 2020 03:46 Go to previous messageGo to next message
just4fun is currently offline  just4fun
Messages: 178
Registered: May 2017
Location: Dark side of the Moon
Senior Member
I've created a page on the V20-MBC here:

https://hackaday.io/project/170924

BTW: If someone want to test a V20-MBC board (HW ref. A250220) I've attached an IOS beta release (zip file) and the ILOAD.BIN executable to put into the microSD.

/forum/index.php?t=getfile&id=1757&private=0

https://i.postimg.cc/tJQczknJ/20200412-170129.jpg

[Updated on: Mon, 13 April 2020 03:52]

Report message to a moderator

Re: Starting V20 CPU on breadboard. [message #7516 is a reply to message #7504] Mon, 13 April 2020 18:55 Go to previous messageGo to next message
ab0tj is currently offline  ab0tj
Messages: 70
Registered: October 2015
Location: Colorado
Member
Thanks for sharing your design. I placed an order with JLCPCB today and threw in the Gerbers for this board. That said I'll have a few extras available for the price of shipping if anyone stateside wants one as long as just4fun doesn't object Smile
Re: Starting V20 CPU on breadboard. [message #7543 is a reply to message #7516] Fri, 17 April 2020 08:50 Go to previous messageGo to next message
just4fun is currently offline  just4fun
Messages: 178
Registered: May 2017
Location: Dark side of the Moon
Senior Member
Some little improvements...

Here the new boot/system menu:

/forum/index.php?t=getfile&id=1767&private=0

iLoad: loads and executes a 8088 Intel-Hex executable from the serial;
iLoad-80: loads and executes a 8080 Intel-Hex executable from the serial;
Autoboot: loads and executes an 8088 binary file (AUTOBOOT.BIN) on SD;
Autoboot-80: loads and executes an 8080 binary file (AU80BOOT.BIN) on SD.

iLoad (option 1) is now embedded into the FW, so it is the only possible boot choice if there is no SD installed.

Options 5, 6 and 8 are useless for now...

Here the load of the AU80BOOT.BIN 8080 binary file from SD. In this case a dual-stage boot is needed.
In the first stage is loaded the 8080 executable, in the second one the Switch-80 utility that
takes care to activate the 8080 mode and executes the 8080 code (I've used the Altair Basic executable as 8080 binary):

/forum/index.php?t=getfile&id=1768&private=0

Here a fully assembled board:

https://i.postimg.cc/Px3NNL8K/20200415-134535.jpg

[Updated on: Sat, 18 April 2020 01:57]

Report message to a moderator

Re: Starting V20 CPU on breadboard. [message #7544 is a reply to message #7543] Fri, 17 April 2020 09:15 Go to previous messageGo to next message
gkaufman is currently offline  gkaufman
Messages: 163
Registered: October 2015
Senior Member
Are any changes to the PC board pending, or is it "safe" to go ahead and order using the A250220 - PRELIMINARY UNTESTED Gerber.zip file?

Great looking project.
Re: Starting V20 CPU on breadboard. [message #7545 is a reply to message #7544] Fri, 17 April 2020 09:40 Go to previous messageGo to next message
just4fun is currently offline  just4fun
Messages: 178
Registered: May 2017
Location: Dark side of the Moon
Senior Member
Thanks!

Up to now there isn't any pending PCB change, so it should be enough safe... (fingers crossed...)
Re: Starting V20 CPU on breadboard. [message #7556 is a reply to message #7545] Mon, 20 April 2020 11:25 Go to previous messageGo to next message
just4fun is currently offline  just4fun
Messages: 178
Registered: May 2017
Location: Dark side of the Moon
Senior Member
I've tested an 80C88 CPU too and seems to work:

https://i.postimg.cc/52jb59QX/20200420-200815.jpg

...and if you try to run an 8080 executable this is what you get: Laughing

/forum/index.php?t=getfile&id=1774&private=0
Re: Starting V20 CPU on breadboard. [message #7557 is a reply to message #7556] Mon, 20 April 2020 12:58 Go to previous messageGo to next message
gkaufman is currently offline  gkaufman
Messages: 163
Registered: October 2015
Senior Member
Any reason not to use 74HCT series? I already have those here...
Re: Starting V20 CPU on breadboard. [message #7558 is a reply to message #7557] Mon, 20 April 2020 15:05 Go to previous messageGo to next message
mikemac is currently offline  mikemac
Messages: 234
Registered: March 2017
Senior Member
Dumb question, what are those two boards sticking straight up in the upper left corner? There used to be only one but a second one just showed up. Just curious as none of my 8088s are the CMOS version. Sad


Mike
Re: Starting V20 CPU on breadboard. [message #7559 is a reply to message #7558] Mon, 20 April 2020 23:31 Go to previous messageGo to previous message
gkaufman is currently offline  gkaufman
Messages: 163
Registered: October 2015
Senior Member
- optional RTC and microSD modules (the same used in the Z80-MBC2);
Previous Topic: Cyclone II and IV boards available.
Next Topic: Registering for wiki and resetting passwords not working?


Current Time: Fri Sep 25 23:23:11 PDT 2020

Total time taken to generate the page: 0.01470 seconds