- There is "Interesting DOS programs" [1], discussed here [2] but there is no game.
- I installed the dependencies with "sudo apt install libz3-dev libgoogle-perftools-dev" and created the directory and file structure with "make files && ./files"
I was unable to compile enumerator.cpp due to a compilation error (a redefined structure).
"make enumerator2" worked, but I have the impression that the project isn't finished and that it isn't possible to optimize a 6502 program. Moreover, the optimize.cpp file is almost empty and won't compile.
- Here is an article by the author of the reverse-engineering about his work: https://blog.asie.pl/2020/08/reconstructing-zzt/
Check out this one, too: https://museumofzzt.com/article/view/468/a-month-of-reconstr.../
- The source code of the last version of ZZT has been reverse-engineered : https://github.com/asiekierka/reconstruction-of-zzt
The resulting program, when compiled with Turbo Pascal 5.5, produces a ZZT.EXE executable byte-for byte identical to the original.
- Looks like an excellent guide, even for adults!
The fact that each subroutine has its own dedicated window really helped me to create my first complex program when I was young. Type F2 to access any routine directly. A program was a set of subroutines rather than a set of lines.
There was an online help too, and a survival guide.
You can try it out here: https://www.pcjs.org/software/pcx86/sys/dos/microsoft/5.00/ . It will launch MS-DOS 5 on a PC/AT. Type QBASIC to launch it.
- I've recently reverse-engineered 4 programs written in Turbo Pascal 3 and Turbo Pascal 7 for DOS. By hand, so to say, with just ndisasm, a 8086 disassembler. I must be a masochist. The task would have been greatly facilitated by one of these specialized programs.
- Do you have any interest in reverse engineering the LIST program, it was my favorite MS-DOS utility.
- Is it this one ? : https://www.pcorner.com/list/UTILITY/LIST91C.ZIP/INFO/
I'd love to, but I have so many programs I'd like to reverse engineer. Next on my list: an early version of McAfee VIRUSCAN
- Unless my calculations are wrong, executing a NOP (opcode $00) would take 39 cycles (instead of 4 cycles on a 8080).
Here is a simulation of an execution of NOP from the label run_emulator in 8080.s with STACK_BASED_DISPATCHER=false (it's 6 cycles faster)
And that's in the best case with no page crossing.(cycles, instruction) 3 lda (PCL),y 2 tax 2 asl 3 bcc do_tab1 4 sta _jmp2+1 4 lda instruction_length,x 3 beq length1 5 inc PCL 3 bne no_inch_pch 5 jmp (tab2) 3 jmp run_emulator =39
- The link points to the history of VisiCalc. The history of Wordstar is probably this one: https://www.abortretry.fail/p/arrogant-difficult-powerful
Also, as a non-native speaker (and a computer hobbyist, not an educated IT guy), I would point out that the language of this guide seems really-really good.
The author seems to be a collector of old computer books for kids as well [1] -- this very probably also contributes to why his QB guide feels so well polished. The author very successfully avoids overwhelming the kids with programming terms; he is really careful in introducing those. Also, the sentences are simple, short and to the point; and somehow... warm, empathetic towards the (learning) child.
I'm actually in the process of translating this to my language (Estonian), and going through the exercises simultaneously with our 10yo son. I think we're doing great! That Blue Screen of QB really helps in maintaining a child's focus. QB is a notably good IDE for kids, maybe almost unbeatable in this regard even in 2023?
1: http://tedfelix.com/books/index.html and http://tedfelix.com/cs4kids/index.html
2: see also the author's additional tutorial, Sprites in QBASIC: http://tedfelix.com/qbasic/sprites.html