Difference between revisions of "Programming Libraries and Engines"

From Intellivision Wiki
Jump to: navigation, search
(Basic Math)
(Memory Management)
Line 26: Line 26:
 
== Memory Management ==
 
== Memory Management ==
  
 +
* Game variables
 +
** Macros for declaring variables: [[dseg.mac]]
 +
* Block memory functions
 +
** Copy memory
 +
*** As-is: [[memcpy.asm]]
 +
*** Unpacking packed 8-bit data: [[memunpk.asm]]
 +
** Compare memory:  [[memcmp.asm]]
 +
** Fill / clear memory
 +
*** C-style function:  [[memset.asm]]
 +
*** Older FILLMEM/FILLZERO/CLRSRC combined routine: [[fillmem.asm]]
 
* Bank switching
 
* Bank switching
 
** Intellicart bank switch utility routines [[ic_banksw.asm]]
 
** Intellicart bank switch utility routines [[ic_banksw.asm]]
 
** To do:  ECS-style bank switching routines
 
** To do:  ECS-style bank switching routines
* Game variables
 
** Macros for declaring variables: [[dseg.mac]]
 
  
 
== Basic I/O ==
 
== Basic I/O ==

Revision as of 20:32, 6 September 2008


Programming Libraries and Engines

Below are links to various library functions, as well as programming frameworks (aka "engines") that you can use when building a game. After all, while inventing wheels is sometimes fun, more often than not it's more fun to focus on writing a game.

If there are specific functions or library elements that you'd like to see, put a request on the "discussion" page.

Basic Math

Game Math

Memory Management

  • Game variables
    • Macros for declaring variables: dseg.mac
  • Block memory functions
  • Bank switching
    • Intellicart bank switch utility routines ic_banksw.asm
    • To do: ECS-style bank switching routines

Basic I/O

  • Status display
  • Hand controller scanning
    • Wait for tap / wait for release: wnk.asm
    • Comprehensive: (todo -- tends to be integrated with game's event handling scheme)
  • Intellivoice
    • Core Intellivoice driver: ivoice.asm
    • Speaking numbers using RESROM samples: saynum16.asm
    • Speaking numbers using AL2: (to do)
    • SP0256-AL2 Allophone library: (external link coming; cannot be uploaded here due to license reasons.)

Sprite Engine

The intention is to put a sprite engine here. None present currently.

Music / Sound Effects

The intention is to put music and sound effects engine here. None present currently.