https://github.com/kieranhj/elite-beeba ... ELITEG.TXT
Not much room for comments, variable names or even line breaks! I'd say 95% of the development effort back in those days went into sketching out your solutions with pen and paper. Which in truth are heavily underestimated software development tools today
I imagine this would be much less of a problem with Famicom development, given that cross-compiling was already a necessity and there was more of a natural culture behind it in Japan compared to the teenage bedroom coding in Europe. Still, I would imagine a lot of leeway we take for granted with modern 6502 assembly toolsets just wasn't feasible on affordable computers at the time. And they were probably a semi-expensive resource still - likely one of the historical reasons for the "BG planning sheets" as used by Nintendo, and RARE's custom of having artists do all their art on grid-paper to be entered as hex data.
The most interesting thing for me that might come out of these leaks is more insight into just how simple/advanced the cross-compilation setups of that era were. But from what I've read, it looks like there's very little NES stuff of interest in this "gigaleak"...
Some of the source of mario allstar is from the nes days, as stated by the header in the files.
I can clearly see at least 2 assembly coding styles in the snes sources.
The mario-zelda source looks bad to me:
- all caps all the time
- short cryptic variable names
- subroutines, variable and constants all use the same naming convention
- no clear designation of where a subroutine ends and another starts
- files with thousands of lines of code
- barely any comments
Now, if you look at the FZero source, you will see the programmer(s) has more sensible and modern style.
Since a lot of people seem to be interested in the history and nobody talks about it, I'm starting a video series called "Raster Slaves" where I go back and show you the conditions things were written under.
Its all good to judge the source code for ALL CAPS but it is bold of you to assume the machine actually has a lower case character set. For Example the APPLE ][, Atari 8bit, and I think even the TI 99/4 don't have lower case. The P.E.T was the machine that had lower case and it was a massive selling point. Even though the Commodore 64 has upper and lowercase the default is upper case, so all of BASIC is traditionally programmed in upper case
Code: Select all
10 PRINT "HELLO WORLD" 20 FOR A=1TO200:NEXT 30 GOTO 10
In the early assemblers you only got 6-8 characters for labels, and long labels means the computer has to spend more time comparing, and at 1mhz that time adds up. It can turn a assemble from 4mins into 10mins. You want to optimize the build as much as you can. A lot of assemblers even have "END" directive so you can stop it looking at data to see if its code, or you have a PASS abort command so you can exit a pass early if you know it won't need to look at it to save time.
At the moment I'm porting my 16K game entry code back to TMP, the major problem is the source code is 146K and the Commodore 64 only has 64K and a disk only holds 160K. I'm going to have to rename a lot of things smaller, cut comments.
No line breaks, well what editor where they using, was it a line editor, where you have to select the line and it puts it into a buffer down the bottom and then you edit it back( such as Vi). Since they used HP64000 for Mario Bros 3 we can see the conditions for it. Here is the manual http://www.bitsavers.org/pdf/hp/64000/s ... _Jul83.pdf the max line length is 110 chars, but labels are limit to 15 characters in length. The text also hints that the machines do have upper and lower case sets, but note that all code listings are shown pure upper case. As for blank lines they are on a 80x19 screen as far as I can tell, you don't want to waste one of the 19 on a blank line.
You don't want to switch between multiple files, you have a single tasking machine that can only show one file at a time, you can't just alt-tab it takes a while to switch. So having one file in your local buffer you can move up and down is practically necessary. As you don't have a magic make file that builds the whole thing in seconds. They would need to assemble each ROM complete.
Tetris Attack is a fantastic game, but oh dear the code is a horror show. Great code has nothing to do with game quality. Sure it can hurt, for example Secret Of Evermore is a buggy mess in places, but sometimes even the worst code can make a great game.
When it comes to typing in all caps, it makes me remember how small PC monitors would be, normally. I was still using an IBM PS/1 when I was first learning NES stuff, and 80x25 text mode seemed comfortable to read. If you want more than 25 lines on the screen, you can switch to a higher resolution text mode.. but you might need shove your face against the monitor to read it. In that case, using all caps would simply be more legible.
PS/1 that should be VGA or better era? which gets you 80x50. To be young again when I could read 80x50 on a 14" monitor
This sounds very interesting! Please do let us know when we can watch
But what interests me most is :
Is there any way to get those without hunting for the whole now-taken-down-leak-package ? CV4 is one of my favorite games.Castlevania 4's beta tracks are cool too.
Unless the password has been cracked/discovered.