The Oric-1, however, did far better than the Jupiter Ace on the market - which isn't to say it was successful, just that it didn't quite flop as hard as the Ace did. The Jupiter Ace definitely has its quirky appeal, meanwhile, as a FORTH Machine - but it should be noted that the Oric-1/Atmos machines get far, far better software written for them, even today .. and some of the new stuff is just great.
I was 14 or 15 at the time. The first summer I wrote a whole load of games, mostly in Forth, but sometimes Forth just wasn't fast enough. I got a copy of "Mastering Machine Code on Your ZX81", and learned Z80 machine code. If there was an assembler available, I didn't have it, so this was all hand-assembled. Getting jumps right was a total pain, as was debugging. Generally, it either worked first time, or you started from scratch again. Usually I got there in the end.
I sold those games through a ad in "Your Computer" magazine, and earned back the price of the computer several times. But recording and shipping tapes one at a time got tedious really fast, so I didn't take that any further.
My Ace got modified quite a bit over the next couple of years. An extra 16KB RAM pack was an early addition, taking it to a whopping 19KB. Because Forth was so compact, I never filled that up.
My mother worked for Chubb cash dispensers (ATMs for Americans) at the time, and at some point they scrapped a lot of equipment. She tipped me off, and we went round there one evening and liberated lots of cash dispenser pieces from a skip. Amongst these were several numeric keypads with lovely mechanical keys. I dismantled several keypads to take out all the individual keys and made a proper keyboard to replace the original dead rubber monstrosity.
At school, I was taking O-level Technology, and you had to do a final year project. I'd seen articles in "Your Computer" about competitions where a micro-mouse robot would have to find its way through a maze. That seemed like a cool idea to me, so I decided to make one, despite not really having much idea how. I hadn't done any digital electronics at that time, but my friend Johnny Tombs (who later went on to be a Professor of Electronic Engineering) had decided to make a parallel I/O port for his ZX Spectrum using TTL logic for his Technology project. I'm not sure where Johnny learned about digital electronics, but he knew what he was doing, and designed a nice elegant circuit board and etched it at home. The Ace had the same Z80A CPU as the Spectrum, so I figured his design could be adapted. After a lot of pleading, he gave my his design and spent some time explaining to me how it worked and loaned me his copy of Watford Electronics catalog. A couple of weeks later all the components arrived, and I spent a busy few days soldering up my modified I/O port on veroboard. Compared to Johnny's professional looking version, mine looked like a mess of wires and chips, but it worked!
So then when it wasn't playing games, my Ace rode about on the top of a fairly flaky micromouse, made in the school metalwork shop out of aluminium sheet, some lego motors, and some light sensors to detect maze walls, exploring mazes. It didn't win any prizes but it did get me an A in O-level Technology.
My school was throwing out an old teletype, so I scavenged that. Then I modified the parallel I/O port to output +/- 12V on one pin, and wrote software to bit-bang RS232 at 110 baud. Back before the Internet, just finding the specs for RS232 was not so simple - our local library was a bit limited in that way - but I got there in the end. A lot of guesswork and trial and error. I don't think anyone made a printer for the Ace, so I may have had the only one. Being able to print code listings really helped, even though the teleprinter only printed capital letters.
Somewhere over the years, with my parents moving house multiple times, the Ace disappeared. Many years later, I found one on Ebay, and still have it. But somehow I never fell back in love with it - it just wasn't as good as I remembered my rather non-stock one being at that formative time in my life.
I think the biggest difference between then and now is the sense of discovery. I spent an enormous amount of time just discovering everything I could about computers and the machines I had access to. Everything from circuit diagrams to compilers. I don't think there's the same level of discovery now because so much else is available. In some ways, a lot of what we could do with a computer was understand the computer itself because other stuff (like games or programs to buy and run) was relatively difficult to get.
Any change you have pictures of it?
So I had to stick with Basic until I finally got my first PC. It was the time when one could order floppy disks preloaded with "sharewares" you selected from a catalog. The first and only I order contained A86/D86 [2] and PygmyForth [1]. I picked up a Forth because I saw ads in magazines for Forth systems featuring multitasking and other wonderful things.
I spent a lot of time with those two, and eventually started to program my own Forth interpreter as any sane person should do... I ended up writing a minimal assembler with the help of A86's extensive manual in order to be able to boot my system from a floppy, modify its source with a block editor, and recompile it from scratch, boot sector included. It's sole use ever was to prove myself I could do those "difficult" things.
[1] https://pygmy.utoh.org/pygmyforthmanual.html [2] http://eji.com/a86/
All my stuff on those days were equally Christmas or birthdays gifts, or having to save up during months.
My first Assemblers were a mix of hand translating opcodes into DATA code blocks, and then I upgraded to hexdump editors, never managed to acquire a proper 8 bit Assembler, and during the first year of PC, MS-DOS debug was the only way.
My first Assembler was also A86/D86 shipped on a 5 inch floppy in a book I think from Sybex, no longer certain.
My FORTH experience with that was writing a subroutine-threaded FORTH for the 6809 under the OS-9 operating system in about 3000 lines of assembler. I wrote to the Forth Interest Group and they sent me a card which had a list of standard words in FIG FORTH, mine complied with that except that I used the Unix-like system calls from OS-9 for file I/O instead of the block scheme most FORTHs used.
[1] The popular 6502 (Apple ][, Atari 400/800, C-64, ...) was particularly weak in support for compiled languages because it had few registers and fewer addressing modes but it was easy to write a FORTH for too.
Another point of view is that the zero page provides 256 registers:
https://spectrum.ieee.org/q-a-with-co-creator-of-the-6502-pr...
"[Bill Mensch]:Rod Orgill and I had completed the designs of a few microprocessors before the 6501/6502. In other words, Rod and I already knew what was successful in an instruction set. And lower cost was key. So we looked at what instructions we really needed. And we figured out how to have addressable registers by using zero page [the first 256 bytes in RAM]. So you can have one byte for the op code and one byte for the address, and [the code is compact and fast]. There are limitations, but compared to other processors, zero page was a big deal."
Best thing you can say about zero page is that it only requires one read cycle to fetch a value from. (Or one write cycle to store a value to it.)
Why ZP isn't like registers: You can't do register operations with it. For example, you can do this with the accumulator:
LDA #03 ; load immediate value of 3. STA $c000 ; store it at $c000.
or
LDA $1004 ; load a value from $1004. ADC $4000 ; add the value stored at $4000. STA $4001 ; store to $4001.
You can't do this at all with a zero page address. You have to go through an actual register first.
Might have been a popular hobbyist machine, though.
Don't remember if it was ROM replacements, or plugged into extension port on the back.
rickcarlino•1w ago
rwmj•1w ago