> However, you can save 1 byte of RAM by using the branch instructions instead, as long as you know which flag(s), if any, are guaranteed to be on or off at the jump point.
> For example, if you know the carry flag will always be clear at the jump point, and if the jump distance is within branching range, you can replace JMP with BCC.
However if the BCC crosses a page boundary it'll take 4 cycles, one cycle longer than a JMP.
> having tried to sabotage its Kickstarter campaign back in 2018 by viciously attacking me and attempting to have me "cancelled" for opposing his hysterical far-left views supporting the LGBT agenda and the degenerate filth of unfathomably evil "trans people" aka demonic monsters (views which, for the record as a conservative Christian, I unapologetically find utterly vile and abominable).
Flagged because people like this don't need attention
Ah so with splites you can have a 24 pix wide column of arbitrary data that can be slid around left to right....and may act as an "echo" of the players movement like in this game...or possibly even different physics...
I love the stacking of boolean ops before branches, too.
There is something incredibly refreshing about looking at C64 optimizations. Today we throw gigabytes of RAM at simple CRUD apps, while these developers were counting every single cycle and byte. It’s a good reminder that 'efficiency' used to be a core requirement, not an afterthought.
Chris Wild who ported the Lords of Midnight to the PC, and then later worked with Mike Singleton to create versions for Android/iOS that were unfortunately only published after Mike's passing away, put together this series of articles about the optimisations Singleton used to squeeze so much into the limited memory of the ZX Spectrum and C64.
If I remember correctly Chris ported from the Spectrum. The data structures are particularly interesting using tokens/lookup tables to compress the data as much as possible.
And starting fires or making coats used to be forms of art, now we just buy a Zippo and a London Fog and call it an afternoon. Jobs evolve to specialize. I call that progress.
Luc|11 days ago
> For example, if you know the carry flag will always be clear at the jump point, and if the jump distance is within branching range, you can replace JMP with BCC.
However if the BCC crosses a page boundary it'll take 4 cycles, one cycle longer than a JMP.
LocalH|11 days ago
> having tried to sabotage its Kickstarter campaign back in 2018 by viciously attacking me and attempting to have me "cancelled" for opposing his hysterical far-left views supporting the LGBT agenda and the degenerate filth of unfathomably evil "trans people" aka demonic monsters (views which, for the record as a conservative Christian, I unapologetically find utterly vile and abominable).
Flagged because people like this don't need attention
kstrauser|10 days ago
The anti-trans spew is on the front page.
UI_at_80x24|10 days ago
NedF|10 days ago
[deleted]
empressplay|11 days ago
dorianmariecom|11 days ago
diydsp|11 days ago
I love the stacking of boolean ops before branches, too.
solarisos|11 days ago
dwd|10 days ago
If I remember correctly Chris ported from the Spectrum. The data structures are particularly interesting using tokens/lookup tables to compress the data as much as possible.
https://www.icemark.com/tower/index.html
Also some notes on Doomdark's Revenge where Singleton managed to create a bigger map and feature more characters.
https://www.icemark.com/gate/index.html
stronglikedan|10 days ago
publicdebates|11 days ago