Difference between revisions of "Programming Libraries and Engines"

From Intellivision Wiki
Jump to: navigation, search
m (Basic I/O)
m (Protected "Programming Libraries and Engines" ([edit=autoconfirmed] (indefinite) [move=autoconfirmed] (indefinite)))
 
(3 intermediate revisions by 2 users not shown)
Line 6: Line 6:
  
 
If there are specific functions or library elements that you'd like to see, put a request on the "discussion" page.
 
If there are specific functions or library elements that you'd like to see, put a request on the "discussion" page.
 +
 +
== Utility / Hardware Description ==
 +
 +
* Definitions for register addresses and bit fields:  [[gimini.asm]]
 +
* Macro libraries
 +
** High level constructs: [[util.mac]]
 +
** [[PSG]] abstraction: [[psg.mac]]
 +
** [[STIC]] abstraction:  [[stic.mac]]
 +
** Graphic image macros:  [[gfx.mac]]
  
 
== Basic Math ==
 
== Basic Math ==
Line 29: Line 38:
  
 
* Game variables
 
* Game variables
** Macros for declaring variables: [[dseg.mac]]
+
** Macros for setting up the cartridge and declaring variables: [[cart.mac]]
 
** Initializing memory:  [[initmem.asm and initmem.mac]]
 
** Initializing memory:  [[initmem.asm and initmem.mac]]
 
* Block memory functions
 
* Block memory functions
Line 46: Line 55:
  
 
* Status display
 
* Status display
** Printing strings: [[print.asm]]
+
** Printing strings: [[print.asm]] [[print.mac]]
 
** Printing numbers
 
** Printing numbers
 
*** 16-bit decimal numbers: [[prnum16.asm]]
 
*** 16-bit decimal numbers: [[prnum16.asm]]
Line 68: Line 77:
 
* Music
 
* Music
 
** Tracker: [[tracker.asm and tracker.mac]]
 
** Tracker: [[tracker.asm and tracker.mac]]
 +
** Example: [[Trkdemo.asm and demosong.asm]]

Latest revision as of 09:08, 4 December 2010


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.

Utility / Hardware Description

Basic Math

Game Math

Memory Management

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