☝ Go to Top
RUM Routines (By Function)
Function Categories
NOTE: To be more consistent with how I code (and making them easier to remember), I renamed some
of the RUM routines that I used in my games (via EQUs). If I don't show a different label, then I used
the same label as defined by the RUM.
Initialization Routines
RUMSubroutine
EntryPoint
Label Used ByMine Storm Function
INITALL $F18B INTALL
Full Vectrex initialization
INITMSC $F164 INTMSC
Initialize misc. parameters
INITPIA $F14C INTPIA
Initialize PIA
INITPSG $F272 INTPSG
Initialize sound generator
IREQ $F533 INTREQ
Initialize the 'REQZ' area
POWER $F000 PWRUP
Power-up handler
Positioning / Intensity / Drawing Overhead Routines
RUMSubroutine
EntryPoint
Label Used ByMine Storm Function
DEFLOK $F2E6 ---
Overcome scan collapse circuitry
FRAM20 $F192 FRWAIT
Wait for frame boundary
INT1Q $F29D ---
Set beam intensity
INT3Q $F2A5 ---
Set beam intensity
INTENS $F2AB ---
Set beam intensity
INTMAX $F2A9 ---
Set beam intensity
INTMID $F2A1 INT2Q
Set beam intensity
POSIT1 $F30C ---
Position relative vector
POSIT2 $F308 ---
Position relative vector
POSITB $F30E ---
Position relative vector
POSITD $F2FC ---
Position relative vector
POSITN $F312 ---
Position relative vector
POSITX $F310 ---
Position relative vector
POSWID $F2F2 ---
Position relative vector
ZEGO $F34F ZEGO
Zero integrators and set active ground
ZEREF $F35B ZEREF
Zero integrators and set active ground
ZERO.DP $F34A ZERO.DP
Zero integrators and set active ground
ZERO. $F36B ZERO
Zero integrators and set active ground
ZEROIT $F354 ZEROIT
Zero integrators and set active ground
'DIFFY' Style Drawing Routines
RUMSubroutine
EntryPoint
Label Used ByMine Storm Function
DANROT $F610 DROT
'DIFFY' style rotate
DASHE $F433 DSHDF1
Draw dashed lines from 'DIFFY' list
DASHEL $F434 DSHDF
Draw dashed lines from 'DIFFY' list
DASHY $F437 DASHDF
Draw dashed lines from 'DIFFY' list
DIFFAB $F3DF ---
Draw from 'DIFFY' style list
DIFFAX $F3CE ---
Draw from 'DIFFY' style list
DIFFX $F3D8 TDIFFY
Draw from 'DIFFY' style list
DIFFY $F3DD ---
Draw from 'DIFFY' style list
DIFLST $F3D6 ---
Draw from 'DIFFY' style list
DIFROT $F616 ADROT
'DIFFY' style rotate
DIFTIM $F3D2 ---
Draw from 'DIFFY' style list
DIFTLS $F3DA LDIFFY
Draw from 'DIFFY' style list
DISROT $F613 BDROT
'DIFFY' style rotate
'DUFFY' Style Drawing Routines
RUMSubroutine
EntryPoint
Label Used ByMine Storm Function
DUFFAB $F3BE ---
Draw from 'DUFFY' style list
DUFFAX $F3AD ---
Draw from 'DUFFY' style list
DUFFY $F3BC ---
Draw from 'DUFFY' style list
DUFLST $F3B5 ---
Draw from 'DUFFY' style list
DUFTIM $F3B1 ---
Draw from 'DUFFY' style list
'DOT' Drawing Routines
RUMSubroutine
EntryPoint
Label Used ByMine Storm Function
DIFDOT $F2D5 ---
Draw dots according to 'DIFFY' format
DOT $F2C ---
Turn on beam for dot
DOTAB $F2C3 ---
Draw one dot from the contents of 'A' & 'B'
DOTPAK $F2DE DOTPCK
Draw dots according to 'PACKET' format
DOTTIM $F2BE ---
Draw one dot from 'DIFFY' style list
DOTX $F2C1 ---
Draw one dot from 'DIFFY' style list
'PACKET' Style Drawing Routines
RUMSubroutine
EntryPoint
Label Used ByMine Storm Function
DASHY3 $F46E DASHPK
Draw dashed lines from 'PACKET' list
PAC1X $F408 PACK1X
Draw from 'PACKET' style list
PAC2X $F404 PACK2X
Draw from 'PACKET' style list
PACB $F40E TPACK
Draw from 'PACKET' list
PACKET $F410 ---
Draw from 'PACKET' list
PACXX $F40C LPACK
Draw from 'PACKET' style list
POTATA $F61F PROT
'PACKET' style rotate
POTATE $F622 APROT
'PACKET' style rotate
'RASTER' / Message Drawing Routines
RUMSubroutine
EntryPoint
Label Used ByMine Storm Function
POSDRAS $F37A MSSPOS
Display raster message
POSNRAS $F378 RSTPOS
Display raster message
RASTER $F498 MRASTR
Display raster string
RASTUR $F495 RASTER
Display raster string
SADD $F87C SCRADD
Add contents of 'B' to indicated score
SADD2 $F880 STKADD
Add stack to indicated score
SHADD $F85E BYTADD
Add contents of 'A' to indicated score
SHIPSAT $F391 SHIPX
Display markers (count remaining)
SHIPSHO $F393 DSHIP
Display markers (count remaining)
SIZPRAS $F373 RSTSIZ
Display raster message
TEXPOS $F38C TXTPOS
Display raster message
TEXSIZ $F385 TXTSIZ
Display raster message
Controller / Joystick Routines
RUMSubroutine
EntryPoint
Label Used ByMine Storm Function
ENPUT $F1B4 DBNCE
Read controller buttones
HIGHSCR $F8D8 HISCR
Calculate high score and save for logo
INPUT $F1BA ---
Read controller buttones
OPTION $F7A9 SELOPT
Fetch game options
PANG $F1F8 JOYBIT
Read joystick
PBANG4 $F1F5 JOYSTK
Read joystick
SCLR $F84F ---
Clear indicated score
WINNER $F8C7 ---
Determine highest score
Rotate Routines
RUMSubroutine
EntryPoint
Label Used ByMine Storm Function
DANROT $F610 DROT
'DIFFY' style rotate
DIFROT $F616 ADROT
'DIFFY' style rotate
DISROT $F613 BDROT
'DIFFY' style rotate
POTATA $F61F PROT
'PACKET' style rotate
POTATE $F622 APROT
'PACKET' style rotate
RATOR $F5FF LROT90
Rotate a single line
ROTAR $F603 ALNROT
Rotate a single line
ROTOR $F601 LNROT
Rotate a single line
Math Routines
RUMSubroutine
EntryPoint
Label Used ByMine Storm Function
ABSVAL $F584 ABSAB
Form absolute value for 'A' & 'B' registers
AOK $F58B ABSB
Form absolute value for 'B' register
BITE $F57E DECBIT
Decode bit position
COMPAS $F593 CMPASS
Return angle for given delta 'Y:X'
COSGET $F5D9 COSINE
Calculate the cosine of 'A'
RAND3 $F511 ---
Calculate new random number
RANDOM $F517 ---
Calculate new random number
RCOS $F663 LCSINE
Multiply 'LEG' by previous cosine value
RCOSA $F661 MCSINE
Multiply 'A' by previous cosine value
RSIN $F65D LSINE
Multiply 'LEG' by previous sine value
RSINA $F65B MSINE
Multiply 'A' by previous sine value
SINCOS $F5EF ---
Calculate the sine and cosine of 'ANGLE'
SINGET $F5DB SINE
Calculate the sine of 'A'
Miscellaneous Routines
RUMSubroutine
EntryPoint
Label Used ByMine Storm Function
BAGAUX $F67F BLKMV1
Xfer bytes source to destination buffer
CLR256 $F545 ---6
Set-up to clear 256 bytes
CLRMEM $F542 CLREX
Clear 256 bytes starting at $C800
CLRSON $F53F BCLR
Clear 'B' bytes
DEKR $F55E DECTMR
Decrement interval timers
DEKR3 $F55A D3TMR
Decrement interval timers
DEL $F57A ---
Programmed delays
DEL13 $F57D ---
Programmed delays
DEL20 $F579 ---
Programmed delays
DEL28 $F575 ---
Programmed delays
DEL33 $F571 ---
Programmed delays
DEL38 $F56D ---
Programmed delays
DPIO $F1AA ---
Set direct register
DPRAM $F1AF ---
Set direct register
FILL $F552 BLKFIL
Set a block of memory
FINDBOX $F8FF BXTEST
Symmetric collison test
GILL $F548 CLRBLK
Clear a block of memory
NEGSOM $F550 CLR80
Set a block of memory to $80
OFF1BOX $F8E5 OFF1BX
Symmetric collison test
OFF2BOX $F8F3 OFF2BX
Symmetric collison test
STFAUX $F683 BLKMOV
Xfer bytes source to destination buffer
Sound-related Routines
RUMSubroutine
EntryPoint
Label Used ByMine Storm Function
AXE $F92E EXPLOD
Complex explosion sound effect
LOUDIN $F9CA SETAMP
Complex explosion sound effect
NIBBY $FF9F ---
Complex explosion sound effect
PSG $F259 WRPSG
Write to PSG
PSGLPU $F284 PSGMIR
Send sound string to PSG
PSGLUP $F27D PSGLST
Send sound string to PSG
PSGX $F256 WRREG
Write to PSG
REPLAY $F687 ---
Set 'REQX' for given tune
REQOUT $F289 ---
Send 'REQX' to PSG and mirror
SOPLAY $F690 ASPLAY
Set 'REQX' for given tune
SPLAY $F68D ---
Set 'REQX' for given tune
XPLAY $F742 ---
Set 'REQX' for given tune
YOPLAY $F692 TPLAY
Set 'REQX' for given tune
Copyright 2024
All Rights Reserved
Thank you for visiting our website.
In closing, please keep in mind that we can not guarantee the accuracy or timeliness of the information on this website, so use with care. We encourage you to double-check the information that is critical to you.
If you've found an error or have additional information that you would like to share, please don't hesitate to write: Click here to contact us.
This page was last modified/updated: 04 Feb 2024
We're sorry, navigation for this website requires JavaScript and your browser does not support it.