To be fair, those memory mapped locations of the C-64 were APIs… for accessing the graphics, sound, and i/o capabilities of the system. It was a pretty nice design. One abstraction made the entire system programmable in a flexible, intuitive way and played well with the CPU’s native machine language. You just needed a good memory map. (A knack for memorizing useful memory locations didn’t hurt either)
Learning BASIC Like It's 1983 (2018)
31–40 of 93 posts
Re: Learning BASIC Like It's 1983 (2018)
#32Many weekends were spent typing lines and lines of code to make simple games. Then we'd save stuff to tape - after we'd spent hours and hours debugging, of course.
Elite occupied me for months. Then Forest at World's End, which I mapped out on a bunch of sheets of A4 taped together.
When I got older I hacked my joystick port and connected it to a water chaos wheel I'd made out of an old bicycle rim and some other bits, then I wrote a BASIC program to visualise the movement of the wheel, monitoring direction via the hacked joystick port.
Oh man. Fun, fun times :-)
Re: Learning BASIC Like It's 1983 (2018)
#33Earlier quoted context omitted.
Yeah, sort of the same today. The C64 was incredible but I thought skipping Basic and going straight to 6510 assembler was the way to go. Got all those extra sprites by interrupting the scan lines, the huge performance advantage, etc More than once I wiped my source code while zeroing memory. I enjoyed Byte magazine but Compute! was my favorite: https://www.commodore.ca/commodore-gallery/compute-magazines... In my op…
I always wonder what could have been, if the Commodore 64 and similar machines would have come with Forth instead of Basic.
I think the answer is: They wouldn't have sold very many :-(
Re: Learning BASIC Like It's 1983 (2018)
#34Shout out to Rodney Zaks and his Z80 assembly programming book. Books were so important back then to learn things, especially if you were somewhat isolated. Those of us who owned offbeat PCs in the early 1980s probably were more motivated to learn our machines as the games and whatnot were much more limited. Wish I had never given away my Microbee...
Re: Learning BASIC Like It's 1983 (2018)
#35Re: Learning BASIC Like It's 1983 (2018)
#36Earlier quoted context omitted.
We still have that 80s experience. Lest you forget, the TI83/84 is the only Collegeboard approved graphing calculator for the SAT and is thus the public school standard through to today. Well into the 2000s and probably still now bored teens have TI BASIC with them.
On US. That was never a thing in many European countries. For example I was always a Casio user. FX-4500P, FX-880P and CFX-9850
Me and a friend in my math class spent a lot of time writing programs in TI-BASIC.
One of my “proudest” creations was an implementation of Snake. My version of Snake has a particularity to it tough. The features I was using to keep track of segments of the snake were slow to access, and the slowness increased with more data.
So whereas the real snake goes faster and faster over time to make it harder and harder, my snake went slower and slower. And when the snake in my game reached a certain length, the game crashed :p
But that’s ok, I had a lot of fun anyways. My version of snake did not need to be perfect. I liked to play it anyways.
I also transferred my Snake game to the calculators of some other people in my classes so that they could play it too. I don’t remember if that was a case of other people asking for a copy of the Snake game I’d made, or if it was more like me convincing others to allow me to put a copy of the game on their calculator. I like to think it was the former, but it is just as likely that it was the latter :p
Re: Learning BASIC Like It's 1983 (2018)
#37Agree with the author’s thesis of how the folks that “grew with computers” have an advantage over those approaching them now, in terms of understanding the inner workings. I’m not sure that this matters much in terms of solving actual problems though, which is probably a good thing. But I somehow find it a little bit sad that this is the case, so I’ll plug my own https://www.endbasic.dev/ because it’s very fitting in…
let's not overly romanticise it though the vast majority of people with access to computers in the 80s didn't harness the opportunity to be able to understand a lot of what was happening that was always going to be the case, and similarly people nowadays more often than not don't harness the vast opportunities that they have at their fingertips
- Working out the 'infinite lives' Poke for a game; this typically involved loading the game's machine code, searching for the 'dec a' and 'dec (hl)' instructions and poking a 'nop' into each location in turn and trying the game. This crude approach was surprisingly effective
- When the microdrive (a fast tape device) came out, getting your games stored in that. This was a challenge as the 'drive required extra ram but there was none spare if the game was 48k. I worked out an elegant hack that involved multiple loads of the game into different areas of memory, including one that wrapped around the top of memory, 'wrote' most of the remainder into ROM and then the last few K into the screen buffer, which is how you got the extra space needed. Then a short routine to reorder everything tacked on :)
Re: Learning BASIC Like It's 1983 (2018)
#38I understand the point the author is trying to make: computers were simpler in 1983 than today, so you could actually understand how they worked, if you studied the technical specs. There was not some big operating system in the way. Operating systems were literally referred to as "disk operating systems," because that's pretty much what they did: mediate loading and saving data to disks. And that's all a good story,…
Simply typing in a PEEK or a POKE may not have told you much about how it happened, but peel back that one layer and you are learning about how memory is organized, hardware registers, and other low level fun. Peel that back another layer and you are starting to learn about EE.
Contrast that to today. Chances are that you are going to have to peel back several layers before you even bump into the OS kernel. Depending upon the language and the libraries, few of those layers will say anything meaningful about how the computer works. Things progress somewhat more rapidly after that, in the sense that each layer of abstraction will be more meaningful, but you will still have to peel back multiple layers before you touch hardware.
I don't think the article was saying that you automatically learned more about computers through the simplicity of older systems. I think they were saying that it was much more accessible to those who decided to do so.
Re: Learning BASIC Like It's 1983 (2018)
#39Earlier quoted context omitted.
On US. That was never a thing in many European countries. For example I was always a Casio user. FX-4500P, FX-880P and CFX-9850
My high school in Norway used TI-84+ in the math classes and exams. Me and a friend in my math class spent a lot of time writing programs in TI-BASIC. One of my “proudest” creations was an implementation of Snake. My version of Snake has a particularity to it tough. The features I was using to keep track of segments of the snake were slow to access, and the slowness increased with more data. So whereas the real snake…
Re: Learning BASIC Like It's 1983 (2018)
#40To be fair, those memory mapped locations of the C-64 were APIs… for accessing the graphics, sound, and i/o capabilities of the system. It was a pretty nice design. One abstraction made the entire system programmable in a flexible, intuitive way and played well with the CPU’s native machine language. You just needed a good memory map. (A knack for memorizing useful memory locations didn’t hurt either)
That said, even firmware calls (the closest thing to a modern software API) were a different beast back then. You could buy documented assembly dumps of the ROM for some computers. Not only was it useful for figuring out how things worked, but you could figure out alternate entry points to use that firmware in undocumented ways.