Close

Five dollar palmtop Z80 development platform!

A project log for Vintage Z80 palmtop compy hackery (TI-86)

It even has a keyboard!

eric-hertzEric Hertz 05/14/2021 at 20:003 Comments

What I've learned so-far... brief due to thumbtyping.

There is a Z80 assembler (with included IDE!) that can run on this TI-86 calculator! 

It's called ZAC, and can be found at ticalc.org along with a friggin' wealth of hackery info and software.

INCLUDING: 

there's a ton of RAM that's banked thus otherwise unusable except through Assembler (384k?)

Grayscale via alternating framebuffers

A very weird 4bit, 2pin I/O port (TI graphlink) that can be bitbanged in very weird ways giving essentially, as I gather:

2x inputs which can be detectably tristated

or 2x outputs

or one of each

or, with an appropriate driver/receiver on the other end, 2x open-collector bidirectional I/Os (unidir SPI, i2c, etc. through bitbanging)

I didn't see any mention of this, but two tristate-detecting inputs can allow for two separate center-off SPDT switches, or a D-pad/joystick with diagonals (9 states) with just two resistors and a simple-enough bit of code.

...

What else...?

Apparently someone has already developed PS/2 keyboard/mouse support, though I think that relies on a compatible application (homebrew) so isn't I imagine likely to be compiled into the IDE. But also, apparently, TI did make a keyboard and drivers are in the OS, and someone else figured out the protocol and designed an adapter for PS/2. So, typing lowercase should be far easier than "2nd-Alpha-letter" every time... making this little palmtop essentially equivalent to, say, a Kaypro, in  developmentability! No need for a separate dev-machine! (Well, after uploading the assembler/ide).

What else...?

I suppose, actually, it should be possible to add poke/peek type functionality to the built-in BASIC, and far more, as assembled executables can be called from there.

Both RAM and ROM are huge compared to the Z80's native address-range. Thus banking. I imagine that might also mean there may be large portions of flashable ROM that are completely unused, maybe even an entire bank. I also didn't see of anyone's making use of that, but if there is such free space it should be possible to store things permanently in there. Though accessing it after a brown-out might require uploading an app from a PC... unless someone's clever enough to hook it into the boot process? (Maybe this thing has something like IBM PCs' BIOS extensions?)

On that note, I saw mention of TSRs, but couldn't easily find any that're already existant to learn from... but if they are doable, then the "simple" PS/2 KB/Mouse interface hardware/library (no external microcontroller) could probably be made to work in any screen/app.

And, of course, with two outputs, a shiftreg could make for *many* more. Maybe some clever hackery with a tiny bit of glue logic could make for near-unlimited inputs and outputs, simultaneously? A somewhat-simple IBM-compatible parallel port (printer!)... any number of peripherals... (heh, maybe a floppy drive), SID chips, who knows...

The ROM apparently has support for wider screens, e.g. from the TI-92(?), but that'd be a stretch. Those cables seem gnarly, if it even has the same pinout.

(Hmmm, maybe the IDE does alpha support by default)

What else...?

I haven't looked inside, from the sounds of things this particular Z80 chip has much of the support circuitry inbuilt, so even though it may be possible to address I/O ports above 7, the necessary pins may not be available... it seems the first 8 are pretty well full-up, basically just leaving the two pins described earlier. OTOH, maybe one of those extra RAM/ROM banks could be sacrificed for some sorta memory-mapped I/O...?

CP/M.... i thought I saw a few legit-ish links.

Other OSes: Seems there may be a few to completely replace TI's(?!)

Shells: I have no idea... there are several, are they apps to be run from the "Programs" menu or do they replace the UI from boot, I dunno.

BTW: I'm mostly a hardware guy, I ain't innit for games, but there appear not only to be MANY, but even libraries to aid in their devel (e.g. grayscale, sprites, dunno whatall).

Oh, am thinkink it might be wise to hook up a thermal receipt printer. Though, now I've seen tiny plotters that size (one was even four color!) I'm on a bit of a mission.

What else?

Hardware, man... that's really what this is all about. A friggin' Teensy vintage compy... to be laden with a huge bus of external ridiculously large and unnecessary peripherals to push this thing to its limits... maybe a CGA card... floppy/hard drive... Multimeter/Scope interface? Always wanted a cartridge like that for my Gameboy, as a kid... #sdramThingZero - 133MS/s 32-bit Logic Analyzer was always intended to be usable even on a Kaypro, or whatnot, programmed in BASIC...

But all that will have to wait until I've space (and brain) for it. The teensy all-in-one is a good starting point.

Discussions

Eric Hertz wrote 05/19/2021 at 09:38 point

looks like it'd be possible to bitbang SPI and thus SDCards if wired-up internaly... see more links in the next log...

https://www.ticalc.org/cgi-bin/zipview?text/calcinfo/link86all.zip;sch

https://www.ticalc.org/archives/files/fileinfo/242/24244.html

  Are you sure? yes | no

Eric Hertz wrote 05/19/2021 at 09:25 point

https://www.ticalc.org/archives/files/fileinfo/242/24244.html

This is the info for the two-pin 4-bit link port...

  Are you sure? yes | no

Dr. Cockroach wrote 05/15/2021 at 15:38 point

Looks like you are going to be kept busy on this one :-)

  Are you sure? yes | no