COnsidering the time and the resources, Dave Collier was a very good programmer of a number of games and even advised other C64 programmers in his group.
@@MartinPiper6502 I wonder which game had the *best* sprite splitter... I seem to remember someone mentioning that john twiddy did an amazingly optimal one using a the stack for sorting (ikari warriors or last ninja maybe?)
Good reminder, I need to look at those eventually. :) I seem to recall, although my memory is hazy, that one of those does some interesting stack manipulation for sorting.
Pretty sure what you were looking at was known at the time as the Webbsort, as it was originally coded by Alan Webb, and subsequently used by most internally developed Ocean titles, as well as all those by Special FX and others. The main issue was that for obvious reasons storing as much as possible in the zp limited counts from getting too high.
The history of the "Ocean sort" is probably worth a whole video in its own right. I do have the tools to help scan every game and look for code patterns, which should let me find the earliest examples of this kind of sort. There are roughly three optimisations in this sort: 1) The use of the previous frame sorted data to reduce the work needed in the current calculated frame. 2) The use of an index table, instead of moving/swapping all of the sprite data for each sprite. 3) The insertion sort method itself, which is quite a well known algorithm in the field of computer science.
@@MartinPiper6502 It was quite novel and efficient back then. I first encountered it in 1988 at Special FX and it I believe had been in use there from the start -the studio being essentially a split-off from Ocean run by Paul Finnegan in Liverpool. I assume it had been used there for Hysteria in '87 and when I joined Tony P was coming to the end on Firefly which definitely used it also. Examining those two would show what changed (if anything) on that particular branch.
@@inxe8 Cheers, I'll have a look. The origins and evolution of the "Ocean sort" is really interesting, especially since I was also researching sorts way back in the day.
@@MartinPiper6502 I think eventually Ocean moved to using the sort routine from SWIV. That was the fastest one around when it came out. It would be good to patch Terra Cresta with that sort routine.
COnsidering the time and the resources, Dave Collier was a very good programmer of a number of games and even advised other C64 programmers in his group.
I don't understand much about this but I still like to follow.
I played this a lot in my younger years...the Music from Galway is Epic👍💕
Great analysis and reverse engineering. 👍 I'll always be impressed they were able to do this without the tools and resources we have available today.
I REALY LOVE MY C64 ❤❤❤ FOREVER ❤❤❤❤
These videos are so good! Thank you!!
I remember disassembling this (and slapfight) when I was a teenager, the code was really good for the time!
I was about 16/17 at the time, I think, and trying to write a better multiplexor.
@@MartinPiper6502 I wonder which game had the *best* sprite splitter... I seem to remember someone mentioning that john twiddy did an amazingly optimal one using a the stack for sorting (ikari warriors or last ninja maybe?)
Good reminder, I need to look at those eventually. :) I seem to recall, although my memory is hazy, that one of those does some interesting stack manipulation for sorting.
Hello. what are these additional windows that show the contents of memory and graphics. e.g.: 13:50. Are these any add-ons for Vice c64? Regards.
It's an older version of C64DebugGUI, an extra utility. I think I got it from here: magoarcade.org/c64debuggui/
Pretty sure what you were looking at was known at the time as the Webbsort, as it was originally coded by Alan Webb, and subsequently used by most internally developed Ocean titles, as well as all those by Special FX and others. The main issue was that for obvious reasons storing as much as possible in the zp limited counts from getting too high.
The history of the "Ocean sort" is probably worth a whole video in its own right. I do have the tools to help scan every game and look for code patterns, which should let me find the earliest examples of this kind of sort.
There are roughly three optimisations in this sort:
1) The use of the previous frame sorted data to reduce the work needed in the current calculated frame.
2) The use of an index table, instead of moving/swapping all of the sprite data for each sprite.
3) The insertion sort method itself, which is quite a well known algorithm in the field of computer science.
@@MartinPiper6502 It was quite novel and efficient back then. I first encountered it in 1988 at Special FX and it I believe had been in use there from the start -the studio being essentially a split-off from Ocean run by Paul Finnegan in Liverpool. I assume it had been used there for Hysteria in '87 and when I joined Tony P was coming to the end on Firefly which definitely used it also. Examining those two would show what changed (if anything) on that particular branch.
@@inxe8 Cheers, I'll have a look. The origins and evolution of the "Ocean sort" is really interesting, especially since I was also researching sorts way back in the day.
@@MartinPiper6502 I think eventually Ocean moved to using the sort routine from SWIV. That was the fastest one around when it came out. It would be good to patch Terra Cresta with that sort routine.
Wait did you discover the alien ps1 exploit or did you program
Programmed it