3 ms·
Thank you for writing Apple Writer. 1. I wrote most of my high school reports on it. 2. I once wrote a set of WPL programs to automate the generation of multi
by nogoodnik 13y ago
Thank you for writing Apple Writer.
1. I wrote most of my high school reports on it.
2. I once wrote a set of WPL programs to automate the generation of multiple-choice tests, and sold it for $50 to my uncle who was a physics teacher.
3. Apple Writer was the second program I disassembled from beginning to end (the first was Locksmith Fast Disk Copy), learning a lot in the process.
- lutusp 13y ago> Thank you for writing Apple Writer. You're welcome! I know this is a predictable remark, but I miss the good old days. The Apple II was so simple and understandable that I was able to write a program that played two musical notes at once (I called it the "Electric Duet"), in tune, and a fairly tolerable sound, even though the speaker was driven by a TTL output (meaning no analog level control). If the Apple II had had interrupts, my program would have stopped working. I know this because an Apple II successor supported a mouse, the mouse required an interrupt, and it ruined the performance of my program. Oh, I almost forgot -- Tom Clancy wrote "The Hunt for Red October" on Apple Writer.
- joezydeco 13y agoAnd thank you for writing Electric Duet! That program inspired me to (cough) take it apart and understand how something so cool could come out of the Apple II's speaker. That exercise taught me 6502 opcodes and I've been working in embedded systems ever since.
- lutusp 13y agoLooking back, I realize I must have spent two weeks just writing the Electric Duet player, because the time through the player loop had to be constant. The loop read through the notes to be played, synthesized them, and changed their duty cycle, but had to use the exact same number of machine cycles regardless of what it did, so the music stayed in tune. Near the end of the project, I had two problems: the music was slightly off-pitch -- middle A wasn't exactly 440 Hz -- and the number of machine cycles wasn't quite constant (it varied between 40 and 41 cycles depending on which branches the code took). Finally I realized I could insert a single NOP (no-operation) instruction at a critical location. The NOP forced the number of cycles to be a constant, regardless of the path through the loop, and I then realized that it also slightly changed the output frequency to be tuned exactly right. I will always remember that moment. :)
- joezydeco 13y agoI've had similar situations, but never as victorious as that. That's awesome. Thanks for sharing that story....(now I want to get that code back somehow and look for that NOP)
- NotAnEngineer 13y agoHorribly off topic, but what is the current status of the Electric Duet player routine? I read somewhere that you had placed it in the public domain in the 90s, but I can't find any confirmation of that.
- lutusp 13y agoI didn't really "place" it in the public domain, I just let nature take its course. The inevitable result is that there are now only versions of the program online in which my name and copyright notice have been removed: http://www.youtube.com/watch?v=6FDtXflMBmw http://www.youtube.com/watch?v=6FDtXflMBmw I searched for the original program online, but couldn't find it -- only the pirated version. By "pirated" I mean someone has removed my copyright notice and offered the program as their own, successfully replacing the original in all online archives.
- NotAnEngineer 13y ago(Obligatory: OMG, I'm talking to Paul Lutus!) Yeah, the Apple II era seems to have been particularly destructive with removing copyright notices in favor of "crack screens" and other drivel. Bleah. More recently, I've been working on my own Apple II game (really). I'd like to release it fully open source, which makes it particularly challenging to use third-party libraries since open source wasn't really a "thing" when they were written. Some of them (notably old Beagle Bros. disks) have since been explicitly placed in the public domain. So... I would very much like to have some Electric-Duet-based music and sound effects in my upcoming open source Apple II game. (Yes, I just typed that.) Would you be willing to relicense your amazing player routine under an open source license, or to place it in the public domain? I would, of course, give you full copyright attribution in the scrolling credits screen or wherever you'd like.