The Real Story of Hacking Together the Commodore C128
szczys writes "Bil Herd was the designer and hardware lead for the Commodore C128. He reminisces about the herculean effort his team took on in order to bring the hardware to market in just five months. At the time the company had the resources to roll their own silicon (that's right, custom chips!) but this also meant that for three of those five months they didn't actually have the integrated circuits the computer was based on."
The people I knew with 128s back then all used the 64 mode but used the 128 as an excuse to buy a better monitor. I never knew anyone using the CP/M mode.
Mostly random stuff.
I also heard it called Comma-toy and Commode-door, at the time.
The living have better things to do than to continue hating the dead.
From the Article: "Commodore C-128, the last mass production 8 bit computer and first home computer with 40 and 80 column displays"
C-128 was in 1985, the Acorn BBC had 20, 40 & 80 column modes (and a teletext mode) in 1981.
Bil will be teaching a class at the Vintage Computer Festival East next spring. He also lectured about the 128 and Commodore repair at the same event in 2012. Details are on c128.com.
He is claiming a lot of "firsts" that I would swear were in my Apple ][e prior to Winter '85...
Want to do a crazy program you can't write on modern computers?
What?
Simply loop through a sequence of poking two random numbers, and incrementing a number that you print.
What?
Every time, the system will do different things.
What ?
If you did this on a modern computer, eventually it'd corrupt system files and the thing wouldn't boot.
WHAT?
It makes you wonder why modern OSes aren't hardened with the theory: No matter what the user does, allow the computer to boot up safely next time.
You're an idiot.
CLI paste? paste.pr0.tips!
Indeed.
The "reset-ability" of older systems (I myself learned on a dragon32, which is basically a trs-80 knockoff) was very reassuring. You could crash the thing, but press the black button on the side and it's like it never happened.
Of course bringing this to modern computers would probably be hard and have all kinds of other consequences.
Ah, but you weren't a true C64 department-store hacker until you entered the couple of POKEs that disabled RUN/STOP and RESTORE keys before entering that loop.
A lot of early personal computers have a similar story. Software is often written with breadboarded or nonexistent hardware.
What is unique about the idea of custom silicon LSI chips for a 1980's PC?
The original Atari 800 (a design later copied by Commodore for the VIC-20 and Commodore-64 computers) had three custom chips (ANTIC, CTIA, POKEY) which made up the majority of the machine's circuitry when designed in 1978. And the OS and other early programs were written without the benefits of that completed hardware.
Only two LSI parts were off the shelf; the 6502 CPU and the 6520 PIA. Atari later replaced the CTIA with the GTIA (delayed by design issues) and the 6502 with a custom "sally" variant that built in formerly external tristate allowing the ANTIC to shut off the CPU's access to RAM every-other clock cycle so the RAM could be accessed by the ANTIC graphics chip.
That design was in active production for over ten years.
Even the lowly 2600 was a basically a custom TIA chip that originally existed as discrete logic parts wirewrapped together.
I fail to see how this story is either unique or great. If anything, it seems average.
You can certainly do it on modern systems. LOTS of systems are written this way. You write your OS to media that can't be changed after the fact (DVD) and boot from that. No changes to the os can happen without re-burning it. That's how my hardware firewall is setup. It stores logs and such to the hard drive but the entire OS and all config files are stored on a DVD. There's no hacking that and making a permanent change.
The wright ability of modern OS's is definitely a "Feature" and very important, but it does come at a cost to security. But then again, if I had my firewall on a regular hard drive, it could update itself automatically and protect against 0-days before I even had heard about them. It's all a series of tradeoffs.
What he's suggesting is possible but what's far more likely is the application and/or computer would crash long before anything truly bad could happen. In Linux I think you could even script such a thing with ptrace, not like I'd ever bother.
Want to do a crazy program you can't write on modern computers?
What?
Yeah, can't is a blatant lie.
Yeah, that's trivial to do on a modern computer too. A trivial loadable kernel module in linux could do so, for example.
Simply loop through a sequence of poking two random numbers, and incrementing a number that you print.
What?
That is what it says, write a random value to a random memory location in a loop.
Every time, the system will do different things.
What ?
Of course it will. Sometimes you random memory location will be the memory mapped to the screen and a character will show up. Sometimes you'll change a return address on the stack and run some random code.
If you did this on a modern computer, eventually it'd corrupt system files and the thing wouldn't boot.
WHAT?
That's true, eventually you'll write over some file data just before it is flushed to disk and trash a file required for booting. Or screw with memory the file system is using and mess that up on the next write (though given the use of checksums that's pretty unlikely). The key is eventually since you'll have to run it a *lot* of times before it does something like that before crashing itself.
And of course not when running as a normal user process.
It makes you wonder why modern OSes aren't hardened with the theory: No matter what the user does, allow the computer to boot up safely next time.
You're an idiot.
Yes he is.
Computers that have the OS on ROM unsurprisingly aren't susceptible to making the system unbootable by screwing with boot files. The same is true of a modern computer hardwired to boot off of ROM as well though. And of course it makes upgrading that base OS essentially impossible (short of replacing the ROM, or actually using an EEPROM - and of course if software can do the upgrade then the random memory setting could also cause it to happen and screw up booting)
I talked to someone back in the win3x days that deleted his DOS directory because he didn't know what it was, so he figured it wasn't important.
True. I was one of those guys initially. I was a CS major in 1985 and my computer experience consisted of mainframes, CP/M machines and IBM PCs. Anything else was a "toy". I had a new girlfriend who suggested I could do my CS homework at her house because her dad "had a computer". She didn't know what kind it was, but he was an engineer so I figured it was probably pretty nice. I took her up on her offer, figuring that the suggestion was nothing more than a ploy to get me to come over to her house. When we got to her house she took me to the room he used as his office and pointed. I literally guffawed. It was a Commodore 64. She was somewhat offended at my reaction and I quickly apologized. Over the next few weeks I was a frequent visitor to her house and I began playing with the C64. The more I worked with it, the more respect I had for the platform. I especially liked the serial interface and how components could be daisy-chained. Far from being a toy, the C64 had the capability to do some pretty advanced stuff. And it was a LOT less expensive than an IBM PC. Eventually, the girlfriend became my wife, and her dad gave me the Commodore after he moved on to a PC. The wife and I broke several years ago. I still have the C64.
Proverbs 21:19
It past the spell choker.
For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
I used to do shit like that at Federated. Loved Fred Rated.
Why is it so hard to only have politicians for a few years, then have them go away?
...to play Ultima V in dual SID mode.
After several C=64s and the 128, I moved to the Amiga, which got me into the VFX business thanks to the Video Toaster and Lightwave.
Looking forward to reading this article. If it's good I'll stash a copy next to my "Rise and Fall of Commodore" book.
Well, a ROM then was pretty small, but today, given how the BIOS has been redefined - w/ UEFI & all that, wouldn't it be possible again? Take a flash memory device that's 32GB, put an OS in it and make that the BIOS. For the rest of the stuff - the applications and all that, take a suitably sized SSD and put it on that. Anything portable would go on a USB drive.
Lock that OS BIOS, making it alterable only by the owner (in the same way that we currently alter BIOS) and all attacks that cripple an OS should disappear. Currently, the highest serial NOR flash memory density product is a 1Gb flash. How much of Windows 7 or 8 kernels can fit into it? How about Linux, XNU or the BSD kernels?
a couple of weeks later the marketing department in a state of delusional denial put out a press release guaranteeing 100% compatibility with the C64. We debated asking them how they (the Marketing Department) were going to accomplish such a lofty goal but instead settled for getting down to work ourselves.
"First they came for the slanderers and i said nothing."
I was in 5th or 6th grade, and I woke up to a new computer in my room. The printer immediately broke and I noticed the desk was half up-side down. My dad had assembled it and the desk in the dark, during the night, while I was asleep (I'm a heavy sleeper). He was no technician, but I appreciated the effort. I traded c64 games with kids at school and stacks of 5.25 floppies via mail. Commodore games were fantastic; much better than NES. Junior year of High School, I finally had the initiative to figure out what my dad had done to the printer, and it turned out to be a simple problem that I fixed. I used 80 column mode to type and print essays for school for the next two years. Much praise to my old man. Granted, first year of college and he helped me acquire a 386 with Windows 3.0, which I had for three years, then built my own. I'll never forget my C=128. Thanks, dad!
I was a big fan, and a game developer for the C64. Those were the days that a machine could be fully understood by an untrained person with a knack for programming. When the C128 came out, I was interested, especially in the 80 column screen and CP/M software compilers. But there were too many limits on the machine (no hard drive easily added, no real OS, etc.) and it didn't feel like enough of an advancement over the C64. My grandfather did buy one, and I had some time with his, but that never really sparked much either. My next machine would be the Amiga, and as soon as that become somewhat affordable by a college student (the A500), I never looked back.
RM
}#q NO CARRIER
THe 6502 was an amazing processor. the Apple II was also a 6502. Unlike it's near contemporaries, the 8086 and Z-80 (and 6800), the instruction set was reduced. It had only 2 data registers (A,B) and two 8 bit address registers ( X Y) and fewer complicated ways to branch. Instead it effectively memory mapped the registers by using instructions like, offset Y by A, treat that as an address and get the byte at that location. Because it could do all that in one clock cycle, This effectively gave it 256 memory mapped registers. It also didn't have separate input lines for perifprials, and instead memory mapped those.
Nearly every instruction took a microsecond. Thus while the clock rate was 1 Mhz, it was much faster than a 4 Mhz 8080 series chip since those could take multiple cycles to do one instruction. Few memory chips (mainly static memory) could keep pace with that clock rate so the memory would inject wait states that further slowed the instruction time. The 6502's leisurley microsecond time was well matched to meory speeds. Moreover, on the 6502 only half the clock cycle was used for the memory fetch. This left the other half free for other things to access memory on a regular basis.
The regularity of that free memory access period was super important. it meant you could do two things. First you could backside the video memory access onto that period. On the 8080s using main memory you could often see gltiches on video displays that would happens when the video access was overridden by the CPU access at irregular clock cycles. As a result most 8080 series based video systems used dedicated video card like a CGA or EGA. Hence we had all these ugly character based graphics with slow video access by I/O in the Intel computer world. In the 6502 world, we had main memory mapped graphics. This is why the C64/Amiga/Apple were so much better at games.
This regular clock rate on the main meory had a wonderful side effect. It meant you could use Dynamic memory which was faster, cheaper, denser, and MUCH MUCH lower power than static memory. With the irregular access rates of the 8080 refreshing a page of dynamic memory requird all sorts tricky circuitry that trried to opportunistically find bus idle times to increment the dynamic refresh address, occasionally having to halt the CPU to do an emergency refresh cycle before the millisecond window of memory lifetime expired. As a result, the 8080 seris computers like Cromenco, Imsai, altair and Northstar all had whopper power supplies and big boxes to supply the cooling and current the static memory needed.
So the C64s and Apples were much nicer machines. However they had a reputation of being gaming machines. At the time that didn't mean "high end" like it does now. It mean toys. the Big Iron micros were perceived as bussiness machines.
Oddly that was exactly backwards. But until Visicalc, the bussiness software tended to be written for the 8080 series.
I think it was this memory mapping style rather than formal I/O lines to dedicated cards for periphrials (keyboard decoders, video, etc..) that lead apple to strive for replacing chips with software. they software decoed the serial lines (rather than using USART chips) they soft sectored the floppy drives rather than using dedicated controller chips, etc... And that was what lead to making the macintosh possible: less hardware to fit in the box, lower cost chip count, lower power more efficient power supplies.
Eventually however the megahertz myth made the PCs seem like more powerful machines than the 68000 and powerPC.
Some drink at the fountain of knowledge. Others just gargle.
The wright ability of modern OS's
Wright ability: bicycle repair and aeronautical engineering? Man, I'm definitely not taking full advantage of what these new-fangled OS's have to offer.
and than it pissed the spill chuck
Hey, self-love is love too right?
You can hold down the "B" button for continuous firing.
Well, he's saying that you can't write a program that simply twiddles random memory regions because all modern OSs employ protected memory schemes to avoid exactly this. Modern computers are multi-tasking systems that do hundreds or thousands of things at once and doing so would be disasterous.
On an older computer without protected memory you can write such a program and the results are beyond bizzare. Most forget that these old systems are very very "Bare metal". They don't have the layers of abstraction, exception handlers, memory protection, etc that you take for granted. The theory operation for a modern system is to look for dangerous program behavior and to stop, halt, throw an exception, or otherwise bring everything to a screeching halt. The idea is that there is nothing worse than data corruption (Especially silent corruption!) and it's safer to stop than let an unknown or erroneous state continue. Old systems didn't have any of those luxuries, and the aftermath of a program randomly changing memory regions is fascinating. Weird video, weird sounds, drives making odd noises. Those computers were simple and changing a single register would often bring very significant results.
I once read an account from a guy who wrote a simple "game of life" implantation. It worked great, but he forgot to add bounds. A self replicating/crawling pattern "escaped" the edge of the screen and continued crawling through other memory regions not intended for the game space. It said it was fascinating watching watching the computer glitch and and misbehave as the pattern activated registers for all sorts of things from keyboard lights to disk drives.
I called it "Commode-odor". I was an Atari fan, but most of my friends had C=64s.
A few years later, though, I got an Amiga.
But they were what the cool kids had for toys back then.
Cool "affluent" kids, the vast majority of kids back then didn't own computers. It is only on Slashdot where everyone assumes everyone was one of those spoiled suburban kids with a WarGames or Ferris Bueller style set up like they had. You'll see things like:
"When I was 15, my Quantumlink/Compuserve/Source bill was around 300 a month"
I've had hardware dumped on my desk the *day before* the proto is due to ship. I knocked up enough code in a week and a half, it worked great, and survived virtually intact into production.
But here's the rub: as long as I keep on working miracles, the hardware will keep on getting later.
This is such a Slashdot story :)
"A girl invited me to her house on several occasions. Each time, I spent more and more time being impressed with the Commodore 64"
My opinions are my own, and do not necessarily represent those of my employer.
The Commodore 64 had hardware pixel-level smooth scrolling and hardware sprites, putting it close to the 8-bit consoles (Sega Master System and Nintendo Entertainment System) in capability. The Apple IIGS had better color depth but no ability to scroll the screen, so games had to either flip screens or scroll jerkily, like ColecoVision and Spectrum and MSX games.
Well, you know, there was other stuff going on, as her father and step mother were out of town that winter, but this is Slashdot, not Penthouse forum, so...
Hey, I eventually married the girl. ;-)
Proverbs 21:19
you never saw smooth scrolling and sprite movement on a PC.
This was true of CGA, but after EGA and VGA became popular, John Carmack figured out how to use these newer cards' scroll registers and built Commander Keen in 1990.
Excellent, my wife's been on me to upgrade my C64
Table-ized A.I.
"Hey, don't knock masturbation. It's sex with someone I love." - Woody Allen
[UID-HeinzIntel]
Since I designed, wirewrapped, and programmed embedded 6502 and 8080 system in that era I am well prepared to assess your claims. In a nut shell you are an arrogant tard and the original poster is figuratively accurate inexact.
Your post is really bizarre.
Ok, with you there.
Well, that's just a bunch of crap: http://www.obelisk.demon.co.uk/6502/reference.html (look at the "Cycles" column.)
What the original poster was likely saying, since it becomes clear later in the article, was that all the 6502 instructions were divided up into alternating cycles of memory fetches and internal calculations with an exact period of 1 microsecond for those. The 8080 series would use 1,2,3,4 and more with wait states cycles for an instruction with no regular pattern (in terms of future predictable times) of when the bus would be busy.
So you are wrong, have a reading comprehension problem, and are an ass about it.
The Wikipedia article on the 6502 indicates that DRAM access times were on the order of 250ns - 450ns. In particular, 250ns access times are well-matched to 4 MHz clock rates; do the math. At 1 MHz, 250ns DRAM has time to go make a sandwich before it needs to supply the next memory cells.
Sigh, again you have a reading comprehension problem. The original author was discussing static memory. Moreover, the cycle time for memory access always involves some overhead. The time when the CPU reads the data bus needs to occur after the bus has settled which is not at the start of the memories data valid period. But most of all 250ns memory was rare and expensive. Most computers in that time period did use wait states. Why do you think processors even allowed wait states?
Again you are being an ass about this as well.
No. Then, as now, video display glitches were caused by updating video RAM directly outside of a VSync pulse. You could just as easily get video glitches on 6502s as on 808x machines.
that was an additional restriction on 8080 machines. But on 6502 machines one did not have to wait for the vertical sync to update the video memory. In fact that is EXACTLY what the original poster was pointing out, without trying to flaunt jargon like you.
This makes you look stupid now.
Which leads us to:
Patently false. Video memory on an 808x machine (even on CGA and EGA cards) was most certainly memory mapped.
yes it could be done. But then you had the problem of glitches or waiting for VSYNC (or if you liked to live dangerously, HSYNC). It wasn't pretty to build hardware or write code for. Your interaction with it didn't treat it like main memory but rather so
10 FOR Z=1 TO 10000:NEXT:REM DUMMY LOOP TO ALLOW ME TO ESCAPE STORE
20 POKE649,0: REM BYE BYE KEYBOARD
30 SYS 64747: REM AND LEAVE NO TRACE OF TAMPERING!
READY.
PRINT ""+-0
sorry it should be SYS64767
Getting old here.
READY.
PRINT ""+-0
I called it "Commode-odor". I was an Atari fan, but most of my friends had C=64s. A few years later, though, I got an Amiga.
Assuming you mean the 8-bit Atari 400 and 800 (and its compatible redesigns, the XL and XE series), I did pretty much the same thing- was an Atari fanboy, but ended up with an Amiga. When one knows a little more about the "Commodore" Amiga and "Atari", it all seems a bit silly.
The major irony is that the Amiga developers included a number of ex-Atari staff- most significantly Jay Miner- who had worked on the 400/800 and the VCS/2600 before that. It represented (some have argued) a continued thread of architectural design that the 400/800 had significantly improved upon from the VCS, and had the same state-of-the-art custom chipset approach as its predecessors. (Indeed, just as happened with the 400 and 800, the Amiga was originally meant to be a console, before it evolved into a computer).
Also worth noting that "Amiga" was originally an independent company and it was only later bought by Commodore (after some legal wrangling with Atari, who'd had some involvement with them).
Meanwhile, Jack Tramiel had left Commodore (after falling out with the management), bought Atari Inc's computer and console division (i.e. the one that brought us the VCS and 400/800), which formed his new Atari Corp. The latter was a very different company to Atari Inc. (very obviously a much more shoestring operation). The Atari ST was designed by a different team after Tramiel had sacked most of the old Atari Inc. engineers, and very much reflected the "new" Atari; affordable, but much more off-the-shelf parts.
Atari Corp continued selling the XL and XE (cost-reduced versions of the 400 and 800), but they didn't design it; they merely milked the profits from a design they'd inherited while they focused on *their* Atari ST.
So... which was really the "true" successor to the Atari 400 and 800? By any measure, it was the "Commodore" Amiga. Who cares who made it? I briefly owned an ST because I couldn't afford an Amiga, but I ended up selling it and buying the latter a year later.
"Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
Uh, barring an intentional volative act (rooting, flashing) . . . isn't that essentially how an Android system is? And since this involves a conscious, intentional act . . . even some old Apples (II'e?) could be destroyed by "poke 646,1" if I recall correctly (told the power supply that it was supplying low voltage, the P/S would ramp up and burn itself out wihtin a few jiffies).
The software design only took three people to write, Fred Bowen, Terry Ryan, Von Ertwine, contrast that with some other projects ...
"Ah, but you weren't a true C64 department-store hacker until you entered the couple of POKEs that disabled RUN/STOP and RESTORE keys before entering that loop", GrahamCox
...
You're giving away your age
I would prefer the medium-old computers, minicomputers with core memory. So your rogue program would write things into core that could be a surprise the next time the machine booted, because they'd still be there.
Well, my mom was no near affluent. I saved my money for 2 summers and 1 good winter in Ohio mowing lawns and shoveling snow to by my C64.....so don't lump everyone in the same category...moron.
"Computers that have the OS on ROM unsurprisingly aren't susceptible to making the system unbootable by screwing with boot files."
Ummmmm, BIOS. Every computer essentially has an OS in ROM as-is, or it wouldn't DO SHIT.
Might want to go brush up on your A+ skills, Johnnyboy.
Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
Several times in the article, he mentions that the C128 was the last 8-bit computer to be designed. This isn't true -- a year later, Tandy announced the CoCo3, also with 128KB and capable of 80 column text display. It didn't run CP/M, but instead it ran Microware OS-9.
While not originally designed under the auspices of Commodore, the Amiga was also designed with VLSI custom chips. The prototype did not have the chips available, either. Instead, their larger-scale prototypes were the size of a small room. The booth they used at a trade show to demonstrate the Amiga was designed to hide the fact that the walls of the booth itself consisted of the prototypes of the custom chips hidden behind curtains.
It would be cool if we could find a photograph of it.
RIP Jay Miner.
Kriston
The bios is not the OS being talked about, which should be obvious since if that is what you are considering then modern computers are exactly the same as older ones - just turn it off and on again and you'll be back at the bios boot screen just fine.
I wish. Revolutionizing an entire field of science would be pretty good for 3 minutes work after all.
I can tell you don't hold an A+ repair certification, let alone failed high school critical thinking and reading comprehension. Here, let me repeat myself.
"Computers that have the OS on ROM unsurprisingly aren't susceptible to making the system unbootable by screwing with boot files."
EVERY COMPUTER HAS AN OS IN ROM. That's how you can load any other OS onto it in the first fucking place. You brick the BIOS by failing an update. Bad BIOS, system WILL NOT FUCKING BOOT AT ALL (excepting systems with dual BIOS chips for redundancy.)
Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
Except the subject is the higher up OS not the bios. Making the computer unbootable means that the bios fails to boot the actual OS the user wants to run in the context of this particular discussion. Which should be obvious really.
Yes you can brick the bios too - I explicitly mentioned that if your ROM isn't actually RO then if you get really unlucky you could hit the right sequence of pokes to screw with it. Did you get your repair certification without learning to read or something?
Though I guess that you had to change my wording from "the OS" to "AN OS" in order to rant indicates you can in fact read but are just choosing to misinterpret in order to pleasure yourself.
The wife and I broke several years ago. I still have the C64.
Ahh yes, the old wife mate vs the machine issue. Probably been an issue since the first caveman banged out the first wheel. I bet the wife of the first cave monkey to discover fire probably rode his ass over that too.
Don't worry, many of us have had that issue, having to chose between our computer and a mate. Many of us made the same choice you did. Good thing the internet came a long and is filled with porn!
Oh my god, its full of porn!!
Supporting World Peace Through Nuclear Pacification
" I explicitly mentioned that if your ROM isn't actually RO"
NO ROM is RO, excepting burn-once optical discs. Unless you laser-lock the pins after programming, there's always a method for programming the silicon.
"you can in fact read but are just choosing to misinterpret in order to pleasure yourself."
No, you just don't understand what you're talking about. 25+ years of doing this, here.
Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
Yeah, an Atari 800 was my first computer. I know all that history now, but at the time was pretty clueless about it.
No there is not always a way of writing to a ROM purely via software on the machine it is installed in. Congrats on managing no to learn anything in 25+ years of being a shitty repair main.
"No there is not always a way of writing to a ROM purely via software on the machine it is installed in. "
You're an idiot. Man can make it, man can break it, tweak it, or modify it. This is why I do this shit globally for large companies and you're stuck in a single country.
Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
The Sinclair ZX80 and 81, and the TS1000, were really neat machines. The Z80 did double-duty in those, and directly drove the display (FAST and SLOW modes, with FAST being, well, a bit odd). The keyboard was, well, a bit odd is putting it mildly.
My first home computer was a VIC-20, primarily because the TS1000's keyboard was so bad, but I couldn't afford the TRS-80 Model III that I really wanted. The VIC-20 and C64 had real keyboards, and that was a very big deal. The membrane keyboard of the TS1000 was not good at all. But I was and am a Z80 assembler programmer to the core, and so while I had and used the VIC-20 a lot (even built my own memory expansion card with 1Kx4 (2114) static RAM chips) I never really got into 6502 assembler coding.
Good high school memories.....
i remembered the poke 53280 as the outer screen ring since the zero is round and the 53281 is not, thats been what ? 30 years ?
power cartridge for the win, it got me watching interrupts on the fly for the first time, that was one great piece of hardware it was wasnt it
lda $D000,0 ?
Free speech was meant to be free for all... how can anyone grow up in a nanny state ?