4 ms·
~5000 lines of code for that? Don’t know if that sounds like a lot or a little but the answer is yes. If you watched the youtube video, yes it was hard do tha
by WhitneyLand 8y ago
~5000 lines of code for that?
Don’t know if that sounds like a lot or a little but the answer is yes. If you watched the youtube video, yes it was hard do that and took a long time.
5000 lines, but if I recall correctly there was no way do something fancy like this using only one line of code:
x = 1000 + 1000
I don’t know what programming courses bother teaching, or even mentioning a line of code like this because, what’s there to say?
I’m not even sure how to put it in perspective to a person under 200 years old that, I had to spend a pretty good amount of time to learn enough to do that (add together two numbers with more than 8-bits each).
And that even the variable x is an oversimplification, because there were no variable names. You had a CPU, a few supporting chips, and some bytes of memory to directly throw instructions at or move stuff back and forth between.
Why would anyone have been interested in doing that?
Not sure, somehow seemed exciting at the time. Should the interest question have a different answer for today’s software when we look back from the future?
Or, are we going to be scratching our heads again? Why did it take them so long to generalize AI they might as well have worked farming the fields?
Can’t recall how much easier it became when you had a “Macro Asseembler” (which I guess most professionals used from day 1 but not always people who got these systems as a Christmas present). Just that finally having one felt like getting some kind of new luxury car.
Yes I know.
And it was uphill both ways to school, and my lawn, and so forth. My apologies.
- jackhack 8y agoOld Apple ][ asm coder here. Don't despair. It's not the merits of your "product" being judged. It's just the wrong audience (mostly). Colleges now don't even bother to teach two's-complement. Of course today's "coders" won't get it. This is a generation that has never had to count cycles, get timing just right, or worry about running out of memory. The idea of paying $1000 for a C compiler or $500 for an assembler (in 1985 dollars!), is almost unimaginable now. I remember the excitement of a 1200 baud modem -- my initial response was "wow! The text is coming faster than I can read it!" The systems were primitive, sure, (but at the time they were amazing!) but this challenge was met with creativity. What the games lacked in photorealism they surpassed with "fun." Programming was learned by doing. And most of the folks I met were amazingly generous about sharing techniques. It was like Jazz musicians sharing a cool lick, with others. There were no books, really. Coding in assembly is like juggling. It takes a little effort to get all the balls in the air and get the rhythm going, then it goes until you hit a roadblock and it all falls down. You plan, think, and start again. >>somehow seemed exciting at the time For you, me, and thousands more, it was absolutely magical. Thank you for sharing this. I'm reading it now and found myself smiling.
- WhitneyLand 8y agoSorry if I implied I wrote this game I did not, just knew like you would what it took to do stuff like this. Glad to see your reply though, as it somehow makes the nostalgia seem less like it was all just a dream. I think you may have had a rougher go of it being on an Apple, I mostly did Commodore stuff. Didn’t the Apple have the nightmare framebuffer layout? Something like 7-bit increments of pixels across a scanline instead of nicely aligned bytes, or some similar bit of graphics insanity?
- jackhack 8y agoThe Apple ][ was actually a joy, but there were challenges : interleaved raster lines and quirks of hires color byte alignment (certain colors could not border other certain colors). As I understand it, commodore had better support for sprites and overlays. And commodore sound may have been easier as well, with a dedicated sound chip (am I remembering this correctly). I'm sure it was a wash, in the end, for which of us had a better experience.
- WalterGR 8y agoColleges now don't even bother to teach two's-complement. I learned two’s-complement in college. And at the least: one’s-complement, sign-magnitude, BCD, IEEE floating point. And arithmetic on same. Which colleges are you referring to?
- scintill76 8y agoI've been taught two's complement in multiple undergrad classes over the last ~8 years, including last semester. I've also been exposed to one's, sign-magnitude, and BCD.
- WhitneyLand 8y agoThe ones with programming courses. This is is just a guess, but the guess is you didn’t learn any of that in CS101. Sounds more EE related. Of course there’s often no clear dividing line between the two. Regatdless that’s assuming a full CS/EE undergrad program in either case. There are tons of people who takes courses, have careers, and all those boot camp style programs. Any way people can learn and develop skills is good, so I don’t suggest any of the above as lesser ways to learn. I’m just unaware of the concepts you mention being taught in typical 100-200 level courses that have emphasis on software programming or computer science.
- wazoox 8y agoI had an MSX in 1985. As a commercial assembler was way too expensive for me, I had to wrote my own one in MSX Basic. And I couldn't afford a floppy drive, either (it was nearly twice as expensive as the computer itself). And you know why I wrote my own assembler? Because I wanted to code games and Basic just didn't cut it. So well, I know your pain :)
- WhitneyLand 8y agoExactly the same scenario for me. The Basic language was great and easy, loved it. However like yourself I wanted to makes games. It wasn’t like you had to learn 6502 to get a mere 50% performance increase. Doing anything with pixels seemed a couple of order of magnitudes slower so it wasn’t really optimizing just required.
- tluyben2 8y agoI taught myself MSX Basic and Z80 ASM by playing around with sources I typed over from mags and by reading tutorials in the same mags. I took me years, during which I made games and other software, until I found I you could code machine language in a different way than 250 data 3E, AA etc. I remember all opcodes until today as I spent years writing software with those, translating by hand. It was fun though: everything was in front of you; no libraries to install and learn, just trying out and learning tricks to optimize and get better results.