New milestone reached for the UCA !
After days messing with that prehistoric micro-architecture (don’t even have a CALL/RETURN instruction) as well as the VHDL code to implement the tight timings needed, the UCA now supports the RCA CDP1802 (COSMAC) CPU !
Here is a sample of the preliminary test code used
LDI $10 ; LOAD 10h into D
PLO R4 ; Push D in low byte R4
TEST1:
LDI PTRN ; LOAD byte xxh (the pattern memory location) to D
PLO R2 ; Push low order byte from D to R2 (=X)
OUT 1 ; Output the **memory location** at X (=R2) to Port 1 (N0 = 1 / N1-2 = 0)
NOP
LDI TLOOP ; LOAD loop constant to D
PHI R3 ; Push D in R3's (=X) high order byte
LOOP:
DEC R3 ; Decrement R3
GHI R3 ; Push high order byte from R3 to D
NOP
NOP
BNZ LOOP ; if D/R3 not zero, loop until zero
NOP
LDI PTRN2 ; LOAD byte xxh (the pattern memory location) to D
PLO R2 ; Push low order byte from D to R2 (=X)
OUT 1 ; Output the *memory location* at X (=R2) to Port 1 (N0 = 1 / N1-2 = 0)
NOP
LDI TLOOP ; LOAD loop constant to D
PHI R3 ; Push D in R3's (=X) low order byte
LOOP2:
DEC R3 ; Decrement R3
GHI R3 ; Push high order byte from R3 to D
NOP
NOP
BNZ LOOP2 ; if D/R3 not zero, loop until zero
DEC R4 ; decrement R4 (test loops)
GLO R4 ; put high-byte R4 into D
BNZ TEST1 ; if R4/D is not zero, loop again, if zero, continue to next test.
Testing can be done at 2.5/3.2/4.0 & 5.0 MHz.
The interesting part is that it doesn’t require any additional adapter, just a firmware update. I designed an adapter for this chip, but it wasn’t finally required.
While developing for the RCA 1802, I found a limitation on the iAPX-86 UCAS’ hardware design : it can’t measure current for this particular IC. The 1802 power consumption is abysmall (< 2 mA) and under the lowest end of the range I choose. The UCAS just can’t reliably measure power-hungry behemoths like the HMOS USSR clones (> 1.5W) and extremely low power chip like the 1802. Not really a big deal..
Anyway, it now works as expected with CDP1802! Right now, I don’t have CDP1804/05/06 but I’ll try to find one of each soon to check if they also works. They should also run fine and I will be able to check their specific features (Internal RAM & extended instruction set).
Here are some pictures!
RCA CDP1802D – Tested at 3.2 MHz
Harris CDP1802ACE – Tested at 5.0 MHz