Jump to content

Yet another 80 Column Expansion Idea

Recommended Posts

I know, I've got several projects on the go and apart from the DIY gamepad none are in a working state. Soon I hope.


The 80 Column board that I'm hoping is near completion (oh, I hope so!) is really a MIB dual serial clone with a Raspberry Pi tagged on to function as a serial terminal. Today's idea is a different spin on the goal of getting the ADAM to produce an 80 column display.


In short you take an ATmega 328, add some glue logic, and strap it to the side port of your machine. The ATmega is programed to function as an 80 column VDP whose output I envisage being routed through the TMS9918A and so mixed with the composite out - it's rather nice that the 9918A can daisy-chain further VDP's.


With this expansion in place you will have a very fast 80 column text mode with GFX characters, some bitmap capability, and limited VT100 emulation. As it happens it's mode of operation is rather in keeping with the TMS chip itself as it maintains it's own video memory (not much!) and you send it instructions to do it's job - no extra RAM gobbled up.


Apart from having a fast 80 column mode I can see some interesting options with this one as it's output is mixed with the 9918A's output.



Currently this design lives on port BCH as I'm not aware that's used by anything else but is close to the 9918's port.

It uses 10 lines: D0-D7 plus AVAIL and ACK.

AVAIL = IORQ & WR & A[7..0]==BCH

ACK = IORQ & RD & A[7..0]==BCH

Check if the VDP is ready via ACK and if it is write your data on D0-D7 and let it know flipping AVAIL, The VDP will do the rest.

You can send ASCII for text and there's a command list for other screen-related actions.


The board itself is nice and simple and includes an ISP programming header for the ATmega - for those who don't know these IC's are far, far easier to program than your usual CPLDs or FPGAs so should be within easy reach of anyone that wants to build one.


So what's the catch?

Driver software, there isn't any. The board as-is should be perfectly functional if you are happy to 'bang the metal' with peeks and pokes but it would be so much nicer if there were proper drivers:

-CP/M and TDOS of course as it's an 80 column board and hopefully supports enough VT100 Esc codes, more could be implemented via a driver if needed

-A version of Smart Basic that supports it would be nice.

-Driver for other uses..?


Now I can't code for toffee so the drivers aren't going to come from me. Also, assuming the darn thing actually works, my other 80 column project will do me fine for what I want. But if there is any interest in this board (coders) I'll go ahead and make some for any who want a driver development system. I'm otherwise not intending to make this if there's no interest.


-Anyone willing to code CP/M / TDOS drivers

-Anyone willing to patch Smart Basic

-Suggestions welcome, including the preliminary hardware decisions / mistakes I've made

-I think I have the source for the ATmega side of things if anyone it thinking "I wonder what more could be squeezed out of this puppy?"



I guess this is a bit more 'old school' than my other 80 Column project as the ATmega is functioning as a discrete GFX processor surrounded by come good old ICs...

...Yes I know; I went for a surface mount ATmega. The SMD variant is dirt cheap and more easily available than the DIP variety. Also for any who may be worried they are actually dead easy to solder once you know how - a subject I'll happily discuss if it comes up.



Edited by CharlesMouse
  • Like 1

Share this post

Link to post
Share on other sites

Yes I know...



...but here's an update. I added a latch to the AVAIL signal so that's functional logic with any luck. I also added a composite out for where mixing with the 9918 isn't desired.



Share this post

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

  • Create New...