Wednesday, October 18, 2006
Old and New
So I've spent a while now implementing scrolling on the Spectrum and its the first Z80 code of any size for a long time and I'd forgotten how processors have moved on over the years. I've been frustrated by little things that you take forgranted on x86, Mips etc.
1. No instruction to add a constant value to a register, only register to register.
2. Rotate instructions only rotate by one at a time... oh to be able to rotate by a variable amount.
3. Lots of registers but a lack of addressing modes, a lot of instructions only allow register to register interactions and that means you need to shuffle them around all the time (and a lack of shuffling instructions (at least for 16bit regs)).
Some things are good though, the ability to use the flags registers as return states (mainly because a lot of instructions do not set them), this makes things much easier in many ways.
More modern processors make it much easier and what is natural these days is far too slow for the old processors, I need to think much more about minimising the amount of work that needs to be done by the Z80, a readjustment in my thinking is needed...
1. No instruction to add a constant value to a register, only register to register.
2. Rotate instructions only rotate by one at a time... oh to be able to rotate by a variable amount.
3. Lots of registers but a lack of addressing modes, a lot of instructions only allow register to register interactions and that means you need to shuffle them around all the time (and a lack of shuffling instructions (at least for 16bit regs)).
Some things are good though, the ability to use the flags registers as return states (mainly because a lot of instructions do not set them), this makes things much easier in many ways.
More modern processors make it much easier and what is natural these days is far too slow for the old processors, I need to think much more about minimising the amount of work that needs to be done by the Z80, a readjustment in my thinking is needed...
Comments:
<< Home
I can't believe you forgot about the rotate! Man are spoiled these days. Even early x86 machines didn't have that! Im sure I remember you having to use a load of single shifts on Lemmings because you didnt want to write 286 code....
Best of luck with the project.
Can't wait to see some results!
Glad someone's getting some use out of Cobra after all these years!
Jof.
Can't wait to see some results!
Glad someone's getting some use out of Cobra after all these years!
Jof.
Glad to hear from you!
any hints and tips on the scrolling from Cobra days? You can only learn so much from disassembling?
Hats off to you though, Cobra has always been my stand out Spectrum game from a technology point of view.
Russell
any hints and tips on the scrolling from Cobra days? You can only learn so much from disassembling?
Hats off to you though, Cobra has always been my stand out Spectrum game from a technology point of view.
Russell
No screenshots just now!
Only programmer art for the moment, so you don't really want to see anything.
As soon as I get something worth seeing, I'll put up some screenshots.
Russell
Only programmer art for the moment, so you don't really want to see anything.
As soon as I get something worth seeing, I'll put up some screenshots.
Russell
Hello Russell, Mike and err... anyone else involved in this project. It's great to see this game in development at all, and I've given it as much of a plug as possible in my Micro Mart column "Retro Mart" :-) for those of you in the UK.
Keep up the good work and I hope to have something to play soon.
Regards,
Shaun Bebbington.
Post a Comment
Keep up the good work and I hope to have something to play soon.
Regards,
Shaun Bebbington.
<< Home