• Please review our updated Terms and Rules here

Xerox 820 Project Time

hideehoo

Experienced Member
Joined
Aug 4, 2015
Messages
163
Location
Prior Lake, MN
Thanks to a heads up from @SteveHere , I was able to grab the last Xerox 820 from that multiple eBay lot some others may have also seen. Figured my Big Board (OG and repro's) needed a kindred spirit friend. Board arrived today and looks great.

IMG_0011.jpg

And here it is next to it's Big Board older brother.

IMG_0008.jpg

I see someone has already done a DB37 to IDC-34 disk adapter, https://adafruit-playground.com/u/jepler/pages/xerox-820-gotek-adapter, but I think I'm going to a version more like my vertical Apple III design that pulls it closer to the port, https://www.tindie.com/products/tersteeg/apple-iii-to-fujinet-or-floppy-emu-adapter/

Also need to respin my parallel to PS/2 keyboard adapter, https://github.com/djtersteegc/ferguson-ps2-keyboard-adapter, for the DB25 port and probably do something for the vide port that combines the two separate sync signals into a composite output so I can use the same CRT I use with the Ferguson.
 
PS/2 Keyboard Adapter

1736664231413.png

Floppy Adapter

1736665900090.png

Decided to go with the edge mounted DB connectors so they can be secured to the ports with screws if desired.

Video is going to need a bit of circuit experimentation so I need to wait for my power plugs before I can tackle that and get this all shipped off to JLCPCB.
 
Last edited:
PCB order is in, time to assemble everything. First order of business was a power supply. This is based on the case design I used in the Big Board with a Meanwell RT-65B just without the hole for the reset switch since there's one on 820 motherboard.

power-supply.jpg
power-supply-assembled.jpg

Next up was the keyboard adapter, also based on the one I did for the Big Board.

keyboard-adapter.jpg
keybaord-adapter-cased.jpg

Floppy adapter with a custom power cable for the Gotek running Flash Floppy firmware.

floppy-adapter.jpg
flash-floppy-power.jpg

As I feared, the composite adapter will need more work. It produced a picture, but sync was was off. Future fun.

composite-adapter.jpg
composite-video-issues.jpg

So on to plan B and building a cable for an RGBtoHDMI with the CGA/EGA TTL buffer board. Still need to tweak the config a bit, but got a stable picture so I could do some more testing with various disk images.

820-rgbtohdmi.jpg
cpm-boot.jpg
 
Last edited:
PS/2 Keyboard Adapter

View attachment 1292743

Floppy Adapter

View attachment 1292747

Decided to go with the edge mounted DB connectors so they can be secured to the ports with screws if desired.

Video is going to need a bit of circuit experimentation so I need to wait for my power plugs before I can tackle that and get this all shipped off to JLCPCB.
Do you have pcb files for these adapters? im particularly interested in the keyboard adapter
 
For my 820's, I reworked the EPROMs to bypass lots of the keyboard/display stuff, and just went with a serial to USB dongle on the port marked "printer". I didn't have, or want, the large, clunky CRT anymore. I also did a knock-off of Tilmann Reh's GIDE project so my 820's now have sixteen 8 MB "disks" via a compact flash, and a real time clock. I should have looked into the projects for clocking the boards at something faster than the original 2.5 MHZ(?), but ran out of enthusiasm.
 
Do you have pcb files for these adapters? im particularly interested in the keyboard adapter
I'm not sure how often @hideehoo is looking at these forums, but he's got these boards up on his Github...

For my 820's, I reworked the EPROMs to bypass lots of the keyboard/display stuff, and just went with a serial to USB dongle on the port marked "printer". I didn't have, or want, the large, clunky CRT anymore.
That's an interesting idea. I still have one of these boards that I haven't come back to. Would you be willing to share the code for your modifed EPROM?
 
I'm not sure how often @hideehoo is looking at these forums, but he's got these boards up on his Github...


That's an interesting idea. I still have one of these boards that I haven't come back to. Would you be willing to share the code for your modifed EPROM?
Ah, i found a similar one for usb instead of ps/2, and have already ordered the board for jlcpcb, but thank you. If the one i got doesnt work I’ll try hideehoo's. Also are you familiar with the xerox 820? I’m trying to find ppl who have more info about them since u recently got my hands on one
 
Last edited:
That's an interesting idea. I still have one of these boards that I haven't come back to. Would you be willing to share the code for your modifed EPROM?
Sure, Steve. I'd be willing to do that. Be warned, however, that there's a *lot* of code in the original Xerox EPROM's that is there because of all the stuff associated with the console, floppy, etc. I didn't understand a lot of it, and I probably left some of it in the new EPROMs even though it may not be necessary. Translation: it is probably messy, but it works. Of course, there is a certain amount of code added to support a GIDE-like circuit for the compact flash.

Just wondering ... should I try to post it here, or just send it to you via PM???

Roger
 
What the heck. I'll try to post it here.

Here is what is needed to bypass the original 820 ROMs and convert the 820 into a SBC with console on the DB-25 marked "printer". The contents of the u64 ROM are given in the fileu64.z80. The u63 ROM is made up of two pieces of code: u63-loader.z80 and u63-hexrd.z80. The u64 ROM sits at physical address 0000h in the 820. The u63 ROM sits at 0800h. So, u63-loader.z80 should go at physical address 800h (that's the CP/M loader code), and u63-hexrd.z80 at 900h (that's a .HEX file loader). That leaves lots of space in u63 for custom code. The file roms.dmp shows the code placement. There is an identical copy of u63-loader in my ROM at 0F80h. I'm not sure why that is there, or if it is needed. It may not be.

I don't believe that I've made any physical mods to my 820's. No cut traces or wire bodges. They are pretty much the way they were when they came to me. Some have what appears to be factory bodges made to them, but they are not something I did. I did remove the terrible sockets for the ROMs and the CPU, and replaced them with much more usable machine pin ones.

The u64 ROM code is a full-featured Z80 monitor patterned after the old SD Systems monitor. It has functions for displaying, editing, verifying, moving, and testing memory. There are also functions for single stepping and debugging code, although I've not used them much. I prefer to use ZSID under CP/M for that. There are functions for examining ports, and doing port I/O. The most useful function is a hex loader, patterned after Plasmo's (Bill Shen) hex loader. The code for that is in u63-hexrd.z80 and is located at 0900h. To use it, do a "G 900", and then copy the .HEX file to the console. Depending on your terminal emulator, you will probably need to slow that copy down in some way. Avoid trying to use low memory in "monitor mode". It is used for the original console, and will do odd things. I believe from 4000h(?) up is a better choice.

As I said, the console is the DB-25 marked "printer" (2nd DB-25 from the right). It runs at 19.2k baud, and is a simple 3-wire connection. I wired a DB-25 to DB-9 adapter (DB-25 pins 2,3, and 7 to DB-9 pins 2,3, and 5). You may need to cross over the pin 2/3 wiring depending on your host system. I use a very simple and inexpensive DB-9 RS-232 to TTL adapter, and then hook that up to one of those TTL to USB adapters. The TTL to USB device provides power to the RS-232 adapter. So .... a USB console for the 820!

My 820 runs a 55k version of CP/M 2.2, and uses a homebrew knock-off of Tilmann Reh's GIDE for "disk" drives -- sixteen at 8 MB each.
 

Attachments

Thanks Roger! Sorry for the delay coming back to you this, and thanks for posting your ROM Mods!

I will certainly be giving this a try w/ my board when I come back to it.
 
Back
Top