ZX Spectrum birthday


Fzero

Advanced Member
Joined
Mar 9, 2010
Messages
4,702
30 years eh


See Google dedicated their doodle, to that and St George


www.zxspectrum.net Will celebrate with a little Spectrum playing tonight.


List your top 3 for this system
 
Happy birthday Speccy.


Never liked it myself - the screen memory had a horrible 'split in three' arrangement which needed a table to access efficiently, sound stopped the CPU, you had to write for multiple input devices rather than having a standardised input system - I could go on.


Games for it were brilliant and freely available though :)
 
Happy birthday Speccy.


Never liked it myself - the screen memory had a horrible 'split in three' arrangement which needed a table to access efficiently

Untrue. The screen could be accessed very efficiently - that was why it was designed that way.

sound stopped the CPU

Also untrue - accessing sound was a simple OUT opcode and took no more CPU time than any other operation did. You're thinking of the BEEP command, which did halt BASIC.

you had to write for multiple input devices rather than having a standardised input system - I could go on.

I'll give you that, but really the standard input system was either the Sinclair Sticks (67890) or QAOPM/SPACE.

Games for it were brilliant and freely available though :)

You can have that one too :)


D.
 
Happy birthday Speccy.


Never liked it myself - the screen memory had a horrible 'split in three' arrangement which needed a table to access efficiently

The way the screen worked was very clever and helped keep the price cheap and memory use low. The same method was used on the Gameboy Colour years later.
 
Last edited by a moderator:
I must have missed a trick with the Speccy screen. Here's how I got an y position. Pseudo code from memory..



Code:
ld a,y_position

sla

ld ix,screen_table // 16 bit table of screen adresses starting at 0,0 going to 0,240(?)

ld hl,(ix+a) // *edit* can't remember if this was possible but you get the idea

ret

x was just a right shift then and the last 3 bits.


Was there a better way?
 
Last edited by a moderator:
sound stopped the CPU
Also untrue - accessing sound was a simple OUT opcode and took no more CPU time than any other operation did. You're thinking of the BEEP command, which did halt BASIC.

I stand corrected. I was sure sound in the orginal Speccy (pre-Amstrad and the AY chip) meant managing the speaker. As in waiting every frame for a certain amount of time to pass before stopping sound and restarting the main loop.
 
Last edited by a moderator:
Happy Birthday Speccy. Probably the device I've owned that's most directly and indirectly responsible for the fondest memories, oldest friends, and best rainy days indoors I've had.
 
I stand corrected. I was sure sound in the orginal Speccy (pre-Amstrad and the AY chip) meant managing the speaker. As in waiting every frame for a certain amount of time to pass before stopping sound and restarting the main loop.

Yes, that was generally accepted :)


