I'm designing a Zilog Z80A-based computer for fun and profit, limiting myself with what components were available around year 1984+/-3, and trying to get the lowest possible cost that could be achieved at this time.

For the arbitration of video RAM access, I plan either to add some wait state to the CPU (same as was done on the Amstrad CPC) or make a bus request when the beam is in the visible part of a scan line (I will use a Motorola 6845). But I'm not happy with either solution, and would prefer to keep most of the RAM for the applications.

My question is: can I put the VRAM completely outside the Z80 address space and access it with I/O (with a port to set the foreground/background pair and the cursor position registers, the latter position increasing automatically with each character sent on the output port)? Can it be done with what gate arrays were available at the time? I want to avoid using a dedicated video chip like the MOS VIC-II.

For the non-adressable RAM (>64K), I'd also like to access it with I/O port, with one port selecting the address, and another to read or write, the address register increasing with each IN or OUT.

Same question: can it be done without using a dedicated controler or MMU?

  • \$\begingroup\$ I will mostly run new software, but I also plan to write a BIOS for CP/M 2.2. My problem is that I want to drive a 640x480 display with 80x30 characters of 8x16 pixels (2400 bytes of vram + another 2400 bytes for color pairs). I think that the 6845 could handle this in interlaced mode, but I'm not sure (the docs I have are not very clear). \$\endgroup\$
    – airman
    Commented Sep 15, 2015 at 19:16
  • \$\begingroup\$ Your title mentions gate arrays and custom chips, but your text never gets around to asking about those things. Can you edit your title to make it reflect what you asked? \$\endgroup\$
    – The Photon
    Commented Sep 16, 2015 at 14:52
  • \$\begingroup\$ I want to know if this design can be done with a gate array or if I needed use a dedicated chip. What title should I use instead? Also where went the previous comments from this other user? They were quite helpful. \$\endgroup\$
    – airman
    Commented Sep 17, 2015 at 7:28
  • \$\begingroup\$ A "dedicated chip" and a "custom chip" are different things. When you talk about a custom chip, we think you want to design the chip yourself. \$\endgroup\$
    – The Photon
    Commented Sep 17, 2015 at 16:30

1 Answer 1


Yes, it can be done. The Ferguson BigBoard (basically the same design as the Xerox 820) is one example — it had a full 64 kB of RAM for applications, plus dedicated video RAM that could be bank-switched into a 16-kB region of the address space. All done with regular SSI/MSI TTL logic.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.