Jump to content

digarok

Members
  • Posts

    4
  • Joined

  • Last visited

Contact / Social Media

Profile Information

  • Gender
    Male

digarok's Achievements

Combat Commando

Combat Commando (1/9)

2

Reputation

  1. I'm not really sure if this is of interest to anyone, but I made a reference for programming the 65xx family of CPUs for the iPad (yes, I know, iPad/AppStore sucks.) It's called "Recre816". I hate to self promote, but I think the app is good. I wrote it for myself and really do use it when writing assembly. Recre816 in app store: https://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=1017006780&mt=8
  2. In an effort to get more people interested in programming my favorite platform, the Apple IIgs, I've started a new website full of resources and am working on a series of programming videos. I'm really trying to make it easy for people coming from other platforms, so I'd love to get some feedback from some of the forum members here. Our new website is full of books and technotes and lots of info. Check it out at http://apple2.gs The first video is now online at youtube "Introduction to Assembly Programming on the Apple IIgs" Thanks and have a great weekend!
  3. Regarding VBLANK, it is different between the IIe, IIc and IIgs. In the IIe, and IIgs, you can just read the high-bit of $c019, but be aware that the meaning is INVERTED between these two machines. This is easy enough to deal with. In the IIc, things are totally different. $c019 represents the VBL interrupt state. Basically, what you need to do on a IIc is set up a VBL interrupt. You can do this by directly setting up a low-level interrupt, or using the ProDOS MLI calls to add an interrupt handler. For Flapple Bird (Flappy Bird on Apple II), I have code that handles all 3 VBLANK types. You can check out the code that does it here: https://github.com/digarok/flapple/blob/master/src/flapple.s The "DetectMachine" function sets up the normal VBLANK detection for either IIe or IIgs, then it calls InitVBlank which checks for a IIc, and if true then it installs a VBL int handler and starts the VBL interrupts firing. I don't know why they made this so wonky and why the engineers decided to screw with VBLANK on each successive machine release. Unfortunately, I think most software developers ended up not really using VBLANK in games because it's nearly impossible to do anything meaningful graphically with the amount of time you have, the speed of the processor and no graphics hardware. In Flapple Bird, I made a conscious decision to trade fidelity (using a lower resolution mode) for speed (60 FPS locked to VBLANK). But even that wasn't trivial. Anyway, I learned a lot about the various VBLANK implementations, and my code isn't great but maybe it helps. If someone else is having trouble understanding this, let me know and I'll try to help you out.
  4. Wow, thanks TanruNomad. I just joined here after seeing your games in the forum. I appreciate the mention. Hopefully we can both add a few more to the numbers before we're done.
×
×
  • Create New...