Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Ok. So the article is not being entirely factual by saying it was coded in BASIC.



No, not entirely, but you'd have needed to poke around a bit (pun intended - not sorry) to realise - if you stop it (I think just RUN STOP + RESTORE was sufficient at the right spots in the game, but if not, a freezer cartridge would make it trivial) and LIST, you get a huge BASIC listing, so a lot of it is BASIC. Here's a Youtube video going through some of it [1]. Especially at the end he lists a large chunk and you'll see there aren't a lot of SYS calls to machine code so it's not surprising people whould think so. In the comments to the Youtube video someone made this statement - I don't know whether or not it's accurate, but it seems plausible (you probably could do much of that in BASIC too, but especially the scrolling would likely be really slow and janky):

> It is mainly the text screens that are programmed in BASIC. The battles are all in machine code, including the sword battles, the ship sailing and the ship battles, the drawing of the terrain and the men walking on the land; basically anything that involved reading the joystick input and displaying sprites is all programmed in machine code and are called by SYS routines from BASIC. I spend many hours exploring the code and hacking the game by changing variables and memory locations.

[1] https://www.youtube.com/watch?v=WJOjSQ0yv8U


That was a common way to code in BASIC on the commodore 64. It's not 100% in BASIC, sure, but you can get it to list the program contents on the READY prompt. "8-bit show and tell" has a YouTube video on it.


I just posted the link to the 8-bit show and tell video, right before seeing your comment. I agree. The bulk of the logic of the game seems to be BASIC, with the bits that'd be too slow otherwise sped up with machine code.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: