Jump to content



1

Atari Rapid Programming Modules


2 replies to this topic

#1 Robert M OFFLINE  

Robert M

    Stargunner

  • 1,481 posts
  • Rootbeer!
  • Location:Western NY state

Posted Sat Apr 16, 2011 10:52 PM

I'm back after a log hiatus from the board. I have been dabbling with an idea that as a community we need to stop reinventing the wheel in our code. I believe that it is possible to assemble a core framework or set of libraries if you will to assist in creating games for the Atari 2600. The goal is to compile a set of useful macros and routines into a package with documentation. Using this package, a programmer can get a project started very quickly. If necessary custom optimizations can be made later in the project.

To that end, I have created some macros for bank-switching, and for indexed jumps. I will add more macros and routines as I complete them for my own projects, and others are welcome to contribute their ideas. Below is a list of the macros in the zipped package attached to this post. The attached zip file contains the ARPM files and an example program using some of the macros.

; Macros defined:
; ---------------
;   From ARPM_BankSwitch.h:
;   -----------------------
;   BS_START_BANK <bank_num>  - Declare a new bank and insert common code.
;   BS_END_BANK   <bank_num>  - End a bank image and report space remaining.
;
;   JMB    <label>   - JuMp Bank switched. (Replaces JMP instruction)
;   JSB    <label>   - Jump to Subroutine Bank switched (Replaces JSR)
;   RTB    <label>   - ReTurn from subroutine Bank switched. (Replaces RTS)
;
;   From ARPM_IndexedJump.h:
;   ------------------------
;   JIT_START   <table-name>        - Start a new indexed-jump table.
;   JIT_ENTRY   <address-label>     - Add a pointer to the table
;   JIT_END     <table-name>        - Finalize the table into ROM.
;   
;   JIX <table-name>        - Jump Indexed X  (ON X GOTO <table-name>)
;   JIY <table-name>        - Jump Indexed Y  (ON Y GOTO <table-name>)
;
;   SIX <table-name>        - Subroutine Indexed X (ON X GOSUB <table-name>)
;   SIY <table-name>        - Subroutine Indexed Y (ON Y GOSUB <table-name>)
;
;=============================================================================

Future dream features:
- A formal TV frame generating label that you can hang kernels off of.
- A script driven sound FX and music engine.
- Kernels
- RAM bit field macros

Cheers!
Rob

Attached Files



#2 SeaGtGruff OFFLINE  

SeaGtGruff

    River Patroller

  • 4,545 posts
  • Location:Georgia, USA

Posted Sat Apr 16, 2011 11:16 PM

This is a great idea! And welcome back. :)

Michael




#3 Ethaniel OFFLINE  

Ethaniel

    Chopper Commander

  • 189 posts
  • bored...
  • Location:Athens Greece

Posted Sun Apr 24, 2011 3:58 PM

this i will look after for updates :o
sounds like a great idea for me :D
i always wanted to make a game with minimum programming knowledge :P




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users