News for hackers. Stuff that matters.
Re:Documented and annotated source code for Elite on the Com... by mgkimsal on Friday December 20, 2024 @08:57AM (#42471095)
Very curious how Mark Moxon was able to understand and comment so much of the code. Just... a very big fan with a lot of free time?

No idea how this will be formatted, but the level of understanding in the comments is quite deep for just having access to the original source. Or did the original source have this level of comments as well?

How long does a project like this take to comment?

.QQ22 SKIP 2 ; The two hyperspace countdown counters ; ; Before a hyperspace jump, both QQ22 and QQ22+1 are ; set to 15 ; ; QQ22 is an internal counter that counts down by 1 ; each time TT102 is called, which happens every ; iteration of the main game loop. When it reaches ; zero, the on-screen counter in QQ22+1 gets ; decremented, and QQ22 gets set to 5 and the countdown ; continues (so the first tick of the hyperspace counter ; takes 15 iterations to happen, but subsequent ticks ; take 5 iterations each) ; ; QQ22+1 contains the number that’s shown on-screen ; during the countdown. It counts down from 15 to 1, and ; when it hits 0, the hyperspace engines kick in

Re:Documented and annotated source code for Elite on the Com... by MarkMoxon on Friday December 20, 2024 @09:02AM (#42471128)
This should answer your question:

https://elite.bbcelite.com/about_site/about_this_project.htm...

Some parts of Elite were documented prior to my project, particularly the procedural generation and ship data blocks. But none of it was documented to this level; it's taken time, lots of it!

I love this game, and I figured it deserved a proper homage. Or, to put it another way, this is a labour of love. :-)

Re:Documented and annotated source code for Elite on the Com... by WillAdams on Friday December 20, 2024 @09:05AM (#42471151)
Have you considered turning this into a book?

If you used Literate Programming principles:

http://literateprogramming.com/

then it could become a seamless narrative which could be very expressive.

Re:Documented and annotated source code for Elite on the Com... by MarkMoxon on Friday December 20, 2024 @09:15AM (#42471223)
Yeah, it's a bit tricky when the code you are documenting is copyright, and you aren't the copyright owner. Website is one thing, but publishing a book? I suspect that is asking for trouble.

Also, books can't be updated, and I update this stuff all the time...

Re:Documented and annotated source code for Elite on the Com... by WillAdams on Friday December 20, 2024 @10:08AM (#42471691)
Maybe just make a PDF and publish that to the site?

I am doing that at:

https://github.com/WillAdams/gcodepreview/blob/main/gcodepre...

(but admittedly it's a very different project and no copyright complexities)

Re:Documented and annotated source code for Elite on the Com... by MarkMoxon on Friday December 20, 2024 @10:20AM (#42471835)
Honestly, for me personally and on this specific project with its specific history of copyright issues (look it up!), that would be crossing the line into disrespecting the copyright situation.

Websites are ethereal, in a sense, as they are easy to switch off and hard to copy and distribute. PDFs and books are the opposite. Sure, websites get archived and repos get forked, but I think PDFs and books fall into a different area.

I run these projects very cautiously and very carefully. I don't think publishing a book or PDF containing copyright material is a good idea in this instance, to be honest!

Re:Documented and annotated source code for Elite on the Com... by kstrauser on Friday December 20, 2024 @10:56AM (#42472172)
I understand and respect your opinion there. In the spectrum of copyright violation, I might be willing to let my kid install a copy of a game I bought on their own computer, but I would definitely not sell copies of it.

But it’s a massive bummer to me that copyright is preventing someone from publishing their research on a 40 year old game that hasn’t been available for sale in decades. I don’t know exactly where that lands on my moral spectrum, but I put it far closer to the left than to the right, legalities aside.

Re:Documented and annotated source code for Elite on the Com... by WillAdams on Friday December 20, 2024 @11:17AM (#42472366)
Cogent points.

If you are able to get permission for a game code and then do this sort of analysis as a Literate Program and publish that as a book, you'd be in rather rarified company, and I'd certainly buy a copy.

Re:Documented and annotated source code for Elite on the Com... by hathawsh on Friday December 20, 2024 @12:25PM (#42472959)
You don't need to be the copyright owner. All you need is a license from the copyright owner. It can't hurt to contact Ian Bell and see what you can negotiate. http://www.iancgbell.clara.net/

Edit: never mind, it sounds like Ian sold his copyright and now there's a mess. Hmm. https://arstechnica.com/gaming/2017/03/elite-dangerous-crowd...

Re:Documented and annotated source code for Elite on the Com... by MarkMoxon on Friday December 20, 2024 @01:13PM (#42473349)
Well, exactly. This project is a hobby, and I’d like to try to keep it as my happy place!

Besides, I’ve published PDFs of my travel writing sites, and the thought of trying to keep a code repository, a website and a PDF in sync fills me with dread…

Re:Documented and annotated source code for Elite on the Com... by hathawsh on Friday December 20, 2024 @02:30PM (#42474135)
Good for you! Keep it simple.
Re:Documented and annotated source code for Elite on the Com... by jlarcombe on Saturday December 21, 2024 @01:51PM (#42481416)
Interesting that, Chris Jordan was part of Acornsoft when the original game was being developed and is also well known for his Hybrid Music System for the BBC Micro, way ahead of its time.
Re:Documented and annotated source code for Elite on the Com... by 0xDEADFED5 on Friday December 20, 2024 @03:52PM (#42474908)
I've never owned a C64 or played Elite, but the dedication shown to your hobby is inspiring, thanks for the effort, it's very cool.
Re:Documented and annotated source code for Elite on the Com... by MarkMoxon on Friday December 20, 2024 @06:46PM (#42476272)
Thank you! I came at it from the BBC Micro angle, which was the system I grew up with, and I have to say that analysing Elite been a brilliant way to learn about other 8-bit platforms. I’ve documented the NES version and now the Commodore 64, and the Apple II is next.

It’s the retro equivalent of discovering that if you like the Beatles, you’ll probably like the Stones, The Who and Pink Floyd. :-)

Re:Documented and annotated source code for Elite on the Com... by mgkimsal on Saturday December 21, 2024 @10:33AM (#42480221)
Thank you for your service! ;)

Seriously, thanks for the details. This was a bit of a pivotal game for me in ... '86 IIRC. It's been interesting to see so much of a following over the decades. Just confirms that whatever was intriguing to me connected with so many other people too!

Re:Documented and annotated source code for Elite on the Com... by anyfoo on Friday December 20, 2024 @01:23PM (#42473435)
The comments you pasted in particular are about stuff that makes sense and that someone who wants to fully understand some source code can readily figure out, if they put their mind to it.

It's when things don't make sense that it gets interesting, because then you have to guess the original author's intentions, suspect a bug, question your understanding, or deal with other uncertainties. That's usually when a bunch of question marks start to appear in reverse engineering comments (e.g. "increment xyz???")...

Re:Documented and annotated source code for Elite on the Com... by MarkMoxon on Friday December 20, 2024 @02:18PM (#42473993)
I keep a list of everything that isn’t 100% clear in my commentary, here:

https://elite.bbcelite.com/about_site/to-do_list.html

This is not a big list, and these are all pretty subtle aspects of the game. After 4 years of analysis, I think we’re pretty close to understanding pretty much everything, which is nice.