mirror of
https://github.com/elliotnunn/mac-rom.git
synced 2025-01-04 01:29:22 +00:00
4325cdcc78
Resource forks are included only for .rsrc files. These are DeRezzed into their data fork. 'ckid' resources, from the Projector VCS, are not included. The Tools directory, containing mostly junk, is also excluded.
185 lines
6.6 KiB
Plaintext
185 lines
6.6 KiB
Plaintext
;__________________________________________________________________________________________________
|
|
;
|
|
; File: IntModemMgrPrivEqu.a
|
|
;
|
|
; Contains: Private equates for the internal modem manager
|
|
;
|
|
; Written by: Steven Swenson
|
|
;
|
|
; Copyright © 1993-1993 by Apple Computer, Inc. All rights reserved.
|
|
;
|
|
; Change History (most recent first):
|
|
;
|
|
; <1> 4/8/93 SES first checked in
|
|
;__________________________________________________________________________________________________
|
|
|
|
|
|
;----------------------------------------------------------------------
|
|
; internal modem manager version number. Change this when you rev the manager!
|
|
;----------------------------------------------------------------------
|
|
|
|
immgVersion EQU $110 ; version 1.10
|
|
|
|
;----------------------------------------------------------------------
|
|
; internal modem manager useful equates
|
|
;----------------------------------------------------------------------
|
|
|
|
UnimplTrap EQU $A89F
|
|
IntMdmMgrTrap EQU $ABEA
|
|
|
|
;----------------------------------------------------------------------
|
|
; internal modem manager private routine selectors
|
|
;----------------------------------------------------------------------
|
|
|
|
selIModemInit EQU 0
|
|
selIModemInfo EQU 11
|
|
selIModemClose EQU 12
|
|
|
|
;----------------------------------------------------------------------
|
|
; internal modem manager modem primitive routine selectors
|
|
;----------------------------------------------------------------------
|
|
|
|
selMPType EQU 0
|
|
selMPPower EQU 1
|
|
selMPWakeUp EQU 2
|
|
selMPStatus EQU 3
|
|
selMPPrime EQU 4
|
|
selMPSndCtl EQU 5
|
|
selMPExists EQU 6
|
|
selMPSetUp EQU 7
|
|
selMPTearDown EQU 8
|
|
selMPName EQU 9
|
|
selMPSndVol EQU 10
|
|
selMPSndHW EQU 11
|
|
|
|
;----------------------------------------------------------------------
|
|
; internal modem manager routine macros
|
|
;----------------------------------------------------------------------
|
|
|
|
MACRO
|
|
_IModemInit
|
|
move.w #selIModemInit,d0
|
|
_IntModemDispatch
|
|
ENDM
|
|
|
|
MACRO
|
|
_IModemInfo
|
|
move.w #selIModemInfo,d0
|
|
_IntModemDispatch
|
|
ENDM
|
|
|
|
MACRO
|
|
_IModemClose
|
|
move.w #selIModemClose,d0
|
|
_IntModemDispatch
|
|
ENDM
|
|
|
|
;----------------------------------------------------------------------------------------
|
|
; Internal modem manager dispatch table structure
|
|
;----------------------------------------------------------------------------------------
|
|
|
|
immgDispTable RECORD 0
|
|
dispFlags DS.W 1 ; flags reserved for Apple use
|
|
numDisp DS.W 1 ; number of dispatch functions in table
|
|
|
|
; if you add any more private storage fields to this record, add them above here.
|
|
; Make sure you update the ImmgInit function to set up the private storage correctly.
|
|
; if you add any more dispatch functions, add them to the end of the table.
|
|
|
|
dispOffset EQU *-immgDispTable ; offset to this point
|
|
mdmInit DS.L 1 ; modem init routine
|
|
mdmPower DS.L 1 ; modem power routine
|
|
mdmWakeUp DS.L 1 ; modem wake up routine
|
|
mdmStatus DS.L 1 ; modem status routine
|
|
mdmPrime DS.L 1 ; modem prime routine
|
|
mdmSndCtl DS.L 1 ; modem sound control routine
|
|
mdmGetInd DS.L 1 ; modem get indexed routine
|
|
mdmFind DS.L 1 ; modem find routine
|
|
mdmInstall DS.L 1 ; modem install routine
|
|
mdmRemove DS.L 1 ; modem remove routine
|
|
mdmGetName DS.L 1 ; modem name routine
|
|
mdmInfo DS.L 1 ; modem version info routine
|
|
mdmClose DS.L 1 ; modem close routine
|
|
mdmSndVol DS.L 1 ; modem sound volume routine
|
|
mdmSndHW DS.L 1 ; modem sound HW arbitration routine
|
|
size EQU *-immgDispTable ; size of record
|
|
ENDR
|
|
|
|
|
|
;----------------------------------------------------------------------------------------
|
|
; Internal modem manager modem queue element structure
|
|
;----------------------------------------------------------------------------------------
|
|
|
|
immgQEl RECORD 0
|
|
qLink DS.L 1 ; next queue element
|
|
qType DS.W 1 ; type of queue element (0)
|
|
qMdmID DS.W 1 ; ID of the installed modem
|
|
qMdmPrimPtr DS.L 1 ; pointer to the primitives table
|
|
optionalA1 DS.L 1 ; pointer passed to prims in A1
|
|
size EQU *-immgQEl ; size of record
|
|
ENDR
|
|
|
|
|
|
;----------------------------------------------------------------------------------------
|
|
; Internal modem manager global storage data structure
|
|
;----------------------------------------------------------------------------------------
|
|
|
|
immgGlobals RECORD 0
|
|
dispTable DS.L 1 ; pointer to dispatch table
|
|
mdmQ DS.L 1 ; pointer to modem queue header
|
|
;primStorage DS.L 1 ; private storage for machine primitives
|
|
lastMdmID DS.W 1 ; last modem ID used
|
|
version DS.W 1 ; version of the modem manager
|
|
size EQU *-immgGlobals ; size of record
|
|
ENDR
|
|
|
|
|
|
;¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥
|
|
;¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥
|
|
; These next two structures are for setting up the modem manager primitives in the ROM.
|
|
; The product info record holds an offset to the immgRootTable for the machine. From
|
|
; that offset, the modem manager initializes all of its structures. All tables in ROM
|
|
; hold offsets from the beginning of the table.
|
|
;
|
|
; Both the immgDispTable and any immgPrimTables used are copied into RAM at modem
|
|
; manager init time, and their offsets are converted into absolute addresses.
|
|
; IModemInstall is called once for each mdmList element found in the ROM.
|
|
;
|
|
; The structure of all of this is as follows.
|
|
;
|
|
; ----------------
|
|
; product info rec
|
|
; ...
|
|
; +------ ImmgPrimPtr
|
|
; | ...
|
|
; | ----------------
|
|
; |
|
|
; | +----> immgPrimTable (from IntModemMgrEqu.a)
|
|
; | ---------------- | primFlags
|
|
; +-> immgMdmList | ...
|
|
; primTable ------+ mdmName
|
|
; +------ mdmListPtr ----------------
|
|
; | ----------------
|
|
; | ----------------
|
|
; | +----> immgPrimTable
|
|
; | ---------------- | primFlags
|
|
; +-> immgMdmList | ...
|
|
; primTable ------+ mdmName
|
|
; NULL ----------------
|
|
; ----------------
|
|
;
|
|
;¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥
|
|
;¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥
|
|
|
|
;----------------------------------------------------------------------------------------
|
|
; Internal modem manager modem list data structure
|
|
;----------------------------------------------------------------------------------------
|
|
|
|
immgMdmList RECORD 0
|
|
primTable DS.L 1 ; offset to modem primitives table
|
|
mdmListPtr DS.L 1 ; offset to next modem primitives element
|
|
size EQU *-immgMdmList ; size of record
|
|
ENDR
|
|
|
|
|