Reverse engineered Iridis Alpha

Coders forum. Discuss techniques, swap code snippets, ask for help etc. relating to all forms of software development.
Post Reply
User avatar
TheHighlander
Baa!
Baa!
Posts: 56
Joined: Wed Jun 22, 2022 10:24 pm 0
Location: The Netherlands

Reverse engineered Iridis Alpha

Post by TheHighlander »

Someone by the name of Rob Hogan has disassembled Iridis Alpha, analysed the code and wrote a book about it!

Code can be found here (the code assembles into a running version - with slight adaptation to make the 3rd wave lickers a little easier):
https://github.com/mwenge/iridisalpha

Also a link to the pdf of the book as well as a link to where to buy a physical copy of the book.

Totally worth it!
User avatar
gilesgoat
Sheepie Whore
Sheepie Whore
Posts: 27258
Joined: Wed Sep 03, 2003 7:54 am 0
Location: Monfalcone, Italy
Contact:

Re: Reverse engineered Iridis Alpha

Post by gilesgoat »

TheHighlander wrote:Someone by the name of Rob Hogan has disassembled Iridis Alpha, analysed the code and wrote a book about it!

Code can be found here (the code assembles into a running version - with slight adaptation to make the 3rd wave lickers a little easier):
https://github.com/mwenge/iridisalpha

Also a link to the pdf of the book as well as a link to where to buy a physical copy of the book.

Totally worth it!
THAT BOOK IS MENTAL !!! .. It's one of the DEEPEST ANALYSIS ever made on ANYTHING ! 8O 8O 8O 8O
Giles the billy goat
"Baa"
User avatar
KlaxonCow
Baaaaaaa!
Baaaaaaa!
Posts: 8444
Joined: Fri Dec 13, 2002 3:46 am 0
Location: A large grassy field.

Re: Reverse engineered Iridis Alpha

Post by KlaxonCow »

Due credit to Yak, also, for his "abandonware" policy on old no-longer-making-me-any-money works, which keeps this all above board and legit.

Everyone should do that.

Indeed, I'd argue that's really how copyright law ought to work.

Get rid of the "death of author + X years" formulation - that just keeps going up and up all the time, as a lobbied Congress try to preserve Disney's copyright on Mickey Mouse forever, since Walt is dead (no, really, he is dead - they froze him after death, so he's being kept on ice until not only the point where humanity perfects immortality, but also where we've first perfected resurrection as well. Or, in other words, Walt's wasting his money because, surely, however well-preserved, brain death has occurred and he's gone to oblivion already).

And, instead, it can work like how trademarks already work. If you can demonstrate "an active interest" - that you're still out there selling stuff and making cash - then you can keep extending it indefinitely, by proving, to a court, that someone else's meddling with your stuff is materially injuring you / poaching your income.

Otherwise, if you ain't done anything remotely interesting with it for 20 years, and it makes you no cash anymore, as it's not "an active interest" then, there you go, auto-falls into the public domain.

Yes, that's a bit of a compromise. In that the Disney corporation could then keep Mickey forever, by just showing the folks dressed up as Mickey in their theme parks and argue that, you know, Mickey still drawing them a steady income. So, you know, we're conceding that. But in order to get copyright working more sensibly elsewhere, in the general case, with more old things naturally falling into the public domain at a steadier pace.

And this also means that if big publishers want to hang onto that game / song / book / whatever then they do have to keep it in circulation and on sale. Has to remain in active commercial use.

Well, that's the way I'd do it. Copyright is supposed to be there to protect an artist's ability to make a living from their work, so it should be formulated specifically with that goal in mind, I reckon.

(Mind you, don't put me in charge. I'd also amend contract law to say that you just can't transfer copyright by contract. Not possible. So if big publishers want to make oodles of cash from other people's work, they've got to treat them well and keep treating them well, as you can't take their copyright from them and so have to keep working with them to continually obtain their permission. Which artists can correctly use to ensure these greedy cunts are always paying them fairly and well, or they can piss off.)

If this were Nintendo or "Atari" then they'd probably sue everyone in existence for even the "thoughtcrime" of looking at their code.
"Words ought to be a little wild - for they are assaults of thought on the unthinking."
- John Maynard Keynes
User avatar
TheHighlander
Baa!
Baa!
Posts: 56
Joined: Wed Jun 22, 2022 10:24 pm 0
Location: The Netherlands

Re: Reverse engineered Iridis Alpha

Post by TheHighlander »

