; ; user.inc -- cokeOS include file ; ; This is a user-modifyable file that contains constants and ; mapping for various modules. They are kept all in one place ; to avoid conflicts. ; ;;;;;;;;;;;;;;;;;;;; ; ; top-level ; ; module IDs ID_Doodad equ $2 ID_Gfx equ $3 ID_Button equ $4 ID_Audio equ $5 ID_Money equ $6 ID_Egfx equ $7 ID_Motor equ $8 ID_Program equ $f ; port mappings PORT_Doodad equ PORT5 PORT_Gfx equ PORT7 PORT_Button equ PORT2 PORT_Audio equ PORT6 PORT_Money equ PORT0 PORT_Motor equ PORT4 ; direct page reservations DIRPAGE_Button equ userdirpage DIRPAGE_Button_End equ DIRPAGE_Button+$10 DIRPAGE_Money equ DIRPAGE_Button_End DIRPAGE_Money_End equ DIRPAGE_Money+$10 DIRPAGE_Egfx equ DIRPAGE_Money_End DIRPAGE_Egfx_End equ DIRPAGE_Egfx+$50 ; resource attributes RFLAG_PAGEALIGN equ $80 RFLAG_EXECUTABLE equ $40 RFLAG_INITIALIZED equ $20 ;;;;;;;;;;;;;;;;;;;; ; ; module: Doodad ; BASE_Doodad equ ID_Doodad*$10 TIMER_Doodad equ ID_Doodad TIMER_Clock equ ID_Doodad+$10 CMD_Doodad_QueryVersion equ BASE_Doodad+$0 CMD_Doodad_SetTime equ BASE_Doodad+$1 CMD_Doodad_SetTime2 equ BASE_Doodad+$2 CMD_Doodad_IncTime equ BASE_Doodad+$3 CMD_Doodad_StartAutoTime equ BASE_Doodad+$4 CMD_Doodad_StopAutoTime equ BASE_Doodad+$5 CMD_Doodad_SetDoodad equ BASE_Doodad+$6 CMD_Doodad_StartDoodadSequence equ BASE_Doodad+$7 CMD_Doodad_StopDoodadSequence equ BASE_Doodad+$8 CMD_Doodad_SetDoodadSequence equ BASE_Doodad+$9 CMD_Doodad_SetDoodadSequenceResource equ BASE_Doodad+$a CMD_Doodad_SetDoodadSequenceSpeed equ BASE_Doodad+$b ;;;;;;;;;;;;;;;;;;;; ; ; module: Gfx ; BASE_Gfx equ ID_Gfx*$10 TIMER_Gfx equ ID_Gfx PORT_Gfx_Column equ PORT_Gfx PORT_Gfx_Data equ PORT_Gfx+1 CMD_Gfx_QueryVersion equ BASE_Gfx+$0 CMD_Gfx_SetMode equ BASE_Gfx+$1 CMD_Gfx_Clear equ BASE_Gfx+$2 CMD_Gfx_Dump equ BASE_Gfx+$3 CMD_Gfx_DumpResource equ BASE_Gfx+$4 CMD_Gfx_Shift equ BASE_Gfx+$5 CMD_Gfx_ScrollStop equ BASE_Gfx+$6 CMD_Gfx_ScrollSpeed equ BASE_Gfx+$7 CMD_Gfx_ScrollStart equ BASE_Gfx+$8 CMD_Gfx_ScrollCstring equ BASE_Gfx+$9 CMD_Gfx_ScrollPstring equ BASE_Gfx+$a CMD_Gfx_ScrollStringResource equ BASE_Gfx+$b CMD_Gfx_UseFontResource equ BASE_Gfx+$c CMD_Gfx_SetScrollRange equ BASE_Gfx+$d IPC_Gfx_SetModeOff equ BASE_Gfx+$0 SHIFT_ShiftLeft equ 0 SHIFT_ScrollLeft equ 1 SHIFT_ShiftRight equ 2 SHIFT_ScrollRight equ 3 ;;;;;;;;;;;;;;;;;;;; ; ; module: Button ; BASE_Button equ ID_Button*$10 TIMER_Button_Push equ ID_Button TIMER_Button_Beverage equ ID_Button+$10 PORT_Button_Pushed equ PORT_Button PORT_Button_Latched equ PORT_Button+$1 CMD_Button_QueryVersion equ BASE_Button+$0 CMD_Button_QueryPattern equ BASE_Button+$1 CMD_Button_Push equ BASE_Button+$2 CMD_Button_ReleaseBeverage equ BASE_Button+$3 MESSAGE_Button_Button0Hit equ BASE_Button+$0 MESSAGE_Button_Button0Released equ BASE_Button+$1 MESSAGE_Button_Button1Hit equ BASE_Button+$2 MESSAGE_Button_Button1Released equ BASE_Button+$3 MESSAGE_Button_Button2Hit equ BASE_Button+$4 MESSAGE_Button_Button2Released equ BASE_Button+$5 MESSAGE_Button_Button3Hit equ BASE_Button+$6 MESSAGE_Button_Button3Released equ BASE_Button+$7 MESSAGE_Button_Button4Hit equ BASE_Button+$8 MESSAGE_Button_Button4Released equ BASE_Button+$9 ERROR_Button_InvalidStackNumber equ BASE_Button+$0 ERROR_Button_MoneyModuleNotLoaded equ BASE_Button+$1 ERROR_Button_AlreadyPushing equ BASE_Button+$2 ;;;;;;;;;;;;;;;;;;;; ; ; module: Money ; BASE_Money equ ID_Money*$10 TIMER_Money_CREMs equ ID_Money TIMER_Money_Purchase equ ID_Money+$10 CMD_Money_QueryVersion equ BASE_Money+$0 CMD_Money_SetCREMs equ BASE_Money+$1 CMD_Money_SetLight equ BASE_Money+$2 CMD_Money_AllowPurchase equ BASE_Money+$3 CMD_Money_ReleaseNickel equ BASE_Money+$4 CMD_Money_CheckNickelTube equ BASE_Money+$5 MESSAGE_Money_NickelInserted equ BASE_Money+$0 MESSAGE_Money_DimeInserted equ BASE_Money+$1 MESSAGE_Money_QuarterInserted equ BASE_Money+$2 ERROR_Money_NickelTubeEmpty equ BASE_Money+$0 ;;;;;;;;;;;;;;;;;;;; ; ; module: Audio ; BASE_Audio equ ID_Audio*$10 TIMER_Audio equ ID_Audio CMD_Audio_QueryVersion equ BASE_Audio+$0 ;;;;;;;;;;;;;;;;;;;; ; ; module: Egfx ; BASE_Egfx equ ID_Egfx*$10 TIMER_Egfx equ ID_Egfx CMD_Egfx_QueryVersion equ BASE_Egfx+$0 CMD_Egfx_SetMode equ BASE_Egfx+$1 CMD_Egfx_RestoreMode equ BASE_Egfx+$2 CMD_Egfx_CreateBuffer equ BASE_Egfx+$3 CMD_Egfx_ScriptInline equ BASE_Egfx+$4 CMD_Egfx_ScriptResource equ BASE_Egfx+$5 CMD_Egfx_StartAutoScript equ BASE_Egfx+$6 CMD_Egfx_StopAutoScript equ BASE_Egfx+$7 ERROR_Egfx_ModeNeverSet equ BASE_Egfx+$0 ;;;;;;;;;;;;;;;;;;;; ; ; module: Motor ; BASE_Motor equ ID_Motor*$10 TIMER_Motor equ ID_Motor CMD_Motor_QueryVersion equ BASE_Motor+$0 CMD_Motor_SetStep equ BASE_Motor+$1 CMD_Motor_SetSpeed equ BASE_Motor+$2 CMD_Motor_StepLeft equ BASE_Motor+$3 CMD_Motor_StepRight equ BASE_Motor+$4 CMD_Motor_TurnLeft equ BASE_Motor+$5 CMD_Motor_TurnRight equ BASE_Motor+$6 CMD_Motor_Stop equ BASE_Motor+$7 CMD_Motor_Release equ BASE_Motor+$8 ERROR_Motor_BadStepNumber equ BASE_Motor+$0 ;;;;;;;;;;;;;;;;;;;; ; ; module: Program ; BASE_Program equ ID_Program*$10 CMD_Program_QueryVersion equ BASE_Program+$0 CMD_Program_EnableWrite equ BASE_Program+$1 CMD_Program_WriteChip equ BASE_Program+$2 CMD_Program_WriteExternal equ BASE_Program+$3 CMD_Program_WriteBoth equ BASE_Program+$4 ERROR_Program_WriteNotEnabled equ BASE_Program+$0 ERROR_Program_BadDataLength equ BASE_Program+$1