1980s / early 90s kids - what computer did you have?

When you think about Z80 machine code you have a couple of registers, to do anything with them you load them with some values, push them onto a stack, run the required operation, then pop off the result into another register.
That's almost exactly how a Forth program is written :)

How exactly does that apply to Forth over any other language?
 
Last edited:
MSX with cartiage slot on and tape player. Time bandit, who dares wins and monaco gp were ace games. Took forever to load a game but was my 1st.
 
Atari 2600
Intellivision
ZX Spectrum 128k
Amiga 500+
Amstrad (green screen thing - horrible)
NES
SNES
Master System
Mega Drive

Oh also had a Neo Geo, Game Gear and Gameboy
 
Last edited:
How exactly does that apply to Forth over any other language?
Because you have to compare it to the interpreters at the time, which were stepping through every character of the line, parsing each command

A=0
B=10
X=A+B
Print X

and doing this in real time, storing each value and then calling subroutines to handle each section, maybe running several hundred bytes of code to complete.

Forth would look something like:
0
10
+
.s

then compile and make this:

LD SP,0FFFFH
LD BC,00000H
LD HL,00010H
PUSH BC
PUSH HL
Call AddStack
POP IY
Call PrintIY

maybe 30 opcodes to complete?
Yes I know all that code is nonsense, this is 30 years ago!!! :D

It wasn't like modern compliers which are huge and can spend all day optimising every little operation. But basically what you wrote in BASIC was nothing like what the CPU ran, but what you wrote in FORTH was just one step away from the actual opcodes.
 
Ahhhhh, the assembler! We did this at uni (Electronic Eng.) for the Motorola 68000 board. Trouble is, we then had to program for a different board the following year which had a different version of machine code, so it was like having to learn it all over again.
 
I think we had the same issue, went from 8085 which was ugly compared to a Z80, to 68000 which was a great processor but still horrible to program.
No memory protection though, so it was doomed.
 
Atari 400.. 8-bit, 16KB ram, came with a couple of ROM cartridges - Pacman and BASIC I believe. Also bought Centipede and Joust cartridges. Added a cassette player/recorder, much love with 1.99 and 2.99 cassette games from Boots (mastertronic / codemasters mostly).

Ended up being a life shaper for me. It was bought with the inheritance I received when my grandad passed when I was seven, probably the best decision that could have been made with it.
 
Started with a 48k speccy, Amiga, PC and all the consoles too. Brings a tear to my eye this thread!

What about David Walliams on Games World LOL...

 
I was the only kid where i lived with a computer.

Acorn Electron was the first, then a Commadore 4+.

Best game on the electron was Twin Kingdom Valley.

First PC was an Opus 286 SX 8mhz, UPGRADED to 1MB of RAM, 20MB HDD and a 5.25" floppy. Games were A-10 Tank Killer and F117-A.
 
Vic 20 > C64 > Amiga CDTV > A1200

A1200 was towered with 68060 and PPC processor card.

I migrated to the PC some time around 2003, just before Planetside lauched. Still got a few Amigas though (just taken delivery of an AmigaOne X1000 ;) ). My AmigaOne XE-G4 is my media server atm.
 
Acorn Electron > ZX Spectrum 48k > Amiga 500 > Amiga 1200 + 030 Accellerator 32MB Ram + 160MB HD > P3 450Mhz and so on.

I still have the Electron and the A1200 :)
 
Today is the 30th anniversary of the ZX Spectrum what a bombshell.

QoCNK.png
 
Ah It's ok. I'm an embedded programmer and that's how I earn my crust.

My background was in 8051 (and all things 8-bit), but now I specialise in ARM.

What do you do? Still enjoying it - not sure I am.

Because you have to compare ito the interpreters at the time, which were stepping through every character of the line, parsing each command

A=0
B=10
X=A+B
Print X

and doing this in real time, storing each value and then calling subroutines to handle each section, maybe running several hundred bytes of code to complete.

Forth would look something like:
0
10
+
.s

then compile and make this:

LD SP,0FFFFH
LD BC,00000H
LD HL,00010H
PUSH BC
PUSH HL
Call AddStack
POP IY
Call PrintIY

maybe 30 opcodes to complete?
Yes I know all that code is nonsense, this is 30 years ago!!! :D

It wasn't like modern compliers which are huge and can spend all day optimising every little operation. But basically what you wrote in BASIC was nothing like what the CPU ran, but what you wrote in FORTH was just one step away from the actual opcodes.
 
Last edited:
Back
Top Bottom