Pong in Z80 #fail

I was working on this and making steady, if extremely slow, progress when I went a bit mad with the CNTL keys during some debugging in Zeus Assembler, and before I knew it, I’d pasted some guff over half my code, I tried to backtrack… then go forward… and try to piecemeal edit bits from memory, but the net result was I’d destroyed all my work. No backups either! DOH. Just a few days before I was thinking “I really should upload this into git” but nope, too late, in a moment of madness where I felt that success was near, I inadvertedly smashed it all up. Anyway, no matter, the point of all this was to learn Z80 , not make another zillionth Pong clone, so if that was my target, then I am okay with how things worked out. I know stuff now that was some esoteric mystery just a couple of months back. Stuff like the IX register, stack pointers, bit swapping, XORing, conditional jumps , integrating BASIC with ASM. All useful stuff. And also I learnt to regularly put stuff into git!! I have to say the most useful thing by far (and so useful I am now Patreon’ing the guy) was the videos on YouTube by Keith for his Chibi Akumas Amstrad CPC game. I was never an Amstrad kid, but the Z80 is near enough to the Spectrum to convert the code ,and actually I wish now I actually had an Amstrad back in 1984, it appears a far easier system to code in. Ah well, if wishes were fishes etc etc. I would strongly recommend Keith’s videos as he’s a great presenter and really makes tough Z80 related topics consumable. I have now decided to move onto a slightly tougher Z80 project and attempt a racing or perhaps flying type game. The journey continues!

posted on Dec 14, 2018
Category: Z80 | Comments Off on Pong in Z80 #fail

Pong in Z80

After much trial and error I got a little bit further¬† with this. It’s not easy simply because of the time intervals I am having to leave between sprints, this sort of project ideally lends itself to a daily effort and doing a bit each day, so I am having to constantly re-read what I did the previous attempt (which invariably was weeks ago)¬† this then becomes a chore and sucks the life out of wanting to continue (it’s meant to be fun right?).

Z80 is easy to understand, but it’s also incredibly easy to fuck right up, literally with a single character , or a misplaced parentheses change within the code, you can stuff the entire thing up. It’s not easy to debug either.. I am sure there is probably some neat techniques to do so, but I haven’t worked it out and frankly I don’t really have the time to either. Debugging is an art all onto itself. Anyway, I just might leave it here for the time being and move onto the next thing.

 

 

posted on Nov 11, 2018
Category: Z80 | Comments Off on Pong in Z80

Hello World

Here is a standard Z80 Hello World, there are actually many, many ways you can pull this stunt off, but this one appears to be the most concise and least labour intensive. It basically utilises the routines already in the ROM rather than you have to develop your own Z80 print routines (these are the CALL statements)

 

org $8000
call 3435
ld a,2
call 5633
LD HL, String
LD B, 14
Loop: LD A, (HL)
INC HL
RST 16
DJNZ Loop
RET
String: db 16,3,'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd','!'

posted on Oct 20, 2018
Category: Z80 | Comments Off on Hello World

Z80 Books assessment

 

Slowly making my way through books some 30 years out of date, and I’m struck at how educational writing has changed. The writing back then was very amateurish with ideas and topics presented in a fairly mundane way or too often drifted off into irreverence, caught up in an topic that could have been dealt with in fewer words and made more consumable. I suspect the reason for this was; these books were rushed to meet a market need, quality was ditched in favour of speed, and there wasn’t an able editor to go through the material and offer constructive feedback for a re-write or request for diagrams.¬† All this is pandering to the hubris within me that I feel I can do a better job at explaining what’s going on and pitching in a way thats both fun and easy to learn, but the reality is, who would care? It’s a retro scene fetishism only. It would be like writing a book about how 3.5ich disks worked! They are dead, something only for the few remaining sadoid retro die-hards to indulge in. The written archaeology of obselete tech. Anyway, I’m somewhat underwhelmed by it all thus far and its given me a fresh perspective on how great the writing is in for example books printed by O’Reilly. I still have 3 or 4 more to read. Slow but steady progress. Definitely no stand out books thus far. Hopefully theres a gem amongst the rubble.

posted on August 16, 2018
Category: Z80 | Comments Off on Z80 Books assessment

Z80 Books

There’s quite a few books on Spectrum Z80 machine code, most are ancient and sadly are showing their age. Below is a picture of all the books I own on the topic. This is a collection of stuff I’ve had since I was a teen and carried it around for 30 years, stuff found in carboot fairs and eBay. I’ll go about reviewing each one in the “books read” section.


 


 

posted on August 12, 2018
Category: Z80 | Comments Off on Z80 Books