home *** CD-ROM | disk | FTP | other *** search
- * MultiPlayer
- * Copyright (C) 1992 Bryan Ford
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- * I (the author of MultiPlayer) can be contacted on the Internet at
- * "bryan.ford@m.cc.utah.edu". See "Player.doc" for other addresses.
- *
- * $Id: player.i,v 4.2 92/07/12 08:28:29 BAF Exp Locker: BAF $
- * Global header for assembly language modules
- *
-
- ifnd EXEC_TYPES_I
- include "exec/types.i"
- endc
-
- ifnd EXEC_NODES_I
- include "exec/nodes.i"
- endc
-
- ifnd BRY_GMOD_I
- include "bry/gmod.i"
- endc
-
- CUSTOM equ $dff000 ; Custom chip address
- CIAA equ $bfe001 ; CIA A registers
- CIAB equ $bfd000 ; CIA B registers
-
- RTSINST equ $4e75 ; Code for an RTS instruction
-
- CLOCK equ 3579545 ; Audio clock frequency
-
- ERRCOUNT equ 10 ; Errors stay in window for 1 second
-
- SPECTRUMWIDTH equ 128
- SPECTRUMHEIGHT equ 32
- SPECTRUMRES equ 16
-
- SCOPEWIDTH equ 64
- SCOPEHEIGHT equ 32
-
- NOTEWIDTH equ 128
- NOTEHEIGHT equ 64
-
- FFperF equ 3 ; Flash frames per frame
-
- INFOCOLS equ 45 ; Number of columns in one line of the Info window
-
- *** System flags (_sysflags)
- BITDEF S,KILL,0
- BITDEF S,TIMERUP,2
- BITDEF S,WINDOWUP,3
- BITDEF S,REPEAT,4
- BITDEF S,SECOND,5
- BITDEF S,FADEDONE,6
-
- *** Play mode (_playmode)
- PM_SEQUENCE equ 0
- PM_RANDOM equ 1
- PM_ONCE equ 2
- PM_OVEROVER equ 3
- PM_SEQUENCEONCE equ 4
-
- *** Show mode (_showmode)
- SM_NOTHING equ 0
- SM_CLOCK equ 1
- SM_SEQUENCE0 equ 2
- SM_SEQUENCE1 equ 3
-
- *** Flash flags (_flashflags)
- BITDEF F,SPECTRUM,0
- BITDEF F,SCOPE,1
- BITDEF F,QSCOPE,2
- BITDEF F,NOTES,3
- BITDEF F,CHANNELS,4
-
- *** Module type flags (modtype)
- BITDEF MT,MODSPEED,0 ; Supports modspeed
- BITDEF MT,SEQUENCE,1 ; Supports sequence display
- BITDEF MT,REPEAT,2 ; Supports repeat detection
- BITDEF MT,MODIFIED,3 ; Mod prefs have been changed
- BITDEF MT,PROTRACKER,4 ; This is the Protracker player
- BITDEF MT,FILTER,5 ; Filter can be controlled
- BITDEF MT,JUMP,6 ; Module can jump to other positions
-
- STRUCTURE FileSpec,0 ; Spec for a loaded file
- APTR fs_Mem ; Pointer to start of memory
- ULONG fs_FileSize ; Size of file
- APTR fs_EndMem ; Pointer to end of memory
- ULONG fs_AllocSize ; Size of allocated memory block
- LABEL fs_SIZEOF
-
- STRUCTURE ScopeChanData,0 ; Data for one channel of the scope
- APTR scd_sample
- UWORD scd_len
- UWORD scd_rep
- UWORD scd_pos
- UWORD scd_inc
- UWORD scd_per
- WORD scd_pad
- LABEL scd_SIZEOF
-
- STRUCTURE ModNode,MLN_SIZE
- UWORD mn_size
- APTR mn_nameptr
- LONG mn_dir
- BYTE mn_volume
- BYTE mn_balance
- BYTE mn_speed
- BYTE mn_filter
- ULONG mn_endtime
- BYTE mn_flags
- BYTE mn_pad
- LABEL mn_name
-
- BITDEF MN,ENDFADE,1
- BITDEF MN,PTTEMPO,2
- BITDEF MN,NOTPROTRACKER,3
-
- plstartret macro ; <label> ; Return code from player start routines
- lea \1-gmod_InitMusic(pc),a0
- move.l a0,d0
- rts
- endm
-