gilesgoat wrote:
THAT BOOK IS MENTAL !!! .. It's one of the DEEPEST ANALYSIS ever made on ANYTHING ! 8O 8O 8O 8O
I'm actually reading it while perusing the code (which assembles in C64Studio!) The book is 400 pages thick and it still only scratches the surface really. In the second chapters Rob describes the first 16 milliseconds of building the title screen. He never gets to the actual animations or explaining why the star field is made up of a sprite with a bunch of lines in it. There's so much detail. To describe it all he'd need 800 pages.

I love it. It's a work of passion.
User avatar
TheHighlander
Baa!
Baa!
Posts: 56
Joined: Wed Jun 22, 2022 10:24 pm 0
Location: The Netherlands

Re: Reverse engineered Iridis Alpha

Post by TheHighlander »

KlaxonCow wrote:Due credit to Yak, also, for his "abandonware" policy on old no-longer-making-me-any-money works, which keeps this all above board and legit.

Everyone should do that.
Can't help but agree with that. It's what the most worthy in history have done.
User avatar
KlaxonCow
Baaaaaaa!
Baaaaaaa!
Posts: 8444
Joined: Fri Dec 13, 2002 3:46 am 0
Location: A large grassy field.

Re: Reverse engineered Iridis Alpha

Post by KlaxonCow »

TheHighlander wrote:Can't help but agree with that. It's what the most worthy in history have done.
True. Thinking of how, for example, iD software also committed to open-sourcing DOOM and Quake and such over the years.

(At least until big corporate take-over. But then names like Carmack, Romero and Abrash aren't there anymore, so it's arguably not now the same company, even if it carries the name.)

It is the good guys - the most worthy - who adopt this correct attitude, isn't it?
"Words ought to be a little wild - for they are assaults of thought on the unthinking."
- John Maynard Keynes
User avatar
TheHighlander
Baa!
Baa!
Posts: 56
Joined: Wed Jun 22, 2022 10:24 pm 0
Location: The Netherlands

Re: Reverse engineered Iridis Alpha

Post by TheHighlander »

Exactly, the polio vaccine, Linux, to name only two more.
User avatar
TheHighlander
Baa!
Baa!
Posts: 56
Joined: Wed Jun 22, 2022 10:24 pm 0
Location: The Netherlands

Re: Reverse engineered Iridis Alpha

Post by TheHighlander »

Anyway, to get back on topic...

I've been assembling and running this Iridis Alpha code using the C64Studio environment, mainly because it offers source code debugging which, to my mind is the only way of debugging worth doing. However, it requires the assembler and the environment to work together to accurately locate everything in memory. Setting a breakpoint at the correct address is vital and the IDE lists the addresses for everything.

The problem is that Iridis Alpha is in 64Tass assembly which is not natively supported by C64Studio; it doesn't appear in the list of available assemblers. I can still assemble the code using custom build steps where I simply call the assembler I want, but every time the code lists a .BYTE definition for instance, the IDE doesn't recognise it as something taking up space, so the addresses don't change, messing up everything that comes after. Messing up for debugging that is, not for running the code.

I'm considering adapting the code to the ACME style that C64Studio does support. Meaning just changing all the pseudo operations and perhaps some other things I come accross. The other option is to set the program counter in the code using *=$<address> but that requires me to adapt all of them every time the code changes so I'd rather avoid that.

Perhaps when I've done that I can offer Rob Hogan a branch of the code.
User avatar
corrosive
Baaaaaa!
Baaaaaa!
Posts: 2316
Joined: Mon Mar 17, 2003 11:25 am 0
XBL Gamertag: Corrosive
PSN: Corroded
Location: Newark

Re: Reverse engineered Iridis Alpha

Post by corrosive »

Somehow I missed this thread back in 2023 (probably due to not logging in here very often...).

Anyway, he's now written a book on Psychedelia :
https://github.com/mwenge/psypixels

And another on T2K :
https://github.com/mwenge/TempestVsTempest

(And somehow he's also found time to write a tool to explore the known Linear A documents...)
XBL : Corrosive | PSN : Corroded
User avatar
noodles
Baaaaaa!
Baaaaaa!
Posts: 2053
Joined: Wed May 15, 2002 1:04 pm 0
Location: France

Re: Reverse engineered Iridis Alpha

Post by noodles »

corrosive wrote:Somehow I missed this thread back in 2023 (probably due to not logging in here very often...).
Oh wow, I'd totally missed this! Thanks for resurrecting this thread.
The book is fascinating stuff, exactly the kind of detail I've always wanted to see about a C64 game source code.

During the Covid thing, I disassembled a cracktro to see how it was done and commented it almost line by line.
Took me around ten days and I learnt a lot about the inner workings of my first machine.
Lots of funny stuff like using the stack to hide code in or under the basic rom space.
Found a hidden message in the char graphics too with an insult to whoever was reading it. XD
Post Reply