This comes from a piece of medical equipment made by the other S&W, Simonsen & Weel, Denmark, circa 1979.
Each module has 8 x AM2808PC 1024-bit dynamic shift registers, driven by a DS0025CN two-phase clock driver. That’s one kilobyte of storage per module, and you have to keep on clocking the data around the ring otherwise the capacitors making up the memory discharge and forget.
You see, there was Apple DOS (Disk Operating System). And then there were other Disk Operating Systems, faster and therefore better (OK, faster because very often they left out a whole lot of error checking that the Apple DOS performed — but if you have an error there’s not much you can do about it so why check :-)
One of these was Diversi-DOS. It had a splash screen, which of course was stored on the disk, along with display code.
So of course I promptly hacked the splash screen to display my own message. Recently came across a printout from way back then. So here we have some of the first machine code I ever wrote.
086C- 20 2F FB JSR $FB2F JSR $FB2F and $FC58 clears the High-Res and normal text screens.
086F- 20 58 FC JSR $FC58
0872- A0 00 LDY #$00
0874- B9 A2 08 LDA $08A2,Y Y=0, load from $08A2 (it's down there, 8D 8D 8D etc)
0877- F0 07 BEQ $0880 If the value you've loaded is zero, go to $0880 ($00 marks the end)
0879- 20 ED FD JSR $FDED Otherwise print the character ($FDED prints the accumulator A), increment Y
087C- C8 INY
087D- 4C 74 08 JMP $0874 And get the next character
0880- A0 04 LDY #$04 Now, load Y with 4 and jump to the subroutine at $0895, below.
0882- 20 95 08 JSR $0895
0885- C8 INY
0886- C0 20 CPY #$20
0888- D0 F8 BNE $0882 Then, increment Y and loop, stop when Y reaches $20 (32 -- $ indicates base 16)
088A- 20 95 08 JSR $0895
088D- 88 DEY Now do the same thing, but from $20 down to 4.
088E- C0 04 CPY #$04
0890- D0 F8 BNE $088A
0892- 4C FD 08 JMP $08FD And then exit (back to Diversi-DOS)
So here we are with Y=4..31, then 32..5
0895- 98 TYA Move Y to X via A (because this is how a 6502 works) Second TYA maybe a bug*
0896- AA TAX
0897- 98 TYA
0898- 8D 30 C0 STA $C030 Click the speaker by accessing $C030 (yes, one bit, on or off, no Soundblaster)
089B- 20 A8 FC JSR $FCA8 $FCA8 delays for some time dependent on the value in A
089E- CA DEX Now decrement X and loop, i.e. do this as many times as the value in Y
089F- D0 F6 BNE $0897
08A1- 60 RTS And return
08A2- 8D 8D 8D STA $8D8D This is the text that gets displayed by the code up there from $872 to $87E
08A5- 8D 8D 8D STA $8D8D Says "COPIED BY THE DIRTY DEVIL"** in the middle(-ish) of the 40 x 24 screen
08A8- 8D 8D 8D STA $8D8D
08AB- 8D 8D 8D STA $8D8D
08AE- A0 A0 LDY #$A0 $A0 = Spaces
08B0- A0 A0 LDY #$A0
08B2- A0 A0 LDY #$A0
08B4- C3 ??? $C3 = C, $CF = O and so on.
08B5- CF ???
08B6- D0 C9 BNE $0881
08B8- C5 C4 CMP $C4
08BA- A0 C2 LDY #$C2
08BC- D9 A0 D4 CMP $D4A0,Y
08BF- C8 INY
08C0- C5 A0 CMP $A0
08C2- C4 C9 CPY $C9
08C4- D2 ???
08C5- D4 ???
08C6- D9 A0 C4 CMP $C4A0,Y
08C9- C5 D6 CMP $D6
08CB- C9 CC CMP #$CC
08CD- 00 BRK
* As I said, the second TYA is not needed, TAX doesn’t change A. But it’s from the earlier code, which didn’t vary the time of each “note”.
** Which is what I called myself waybackwhen.
The result is a sliding note that slows down as it gets lower, then speeds up again. At full volume (erm, there only was one volume) it’s guaranteed to get attention. Of course some guys were muchmuchmore into this than I was.
Stay tuned (might take a few years) for when I blog about the digitized voice I once hacked into the Diversi-DOS startup screen… yes, you can recognizably digitize a voice using only one bit.
This collection of Elektor magazines I grew up with — obsolete.
A collection of GE Ham News that someone spent money on to have nicely bound — obsolete.
Moore’s law, the speed at which technology moves forward, means that the digital past gets smaller every year. So this is what is left are the tracings of hundreds of people, or thousands, who, 20, 30, 40 years ago found each other and decided to fabricate all this…digital stuff. Glittering ephemera. They left these markings and moved on.
Who wouldn’t want to go back 20 years—to drive again into the office, to sit before the whiteboard in a beanbag chair, in a place of warmth and clarity, and give it another try?
I suppose the URL of this blog gives it away, so nobody will be shocked to hear that I’m often slow to adopt technology.
So I only recently moved to Windows 7 from Windows 2000. You see, there’s nothing really wrong with Windows 2000.
What is wrong is that the latest ChromeFoxEra doesn’t run on Windows 2000 any more, and the latest Flash plugins don’t plug into the earlier versions of ChromeFoxEra, and the older Flash plugins won’t play Youtube movies any more because of a completely misguided opinion that one can make it impossible to download movies off the ‘net if you use the latest greatest features of Flash.
Or something like that.
And with both my home PC and my work PC now running Windows 7 (Classic desktop theme, animations and special effects very much “off”) it was time to upgrade the Mini 9 from XP to 7.
Google gives many hits on how to do this. But those websites / blogs don’t exist any more.
So I followed that, except that I used the very excellent Rufus to make a bootable USB stick.
Peeve: vlite is a nifty tool, but it needs the Windows Automated Installation Kit (WAIK). Download vlite, 1.4 megabytes. Download WAIK, 1.4 gigabytes. Microsoft needs to take some lessons from Steve Gibson.
Touchpad driver: From Synaptics. Yes, you have to download the 118 megabyte file for Windows XP, Vista, 7 and 8, 32 and 64 bit. I guess it’s more convenient for them that way. And you then have to go to Device Settings / Settings to turn off tapping (which is the only reason I needed this driver anyway).
One of the disks that came with my Apple ][ clone contained a little game called Nightmare #6. At the time it completely stumped me, there seemed to be no way to beat the game. I’d worked out that a move consisted of two letters, no more, no less, and that it was possible to lose points quite quickly, and also possible to not lose points, but I never worked out how to actually gain points.
For some reason I thought of this game again the other day, tried to find it. This was not easy, but plenty google later I found it in the Apple Software Bank Volume 1.
Of course my BASIC is better than it was in 1980. I learned that:
You get eleven moves
Each move consists of two letters
Using the same letter twice gives you a “nightmare #6”, which doubles the amount of points you lose on the next wrong move
Re-using the first letter of a previous move gives you “super zonk”, which quadruples the amount of points you lose on the next wrong move
Any other move gives you no points, except when the value of the two letters (A = 1, Z = 26) add up to a multiple of ten.
If the letters add up to a multiple of ten, you score that value, and the score associated with the second letter is set to this same value.
So, NZ (14 + 26 = 40) is a valid move. So is OY, PX, QW, RV and SU. After playing these, you can’t re-use N, O, P, Q, R or S, but U, V, W, X, Y and Z are all set to 40, so UV, WX and YZ are legal moves for 80 points each, and leaves V, X and Z set to 80. VZ and XZ give you 160 points each, finishing the game with 1880 points out of a (claimed) possible 2080 points.
So I thought about it some more. Realised that while NZ is a good place to start, XZ (24 + 26 = 50) is better. Of course this means that PX is no longer a legal move, you can’t play the first letter again. OY, QW, RV and SU are still good for 40 points each, and YZ, WZ, VZ and UZ give 90, 130, 170 and 210 points (because the point value of Z increases every time). But this is only nine turns, and we need eleven. Fortunately we still have J (= 10) and T (= 20) to play TZ and JZ, for a total score of 2280 points.
I still don’t know how the author got to the “possible 2080” points.
In other words, the machine shipped with more power than you paid for, with some kind of a silicon handbrake to cripple the hardware until such time as you could afford to pay for an upgrade.
But that’s long ago and we do things differently now some people don’t learn from history.
3. Once the cat is out of the bag, it becomes trivial to replicate. Even if you DMCA the Wayback Machine, and me, and everyone else… you still lose. See Note 1.
So, learn from this and design better security next time.
These days one can network a bunch of computers for $25 without breaking much of a sweat, since most if not all computers these days come with a network port right there on the motherboard, and if it’s a notebook there will be wi-fi right there as well.
But back in 1987 networks were a big deal. Arcnet came out in 1982 and Ethernet was standardized in 1983 — using almost-a-centimeter-thick coax cables with the delightfully named “vampire tap” connecting stations to the backbone. Yes, we’ve come a long way.
So being able to network two or three machines for $25 was a Big Deal. At around the same time you could get two Ethernet adapters and a cable from LANtastic for $699.
How? Point-to-point serial cables, with one machine acting as a hub in three-machine installations. According to the documentation, this is good for 80 feet at full speed (115 kbit/s). This and some very clever DOS software from D. Jindra and R Armstrong, calling themselves Information Modes and operating from a drawer in Texas. All drives (which in 1987 meant 360k to 1.2Mbyte floppies, and maybe a 20Mbyte hard drive somewhere) and printers could be accessed from all the machines in this network.
It was magic, I tell you. Kids of today, they don’t believe a word of it.
Stellenbosch, 1987. I built this 68000 computer, with 64 kilobytes of RAM and space for three times that much ROM. That’s infinitesimal in today’s terms, but at the time my “personal computer” was an Apple ][ with 64 kilobytes of RAM and 16 kilobytes of ROM, running at 1 MHz. The Apple ][ is an 8-bit computer and my 68000 is a full 16-bit computer, which runs at 8 MHz. Also, I had plans to expand my RAM by at least 256 kilobytes or so.
I’m typing this on a 64-bit computer with 8 gigabytes of RAM running at Idunno, 3 1/2 GHz or so.
Here’s a picture of it. The picture itself is about 43 kilobytes in size, so it would take up about two thirds of my 64 kilobytes of RAM. But there would be no way to display it because I never implemented graphics (and state-of-the-art graphics at the time was VGA at 640×480 in 16 colors).
Here’s a picture of the three boards — processor at the top left (note the huge 64-pin DIP package that is the 68000), memory at the bottom, I/O on the right. It’s pretty close to 64 kilobytes. Here’s what it would have looked like in 16 colour VGA.
The first set of ROMs is a monitor, the second set of ROMs is almost empty — it has a copy of Gordon Brandly’s Tiny Basic as published by Dr Dobbs and typed in by yours truly. I can transfer it to RAM and run it from there. I had great plans but that’s as far as I got…
This memory brought to me by the guys over at Hack A Day, who are building something very similar but with some very modern twists.