[HN Gopher] Glider for Apple II
       ___________________________________________________________________
        
       Glider for Apple II
        
       Author : rbanffy
       Score  : 101 points
       Date   : 2025-03-27 10:12 UTC (12 hours ago)
        
 (HTM) web link (www.colino.net)
 (TXT) w3m dump (www.colino.net)
        
       | gxd wrote:
       | Great work! I learned about this game just last week when reading
       | "The Secret History of Mac Gaming". This looks like an excellent
       | adaptation.
        
         | jhbadger wrote:
         | It is. If this had been available in the heyday of the II, I
         | think it would have been quite viable as a commercial product.
        
       | JKCalhoun wrote:
       | Very cool. I'll have to get an emulator up and running to try it.
       | 
       | Another wild one (back port?) was a small run a guy did for the
       | Nintendo. Here's one on eBay for example:
       | https://www.ebay.com/itm/186125162930
        
         | wk_end wrote:
         | (In case anyone doesn't look at/recognize the username, pretty
         | sure this guy here is the developer responsible for the
         | original Mac Glider!)
        
       | nukem222 wrote:
       | I was a big fan of glider pro, having been born long after apple
       | ][s: http://macintoshgarden.org/games/glider-pro
       | 
       | I would download it, but I wanted to be productive today.
        
       | pkdpic wrote:
       | Brings back good memories. But never thought to ask what a
       | "defensive rubber" is...
        
       | FabHK wrote:
       | Amazing how they managed to make a whimsical, yet reasonably
       | legible font with these few pixels.
        
         | colinlm wrote:
         | I didn't create it, it's Motter Tektura 9pt
         | (https://fontsgeek.com/fonts/Motter-Tektura-Normal) and I
         | manually fixed a few characters that looked bad at 9px.
         | 
         | On the splash screen, it's just an image, made with Gimp and
         | converted to HGR.
        
       | retrac wrote:
       | That's some wacky smooth animation for the Apple II. It's quite a
       | feat to have multiple apparent sprites move so smoothly like
       | that.
       | 
       | Apple II high resolution graphics are 280x192 pixels stored in 8
       | kilobytes at 2000 - 3fff or 4000 - 5fff. (With a fun interleaving
       | where bits in memory are not in the same order as the bits on the
       | display. Woz saved a few chips that way.)
       | 
       | That is to say, there are no hardware sprites.
       | 
       | The fastest way to clear the display is an unrolled loop in the
       | form of LDA #0, STA $2000, STA $2001, STA $2002 etc. That works
       | out to about 30,000 cycles which takes 30 milliseconds. A more
       | plausible operation - displaying a whole-screen bitmap by copying
       | it from another location in RAM to the framebuffer using a loop
       | with indexes - weighs in at several hundred thousand cycles, or
       | an appreciable fraction of a second.
        
         | dekhn wrote:
         | My initial imposter syndrome came from not being able to
         | understand enough machine language and the Apple II graphics
         | format to be able to duplicate Ultima IV (with simultaneous
         | sound and animation).
         | 
         | But this exists now: https://github.com/fadden/fdraw
        
           | JKCalhoun wrote:
           | Wild if Apple had had something like a library or framework
           | with this kind of stuff in the Apple II days.
        
             | jdswain wrote:
             | Not at all the same, but they did have QuickDraw II for the
             | IIgs. This library had the benefit of using the simpler
             | IIgs graphics modes, avoiding all the Apple II weirdness.
             | With a little bit of searching the source can be found
             | online.
        
         | AndrewStephens wrote:
         | I had an Apple][+ and can confirm that the HiRes mode was
         | devilishly difficult to work with, to the extent that even many
         | commercial games had visible artifacts and flickering.
         | 
         | These smoothly moving graphics over a background image would
         | have blown everyone out of the water in 1982.
        
           | deater wrote:
           | having VBLANK available works wonders, see this double-hires
           | code I just put together that only looks nice due to the
           | magic of VBLANK on Apple IIe/IIgs (Apple IIc is much harder
           | to get VBLANK from if you're playing music with interrupts)
           | https://www.youtube.com/watch?v=1QwUGFDcQcI
        
           | scarface_74 wrote:
           | Now imagine working with the double hires mode with vertical
           | interleaving that has already been discussed and horizontal
           | interleaving between the main memory and bank switched memory
           | to the higher 64K of extended RAM.
        
         | thought_alarm wrote:
         | This game achieves its smoothness by synchronizing to the video
         | refresh. That's not a particularly challenging thing to do, but
         | it wasn't a viable option for commercial games back in the day
         | due to uncertainty of how to do it properly across the
         | different Apple II models.
         | 
         | Apple added VBL polling with the IIe in 1983, and then broke it
         | a year later with the IIc. And an unfortunate typo in the IIc
         | technical reference manual meant that developers couldn't
         | figure out how to do it properly.
         | 
         | The only official, cross-platform way to do it was through the
         | mouse firmware, but most users didn't have the mouse hardware
         | installed.
         | 
         | This game uses the mouse firmware, if available (II+ w/ mouse
         | card, IIc, IIgs), to generate VBL interrupts. On the IIe
         | without a mouse card, it polls for VBL.
         | 
         | By the way, if you're running this game on the Virtual ][
         | emulator for MacOS, be sure to disable the mouse card. Its
         | emulated mouse card only generates VBL interrupts at 30 Hz, so
         | the game runs at half speed.
        
       | tinmith wrote:
       | I loved the original Glider game on the old Mac. Back in 1997
       | when I was in undergrad I made my own port using ASCII art to run
       | on the VT100 terminals we had at the time. When I started
       | learning Android, I ended up writing a VT100 emulator with the
       | NDK to bring it back to life on modern devices:
       | https://github.com/waynepiekarski/android-glider
        
       | spicybright wrote:
       | I played sooo much glider in highschool study hall, although it
       | was the windows version, glider 4.0
       | 
       | I liked the gameplay so much I learned 6502 asm and coded my own
       | version for the atari 2600. Nowhere near parity with the real
       | version obviously, but I was able to make 3 screens with 1 to 2
       | moving obstacles, and a clock collectable that did nothing.
        
         | JKCalhoun wrote:
         | Yeah, Gregg Bieser did the Windows port of Glider 4.0 for
         | Casady & Green (back in 1991 or thereabouts).
        
       | jdswain wrote:
       | For anyone wanting to build sprite type code on the Apple II, you
       | really should read this article in Byte magazine:
       | 
       | Preshift-Table Graphics on your Apple by Bill Budge, with Gregg
       | Williams and Rob Moore. A23 Move blocks of pixels across the
       | screen with only 3K bytes of overhead
       | 
       | It's kind of hard to find, it's in the December 1984 Byte
       | magazine, but an additional magazine at the end of the PDF, Bytes
       | Guide to Apple.
       | 
       | At the time this was huge, Bill Budge was probably the most well
       | known game programmer, so getting a look inside how he wrote code
       | was a big thing.
       | 
       | Of course, as mentioned elsewhere, graphics is hard on the Apple
       | II because of the complex memory layout due to Woz wanting to
       | save a few chips. This can be contrasted with the Atari and
       | Commodore computers that had custom chips that made graphics a
       | lot easier.
       | 
       | https://archive.org/details/byte-magazine-1984-12/page/n397/...
        
         | colinlm wrote:
         | This is the scalable and hard way :) I had no memory pressure
         | issue with this game so I went with preshifted shapes instead
         | (as described in page 4 of https://mirrors.apple2.org.za/ftp.ap
         | ple.asimov.net/documenta...).
        
       ___________________________________________________________________
       (page generated 2025-03-27 23:01 UTC)