Elite on the 6502: The original 6502 assembly source, heavily commented
11–20 of 61 posts
Re: Elite on the 6502: The original 6502 assembly source, heavily commented
#12So instead of using some fantasy machines such as LC-3, students can directly get into the world of 6502.
First semester: mostly concentrated on 6502 with a full 6502 CPU emulator as the final project.
Second semester: concentrate on a real machine such as the NES. Students need to learn to improve their emulators to program in it (so, do you need a debugger? a decompiler?), as well as hacking roms, burning roms, using carts to load the games into a real NES, and programming new games for it. The game must run in the emulator as well as a real NES.
Third semester for honour: upgrade to a 16/24/32-bit machine, e.g. 80286, SNES, 68K, whatever, and get some serious project done. Can use C if applicable. The project can even be a simple OS or a BASIC interpreter to pave the way for advanced classes. Or maybe a computer virus, anything that is fun and creative.
OS and compiler classes can also be designed around real hardware and projects. e.g. Porting an early version of Linux to a once popular architecture and add a few small functionalities; Write a compiler for a LISP-like language for that architecture and OS.
You don't even need Data Structure and Algorithm and those BS Java programming classes - they learn them on the way. And if they miss anything they can pick them up on the job.
Re: Elite on the 6502: The original 6502 assembly source, heavily commented
#13Re: Elite on the 6502: The original 6502 assembly source, heavily commented
#14If I were king of the forest, there would be a degree program in Comparative Coding (comparative lit for code). We don’t treat this as a creative discipline and thus we don’t spend time looking at masters, how they were successful and the ways they were just as human as anyone. Someone would get paid for writing stuff like this, same as people getting paid to write about Poe, Cummings, Hemingway, Thoreau. But I guess…
It's a shame because recursive code is often the most clean, elegant and fast for things like traversing trees.
Re: Elite on the 6502: The original 6502 assembly source, heavily commented
#15If I were king of the forest, there would be a degree program in Comparative Coding (comparative lit for code). We don’t treat this as a creative discipline and thus we don’t spend time looking at masters, how they were successful and the ways they were just as human as anyone. Someone would get paid for writing stuff like this, same as people getting paid to write about Poe, Cummings, Hemingway, Thoreau. But I guess…
Should people get paid to write about Poe, Cummings, Hemingway, Thoreau? The original works themselves are pretty accessible. People can just read them and form their own interpretations. I'm skeptical that I really gained anything from reading literary criticism, at least it didn't make me appreciate the original works more or make me a better writer. I understand that there's a long tradition of scholarship in comp…
Re: Elite on the 6502: The original 6502 assembly source, heavily commented
#16If I were king of the forest, there would be a degree program in Comparative Coding (comparative lit for code). We don’t treat this as a creative discipline and thus we don’t spend time looking at masters, how they were successful and the ways they were just as human as anyone. Someone would get paid for writing stuff like this, same as people getting paid to write about Poe, Cummings, Hemingway, Thoreau. But I guess…
I was talking to a friend who works in development and he says that they even frown on recursion now. They think it's too complex and causes junior programmers to footgun. It's a shame because recursive code is often the most clean, elegant and fast for things like traversing trees.
Re: Elite on the 6502: The original 6502 assembly source, heavily commented
#17I think Computer Architecture can be designed around legacy but fun hardwares. So instead of using some fantasy machines such as LC-3, students can directly get into the world of 6502. First semester: mostly concentrated on 6502 with a full 6502 CPU emulator as the final project. Second semester: concentrate on a real machine such as the NES. Students need to learn to improve their emulators to program in it (so, do…
One great advantage to your approach is that emulators are free and some of them, like MAME, have extremely powerful debugging and exploration tools built right in. Plus there's extensive developer documentation, SDKs and instructional materials available for many of the most popular platforms along with lots of commented code disassemblies. Having an actual course structured around curated sets of these materials would be pretty amazing.
Re: Elite on the 6502: The original 6502 assembly source, heavily commented
#18Earlier quoted context omitted.
Should people get paid to write about Poe, Cummings, Hemingway, Thoreau? The original works themselves are pretty accessible. People can just read them and form their own interpretations. I'm skeptical that I really gained anything from reading literary criticism, at least it didn't make me appreciate the original works more or make me a better writer. I understand that there's a long tradition of scholarship in comp…
I don't actually care one way or another about that particular subject, but if you start making judgements about academic fields of study are worthwhile to pay for on the basis of value to society, you allow other people -- more ignorant people, let's say -- with different concepts of societal value to make somewhat unfortunate decisions. You might end up without any new literature at all.
In a world of limited time and resources we always make judgements about which academic fields of study are worthwhile. At some level it's a zero-sum game: time spent on comparative literature is time not spent on philosophy or history or creative writing. So, given that we have to prioritize which people to pay and which courses to require, how should we make those decisions?
Re: Elite on the 6502: The original 6502 assembly source, heavily commented
#19I think Computer Architecture can be designed around legacy but fun hardwares. So instead of using some fantasy machines such as LC-3, students can directly get into the world of 6502. First semester: mostly concentrated on 6502 with a full 6502 CPU emulator as the final project. Second semester: concentrate on a real machine such as the NES. Students need to learn to improve their emulators to program in it (so, do…
I like your idea, though I'm probably biased because I learned computers and computer programming starting with zero experience, zero knowledge and nothing but a 4K, sub-1 Mhz Radio Shack Color Computer. Unfortunately, in 1980 there were virtually no real instructional materials available on microcomputers. Learning consisted mostly of just trying things, typing in listings from low-budget hobbyist 'zines and compari…
I think it's a good idea to go further to work on more difficult retro platforms. I know teachers like LC-3 because it is simple, but I think they underestimate the devoted students.