Jump to content

The Woebegone Trail: DevLog - Day 11 - Now Including ...



Woebegone: An “The Oregon Trail” Homage - DevLog: Day 11 (06/15/24) - "Now Including ..."


A very productive, and quite "Atari", week (and change) ...


  • I read Howard Scott Warshaw's "Once Upon Atari: How I Made History by Killing an Industry" (excellent, and well worth the time).
  • I focused on getting my "includes" project to a point where I could just use it, rather than fiddle with it (see below).
  • Finished incorporating the board from an actual CXSTICK into a "proper" arcade/fight stick (and ... see below, below ...).
  • Some very self-indulgent Atari gaming (a VCS Yar's Revenge marathon, and a bunch of classic 8-bit stuff).




This is a set of Atari 8-bit  MADS assembler "include" files, heavily inspired by (and, with Ken's kind indulgence, using many definitions and much commentary from) @kenjennings's “Atari-Mads-Includes” project.  You can think of it as a (MADS-centric) melding of "De Re Atari", "Mapping the Atari", "Atari 400/800 Operating System Source Listing rev. B", "Atari 400/800 Hardware Manual" and the "Altirra Hardware Reference Manual", with macros to support creating Display Lists/DLIs, handling Fonts/Character Sets and dealing with Vertical Blank Interrupts ... along with debugging and NTSC/PAL support.


The goal is to make my life easier, and put my Atari assembly language work closer to the literate/lucid and intentional programming styles I generally prefer.


The repository is here: atari-8bit-includes-mads.


I learned new things about the Atari 8-bit hardware (especially its variations), as well as LOTS about MADS in doing this.  I even think I found a couple of (very minor) issues in MADS with very complex conditional compilation, labels and some directives - but that's for another thread.  But now it's "done" (or done enough not to keep fiddling with), I can get on with the actual GAME I want to build.


A quick example of the sort of things it allows is in order.  The code, below, sets up a custom display list, and installs a custom character set (so I can see/compare how a .FNT file looks in modes 2 and 4) with only a single, visible, 6502 instruction:




The end result of which is (half the screen is cut off since it's just blank):






After getting THE400 Mini I had a few minor issues with the CXSTICK.  I didn't experience the issue with diagonals that other's did, but it did take some adjustment to get to grips with not accidentally hitting buttons on the RING (one of which, of course, instantly restarts the game).  So, I started putting together a new controller from an existing arcade/fight stick, that first use an X-Input setup (which THE400 Mini will work with, even if it's a bit weird), and then integrating the control board from an actual CXSTICK so it has native behavior.


The outward result of which was this:




I'll do a proper blog post/thread on this, along with the necessary templates, images, instructions and parts lists etc.


And there are three distinct levels to building one.  The first requires nothing more than a printer and a screwdriver.  The second involves some snap-in parts with push-on connections (and a screwdriver).  The third, incorporates the board from a CXSTICK (without changing ANY of the native functionality or compatibility of the arcade/fight stick) requires some soldering.


And then ... or now ...


It's finally time to start focusing on the GAME part of all of this ... as I have all the precursor work done.  And you'll know that's made proper progress when the title graphics switches from graphics from the Apple II version of "The Oregon Trail", to my Atari 8-bit graphics ...



  • Like 2


Recommended Comments

There are no comments to display.

Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...