[Computing nostalgia] Ask HN:What are your historic tips and tricks?
Personally, I remember that I knew some tricks with CP/M, but for the life of me, I couldn't tell today what those were :-(
Personally, I remember that I knew some tricks with CP/M, but for the life of me, I couldn't tell today what those were :-(
idkfa made single player Doom a lot easier :)
I was placed in a British Rail office, where people were writing code to do things I don't think were ever explained to me. My "job" seemed to be to make tea/coffee and pretend to understand things people barely explained. There was lots of head-nodding, and similar.
Over the course of casual conversation it became apparent that one of the developers machines took significantly longer to compile the code-base than their colleagues.
I pressed the "turbo" button. The speed increased. People were happy.
That was my sole memorable contribution in the two-week placement. That and an overriding belief that wearing a tie in a development environment felt pointless.
- Precompute your sin table into an array of 255 entries and then access it using index&255 to wrap around to avoid those pesky floating point calculations.
All the jaws dropped after I "guessed" their BIOS password... 11 year old me felt like a magician! :-)
TRS-80 Color Computer 1 & 2:
POKE 65495,0 - high-speed poke (1.79 MHz - double-speed) POKE 65494,0 - low-speed poke (0.895 MHz - normal-speed)
Tandy Color Computer 3:
POKE 65497,0 - high-speed poke (2.00 MHz - double-speed) POKE 65496,0 - low-speed poke (1.00 MHz - normal-speed)
It should also be noted that the POKEs for the CoCo 1 & 2 would also enable a "double-speed" on the CoCo 3 - but IIRC, it only sped up a portion of the system, not everything. There was also an issue on all systems where if running in double-speed, cassette tape and floppy access would have problems (less so on the CoCo 3, as OS-9 Level 2 always ran at double speed). Also, despite what Wikipedia says, the CoCo 3 ran at a true 1 or 2 MHz clock (vs the older CoCo 1 & 2).
Ultimately - these were important because in a system where the CPU did virtually everything (including sound - arguably one of the many reasons it wasn't as successful in the marketplace - though much of that could also be contributed to Tandy/Radio Shack's lack of marketing prowess for the machine - which also competed against their more expensive business models, like the Model 3 and 4).
More PEEKs and POKEs can be found in a few books published back in the day, that can be found on Archive.org and other sites, scanned to PDF for preservation, if you care to look for them.
Virtually all personal computers of the time had these special commands (which were really commands to read (PEEK) and write (POKE) values into memory - useful for a BASIC program to load up and run a machine language program encoded as a series of hex bytes), plus a few others (the Apple series also had the CALL command - CALL -151, was important; it enters the ROM monitor!)
PEEKs, POKEs, EXECs, CALLs, VARPTRs, etc - all important when BASIC just wasn't enough for some purposes; it was the way to give your BASIC code more power. It was also hell at times; anybody of that era can attest to spending hours (days in some cases!) painstakingly typing in row after row after mind-numbing row of DATA statements in a BASIC machine code loader, only to RUN it and have it error out (or get all the way thru, and crash the system - and woe unto you if you had been too foolhardy to save it first!). But you did it to get more powerful features in BASIC (I recall everything from extended graphics routines, to more disk commands, better sound output, etc).
Some links for those who care:
Color Computer PEEKS-n-POKES:
http://www.colorcomputerarchive.com/coco/Documents/Books/500...
http://www.colorcomputerarchive.com/coco/Documents/Books/300...
http://www.colorcomputerarchive.com/coco/Documents/Books/
Apple PEEKS-n-POKES:
http://apple2.org.za/gswv/USA2WUG/FOUNDING.MEMBERS/HOME.PAGE...
http://www.apple2.org.za/gswv/a2zine/GS.WorldView/Resources/...
Damn I miss those days...