The good thing about the z80 (as opposed to the 6502, which wouldn't have stood a chance of driving a beeper quickly enough while running a game) is that you can flip the speaker output and then go off and do some more game loop, before returning later on. That's how many games managed in-game music and sound effects.


As for your screen table, that was undoubtedly the fastest way to do it but there were pretty simple calculations and shifts you could do to get the same result.


D.
 
Like i said on another forum. 3o years was about the average age of clive sinclairs girlfriends.So a quite fitting number. I remember seeing a speccy covered in sellotape once or twice.Not very robust things I imagine.That coloured stripe is quite iconic though.
 
Like i said on another forum. 3o years was about the average age of clive sinclairs girlfriends.So a quite fitting number. I remember seeing a speccy covered in sellotape once or twice.Not very robust things I imagine.That coloured stripe is quite iconic though.

They were partially made of metal so they were pretty solid, although it was possible to pry them apart as I think they were glued together.


The Pandora keyboard is based on the Spectrum keyboard.
 
The way the screen worked was very clever and helped keep the price cheap and memory use low. The same method was used on the Gameboy Colour years later.

How do you figure? Gameboy Color was more or less like all the other 2D consoles.. or do you mean the colorization for original Gameboy games?
 
The coloured stripe on the corner of the 48k is iconic, in modern times you would imagine it being the computer choice of the gay community.


Nowadays seems that rainbow stripes are reserved for them and nyan cats
 
The way the screen worked was very clever and helped keep the price cheap and memory use low. The same method was used on the Gameboy Colour years later.

How do you figure? Gameboy Color was more or less like all the other 2D consoles.. or do you mean the colorization for original Gameboy games?

Yes, the colour overlay method to make it 'color' when really it was more of a hack. Still, they looked colour (just like the Spectrum games) and it saved a ton of memory (and was pretty fast).
 
Last edited by a moderator:
Yes, the colour overlay method to make it 'color' when really it was more of a hack. Still, they looked colour (just like the Spectrum games) and it saved a ton of memory (and was pretty fast).

That's not how the colorization worked, it was just a palette modification. Maybe you're thinking of Super Gameboy? That had static colorization overlays, although very little used it.


I'd like to say ZX Spectrum was before my time, but really I wasn't exposed to computers at a young age at all and missed out on all the 80s computers.. but my experience with Megazeux feels reminiscent, since that was all about using VGA text mode in a way that's sort of like how ZX Spectrum's graphics were used. I guess you could say the Spectrum graphics were kind of in between conventional text modes and graphics mode: in pure text mode (like MZX) both the character bitmaps and the character palette are indirected on a per-tile basis, while on Spectrum just the bitmaps are.


Not a bad way to support text and graphics using the same mechanism, but I think I'd go with the other way.. start with text mode but supply a lot of glyphs and increase the number of colors per character.. then you end up with console (or C64) style tile graphics. Much faster to load in anyway..

\ said:
The good thing about the z80 (as opposed to the 6502' date=' which wouldn't have stood a chance of driving a beeper quickly enough while running a game) is that you can flip the speaker output and then go off and do some more game loop, before returning later on. That's how many games managed in-game music and sound effects.[/quote']

What about the 6502 do you think makes it less conducive to rendering audio in real-time? It's not like it couldn't do interrupts. It was unusual to see both software generated audio and gameplay at the same time, but the same goes with Z80 based consoles like Sega Master System, where voice samples would usually happen during pauses in gameplay. Do games on the original 16/48K Spectrums really often have music that plays continuously while the game plays? Because w/o timer interrupts that means everything you code has to be done in tiny chunks that don't run for more than a pretty small number of cycles. Even at a really low sample rate like 1KHz that only gives you 3500 CPU cycles between when you have to update that sound bit, which would amount to a few hundred cycles.. that's got to be an absolute nightmare to program a whole game around. Not only because you only have that many cycles but because you have to keep track of how many cycles everything is using so you know when to update the bit.


I can see why the 128K model added that AY-3 chip.. which was pretty bottom of the barrel in terms of sound quality in 1987 but still a huge step up.
 
Last edited by a moderator:
Do games on the original 16/48K Spectrums really often have music that plays continuously while the game plays? Because w/o timer interrupts that means everything you code has to be done in tiny chunks that don't run for more than a pretty small number of cycles. Even at a really low sample rate like 1KHz that only gives you 3500 CPU cycles between when you have to update that sound bit, which would amount to a few hundred cycles.. that's got to be an absolute nightmare to program a whole game around. Not only because you only have that many cycles but because you have to keep track of how many cycles everything is using so you know when to update the bit.

Yes, they did work like that, play a little, run a little code, play a little, hardcoded:

https://www.youtube.com/embed/jJ9eIvksTKg?feature=oembed
 
Last edited by a moderator:
Wow. That speccy music is incredible. Most of the speccy music like that barely had a tune (trantor the last stormtrooper was awfull - but Heartland was lovely). You had to amp the sound up though.
 
Not very robust things I imagine.That coloured stripe is quite iconic though.

They were actually pretty robust - the plastic body was a softer ABS, quite thick and not brittle, you'll not see too many with cracks, they either survive or were abused to death (Daley Thompson's decathlon, I'm looking at you and your spawn). The physical weak points were the DC input socket - not really weak, but because there was no power switch it got used way too much as a 'reset', since most games didn't offer you a 'quit' option so you could embark on the process of loading a new game and boiling the kettle.


The Keyboard membrane - would have survived longer had games like Daley Thompson's olympic button mashing and their ilk not come along in such numbers. Replacing them was a doddle thankfully, and they can still be found today.


They used to get packed in sports or shopping bags and hauled about a lot too (The Spectrums, not the membranes!).

They were partially made of metal so they were pretty solid, although it was possible to pry them apart as I think they were glued together.

The metal template was attached with a kind of double-sided tape at the edges, but that was it - the plastic case was screwed together, no glue. Even on the rubber feet, which were also held on (well, almost - they did fall off in the cold) with a sticky backing. One of the hazards of computer clubs was having your spectrum stripped for spare parts while your back was turned.


Anyone curious about spectrum music capabilities should also check out 'Zombie Zombie', the follow-up to Ant Attack, it boasted 'multi channel audio!' - though I seem to recall it was only during the menus, not in-game. Would have spoiled the atmosphere.
 
Last edited by a moderator:
Yes, they did work like that, play a little, run a little code, play a little, hardcoded:

Note I said often. It's a given some games will do it. That 1KHz number I gave was probably shooting the mark too high, the ones I've seen so far sound pretty awful.. but a lot also have no sound at all..


Unfortunately I can't get a quick idea of many games because all of the big game compilation videos on Youtube play other music on top of it. Which is kind of telling itself.

I think later in the life of the beeper there were more complex and clever ways of handling the sound (let this video get going, the opening is misleading):

Doesn't count, since it's not during gameplay. Even Atari 2600 can do pretty decent music if you throw the entire CPU at it. Although I suppose ZX Spectrum is even worse off.
 
Back
Top