Z80 notes: 2019-08-19

Lots of designing today, basically realizing I have no idea what I'm doing. Some thoughts:

It would be cool to have an ESP8266-based modem; send a connect command (SSID and password), then another connect command to set host and port. The terminology for this needs to be sorted out. I was thinking of an IRC client and a gopher browser, mostly owing to the fact that gopher sites don't tend to need the encyclopedia of javascript downloaded (that's 95% an attempt to get you to buy shit, one way or another) just to read a web page. Plaintext over HTTP would be fine with me too.

Graphics and the display remains an open question, and there's two main aspects that I see. The first is what chipset or interface to use, the second is how to deal with the VRAM requirements.

For graphics chipsets, there are a number of options that I see with more likely to come later as I do more research. The SSD1306 is a venerable chipset, but I don't really like the dimensions - all of mine are extremely small displays with 128x64 or 64x64 pixels. I'd like at least 5.7", with 7" closer to my ideal. Another option that I've seen is the KS018 chipset - I've never used it, but keeping it in mind.

There's also the option of using an AVR as a GPU, which might help with the VRAM issue, which is essentially that at 320x240 pixels, the display requires tracking 75k pixels. If I do this as a bitmap (each byte representing 1 pixel), then that's still roughly 9.5k of memory. I could put another RAM chip on the I/O bus and hook it up as VRAM, maybe? Not really sure.

I wonder if it might be easier to implement an interface that's text-only; rather than drawing pixels, the Z80 sends the characters to print. I'm really just not sure yet.

I also spent a lot of time figuring out the memory mapping; I'll do a separate writeup on that later. However, in the process of doing this, I caught a mistake that I was making: the CY62256 SRAM chips are 32K each, and I need two for the full 64K. This changes the chip selection logic, which honestly turns out to not be so bad; it went from four chips (SRAM, EEPROM, quad OR gate, 1:4 demux) to six (2x SRAM, EEPROM, quad OR gate, quad AND gate, 1:4 demux), but I don't think that'll throw things off terribly.

My commute has gotten significantly worse this week with the move to a new office; I thought it would be +15 minutes each way (which is awful) but it's +30 minutes, and that was a day that went smoothly without having to wait long for any of the three legs. I'm trying to be productive in that time, so I've been using my Digital Paper to read various Z80 books and using the note taking function to scribble down ideas. It's made the commute less worse.


Tags: ,