[HN Gopher] Yes, the Apple II MouseCard IRQ is synced to the VBL
       ___________________________________________________________________
        
       Yes, the Apple II MouseCard IRQ is synced to the VBL
        
       Author : mmphosis
       Score  : 60 points
       Date   : 2025-05-08 12:19 UTC (10 hours ago)
        
 (HTM) web link (www.colino.net)
 (TXT) w3m dump (www.colino.net)
        
       | vardump wrote:
       | Such an odd choice not to have a timer interrupt on Apple II and
       | then having to do this kind of trickery on a MouseCard. I guess
       | this saved a few bucks...
        
         | zellyn wrote:
         | That sentence is the Apple II hardware in a nutshell! save a
         | chip or two but completely scramble the video buffer?
         | Absolutely!
         | 
         | The Commodore 64 is _so_ much better for graphics and sound
         | it's not even funny, but if you look at the timelines, it came
         | along a _while_ later than the Apple II.
        
         | AndrewStephens wrote:
         | I had an Apple][+ back in the day. You have to understand that
         | the Apple][ predates what we think of as 8-bit computers by a
         | few years and the fact it was cheap enough to mass produce was
         | a minor miracle. Corners were cut everywhere, the Apple][+
         | didn't even have lowercase letters, a way to detect key up
         | events, or a sensible frame buffer in hires mode.
         | 
         | In its defense, it also predates a lot of what we take for
         | granted. The idea that a game might want to scroll smoothly or
         | update at 50/60 FPS without flickering just didn't occur to
         | people in 1979.
        
           | mrob wrote:
           | Galaxian was released in 1979 and features a smooth scrolling
           | background and non-flickering sprites, all at 60 FPS. It's
           | especially notable because it was the first game to use
           | dedicated tiles + sprites graphics hardware, which would
           | become the standard for arcade and console hardware and the
           | main reason why those games looked different from computer
           | games. The earlier Space Invaders (1978) had the CPU draw to
           | a computer-style frame buffer with minimal hardware
           | acceleration (only a barrel shifter to speed up horizontal
           | movement). This was too slow to update all the aliens at 60
           | FPS so they would only speed up as the number remaining
           | decreased (which worked out well from a gameplay point of
           | view, but the original reason was a technical limitation).
        
             | AndrewStephens wrote:
             | OK, you are technically (the best kind of) correct. Some
             | people were thinking of scrolling and sprites in 1979 but
             | those people were using expensive dedicated hardware that
             | would take a few years to filter down to home computers
             | once people saw the advantages.
        
               | wat10000 wrote:
               | It's easy to forget how far apart the low and and high
               | end used to be. When the 8-bit Apple ][ was the hot home
               | computer, you could buy machines with 32-bit CPUs with
               | megabytes of RAM, virtual memory, and floating point,
               | running a multitasking, multiuser OS. But such a thing
               | cost more than a luxury car, maybe more than a nice
               | house.
               | 
               | Cost was _the_ innovation for those early home computers.
               | They weren't doing anything remarkable, except for doing
               | it at a price ordinary people could actually afford. If
               | you were willing to spend more (because the computer ran
               | your payroll, or because the computer got people to drop
               | quarters into it all day long) you could get much more
               | capable stuff.
               | 
               | These days you can drop a few hundred bucks and get
               | something that's not too far off from the best that money
               | can buy. The main difference between a cheap PC and what
               | passes for a "supercomputer" these days is that the
               | supercomputer has much better interconnects and there's
               | just a lot _more_ of it.
        
               | philiplu wrote:
               | My first computer, purchased in 1978 for about $700, was
               | an 8k Commodore PET. I've just finished building my first
               | new PC in 15 years; a Zen 5 9950X with 96G RAM and a 4TB
               | PCIe-5 SSD for about $2800. That's roughly the same,
               | inflation-adjusted, as that PET!
               | 
               | It's been a real trip watching the accumulation of
               | exponential improvements the past 50 years.
        
               | wat10000 wrote:
               | And if you managed to go out and spend a million dollars
               | on a computer instead, it wouldn't be all that different
               | from what you bought here. The CPUs would be very
               | similar, similar RAM and storage, etc. It would be a lot
               | more powerful, but that mostly comes from scaling
               | horizontally. More RAM, more CPUs, more everything. But
               | it will run the same sort of software and run most of it
               | about as fast, just more of it at once.
        
               | vardump wrote:
               | https://en.wikipedia.org/wiki/Atari_8-bit_computers
               | 
               | Atari 800 Home Computer System was released in 1979 and
               | had both bitmap and character graphics as well as
               | sprites.
        
               | AndrewStephens wrote:
               | The Atari really did have amazing graphics capabilities
               | but the basic Apple][ design predates it by at least 2
               | years. Apple were slow to add graphical enhancements to
               | the ][ line, perhaps not wanting to be labeled as a mere
               | "gaming" machine.
        
               | EvanAnderson wrote:
               | Atari had the capital to use custom ASICs to provide that
               | functionality. The Apple II was all off-the-shelf parts.
        
         | colinlm wrote:
         | To be fair, starting with the Apple IIe, the $C019 softswitch
         | is a good, light way of syncing to VBL. Doing it with the mouse
         | IRQ has an advantage when one requires a mouse, though: it
         | works the same way on the whole line of Apple II computers,
         | starting with the II+.
         | 
         | Without the mouse IRQ, if one wants to support the whole line
         | of Apple II computers, one has to vapor lock on the II+,
         | remember that the IIgs's $C019 high bit means the inverse than
         | the IIe, and the //c requires more trickery around it. (cf http
         | s://github.com/cc65/cc65/blob/master/libsrc/apple2/waitv...)
        
         | mjevans wrote:
         | Everything was _way_ more expensive back then, and the CRT
         | monitors had to be driven with electron beam steering gaps
         | (blanks) while the output cycled to the next row.
         | 
         | Thus there was downtime for an otherwise idle chip to do some
         | work, and yes, saving a few dollars or 10s of dollars in 1970s
         | money was a LOT of money!
        
         | thought_alarm wrote:
         | It's not odd at all for a machine that was designed in 1976/77.
         | 
         | However, for a machine released in 1983 (the Apple IIe) it is
         | indeed very odd. But the IIe is an odd machine in many ways.
         | 
         | The Apple II platform stagnated as Apple poured all their
         | resources into the Apple III (which has all those features and
         | much more).
         | 
         | The Apple II refused to die, so Apple assigned a pair of
         | engineers to design a cost-reduced version of the Apple II, and
         | this became the IIe. The goal was only to minimize
         | manufacturing costs, so the new features like timers were off
         | the table.
         | 
         | The IIe became an unexpected smash hit in the home and
         | education markets (stealing those markets from the 128k Mac),
         | and only then did Apple devote some new resources to the
         | platform (and reposition the 128k Mac as a laughably
         | underpowered productivity machine).
         | 
         | The Apple IIc (1984) was the first Apple II to get a proper
         | modern makeover. Of course it was a flop, while the odd-ball
         | IIe continued to fly off the shelves.
        
       | empressplay wrote:
       | That mouse card is tricky to emulate. I'm surprised actually that
       | the author's shufflepuck port seems to work fine in our Apple IIe
       | emulator, microM8, since our mouse code is a bit of a mess!
        
       | NBJack wrote:
       | Oof, that website is not vision friendly. I'm all for cool fonts,
       | but thin fonts that are also faded grey? My eyes hurt trying to
       | read it.
        
         | Narishma wrote:
         | Use reader mode.
        
           | crazygringo wrote:
           | That is not a helpful reply.
           | 
           | Lots of browsers don't have reader mode, or it sucks. Chrome,
           | for example, puts it in a tiny narrow _sidebar_ where it is
           | ironically difficult to read. Images are removed or mangled.
           | It 's a mess. And you don't always have a choice of which
           | browser you get to use anyways.
           | 
           | The responsibility to ensure text is readable lies with
           | websites, _not_ with browser features that a user may or may
           | not have.
        
             | wat10000 wrote:
             | It's helpful if you want to be helped and not just
             | complain.
             | 
             | Your browser doesn't have it, or it's bad? Use a different
             | one!
             | 
             | Responsibility? Responsibility and five bucks will get you
             | a coffee at Starbucks.
             | 
             | You can solve the problem, or talk about how other people
             | should solve it. Do whichever one you prefer, but only one
             | of them actually produces the desired outcome.
        
             | kevin_thibedeau wrote:
             | Chrome is an ad delivery platform and reader mode subverts
             | ads. You're getting what you paid for.
        
               | crazygringo wrote:
               | I'm getting what I paid for with Firefox too. Their
               | funding mostly comes from Google which comes from ads
               | too. What's your point?
        
       | alain94040 wrote:
       | I have fond memories of the IRQ from the mouse card. It was the
       | only source of regular interrupts you could get on the Apple II
       | (that I'm aware of). So in 1987, I tried to write a preemptive
       | switcher, so you could run two code paths at the same time.
       | 
       | The development of that code was very painful. At the time, there
       | was no external debugger. The moment you enabled the interrupt,
       | your interrupt handler would get called, and it would try to
       | program a context switch (something the 6502 is definitely not
       | supposed to do). If you had any bug in there, your Apple II would
       | be completely frozen, all you could do is reboot, and try to
       | guess what went wrong and try again.
        
         | deater wrote:
         | you can also get a regular interrupt from a Mockingboard sound
         | card, these days it's probably more likely people will have one
         | of those (especially if they are running under emulation) than
         | a mouse card.
         | 
         | when writing demos and games that have mockingboard support
         | it's always tempting to take advantage of the timers on the
         | 6522 chips on it, though it does mean that the programs
         | wouldn't have been useful for most people back in the 80s/90s
        
         | geocar wrote:
         | Fun. Mind if I ask what you were preemptively doing?
         | 
         | If you ever get a time machine: The SSC could make an
         | interrupt. So could the Microsoft card. There was also
         | something called the Thunderclock card that could do like
         | 100hz.
        
       ___________________________________________________________________
       (page generated 2025-05-08 23:02 UTC)