Emai//er (and Bobbi's other Apple II Projects)

Bobbi’s page of projects includes Emai//er, an email client for those of us with a networked IIGS (as it happens, that doesn’t include me)…

and also EightBall “The Eight Bit Algorithmic Language” which “is an interpreter and bytecode compiler for a novel structured programming language. It runs on a number of 6502-based vintage systems…”


Wow, EightBall is really interesting! I see things that remind me of B, things that remind me of Pascal or a post-line-number BASIC, and things that remind me of C. It looks like a much more pleasant language to use than Applesoft BASIC, I really want to play with it and see how it performs!

1 Like

Well BASIC was BASIC back then. No 8 bit cpu, was ever ment for
general purpose computing, BASIC and ByteCode languages got around that limitation.64Kb of memory was the other limitation. Only a 24 bit or larger computer could provide more address space.
(Buy one Ben’s 24 bit CPU’s and get a free ‘improved’ mouse trap).
The PDP 11 and Intel gave you separate virtual spaces, but that was
not solution for big (1979?) projects.
(uses oil, so trapped mice don’t squeek)

A pure 8 bit computer can only address 256 bytes which is too little for most applications. It can be enough for educational use like in the Kenbak-1. A hybrid design with a non 8 bit address size can handle larger programs. This different size can be anything you like, such as 13 bits for the 8008 or 12 bits in The Ugly Duckling (Brazil’s first practical computer from 1972).

16 bit addresses are an extremely popular option since a pointer in memory takes up exactly two bytes. To show how arbitrary this is, however, back in 2013 I designed a nice processor called retro8 which used 24 bit addresses instead. As long as it is easy to multiply by 3 this is just as convenient as 16 bits.


retro8 sounds interesting @jecel - can you share details of the machine? Either here or perhaps at the small community over at anycpu.

1 Like

I can post the full text about retro8 as a new thread (it is reasonably short).


24 bit addresses may be just as convenient for the software developer, but from a hardware perspective it means more address lines which means more expense. And from a performance perspective it takes less memory and time to use 2 byte addresses. And for much of the 8-bit home computing era, it was expensive to have a home computer that exceeded 64K of RAM.

That said, the most popular 8-bit was the Commodore 64, which did indeed run into annoying address limitations (with 64K of RAM as well as significant ROM). A lot of relatively popular 8 bits had 128K of RAM … enough RAM such that the normal 64K address limitation was annoying, but not so much higher that it deserved a real rethink.

1 Like

Bravo! My version of the same idea came at about the same time. I called it the m824, and I was almost done with the specification and simulator when my desktop died, and I lost a heart-wrenching amount of progress. I moved on to my all-32-bit 65m32, but I have unfortunately stalled on that too, waiting for a few elusive bursts of inspiration that still haven’t arrived.

1 Like

I have wanted to do a 24 bit cpu that way, but I could never encode a 8 bit
opcode with all the features I wanted. Ben.

I think, microcoding may get you quite a stretch. Compare the DEC PDP-1 with 18 words and just 5 bits for instruction encoding, but some of them (typically involving instructions internal to the processor) used for microcoded groups with options embedded in the operand. (You could also cite the PDP-8, but I wouldn’t suggest go that far, other than for lessons in economy.)

Well Unix had to wait 6 more numbers, to get to the PDP 7.
Part of the delay with my design, is the PDP/6 PDP/8, PDP/11, IBM/360,8080
all have features from the 1970's I need in my ISP.
IBM 360  Algol style language. 
PDP/6    36 bit floating point
PDP/8    floating point (emulation) and single word instruction.
PDP/11   Immediate data and indexing and register operations.
HAL-9000  Impessive looking computer (or IBM 1130)
IBM 1130 1.2MB hard disc
8080       Smaller size and Hobby sized build.