SuperMarioProj.1994-02-09

This commit is contained in:
Horst Beepmanh 2019-07-27 22:37:48 +08:00
parent 35a1daa14c
commit 33cd9271f4
5724 changed files with 1918850 additions and 0 deletions

138
DeclData/DeclData.make Normal file
View File

@ -0,0 +1,138 @@
#
# File DeclData.make
#
# Contains: Makefile for Declaration ROM.
#
# Written by: Kurt Clark, Chas Spillar, and Tim Nichols
#
# Copyright: © 1992-1993 by Apple Computer, Inc., all rights reserved.
#
# Change History (most recent first):
#
# <SM5> 12/13/93 PN Roll in Kaos and Horrors code to support AJ and Malcom machines.
# <SM4> 9/9/93 pdw Added slots.a to dependencies.
# <SM3> 08-03-93 jmp Added various necessary dependencies that werent previously
# spelled out.
# <SM2> 3/4/93 dwc Added DeclDataPDMMace definition for PDM ENET.
# <1> 2/21/93 kc first checked in
# <SM2> 12-04-92 jmp Added the rules for building VSC (Keystone) DeclData.
EthernetDir = {DeclDir}DeclNet:
SonicDir = {EthernetDir}Sonic:
MaceDir = {EthernetDir}Mace:
VideoDir = {DeclDir}DeclVideo:
GammaDir = {VideoDir}Gamma:
PDMMaceDir = {MaceDir}PDMMaceEnet:
#include {MaceDir}Mace.Make
#include {SonicDir}Sonic.Make
#include {VideoDir}VideoDrivers.Make
#include {PDMMaceDir}PDMEnet.Make
DeclResources = "{RsrcDir}DeclData.rsrc" ∂
"{RsrcDir}PrimaryInit.rsrc" ∂
"{RsrcDir}SecondaryInit.rsrc" ∂
"{RsrcDir}SuperInit.rsrc" ∂
"{RsrcDir}DeclDataMace.rsrc" ∂
"{RsrcDir}DeclDataPDMMace.rsrc" ∂
"{RsrcDir}DeclDataSonic.rsrc" ∂
"{RsrcDir}DeclDataVideo.rsrc" ∂
"{RsrcDir}Gamma.rsrc"
DeclHeaders = "{ObjDir}StandardEqu.d" ∂
"{AIncludes}GestaltEqu.a" ∂
"{AIncludes}ShutDown.a" ∂
"{AIncludes}ROMEqu.a" ∂
"{AIncludes}Video.a" ∂
"{IntAIncludes}DockingEqu.a" ∂
"{IntAIncludes}EgretEqu.a" ∂
"{IntAIncludes}GestaltPrivateEqu.a" ∂
"{IntAIncludes}HardwarePrivateEqu.a" ∂
"{IntAIncludes}IOPrimitiveEqu.a" ∂
"{IntAIncludes}PowerPrivEqu.a" ∂
"{AIncludes}Slots.a" ∂
"{IntAIncludes}SlotMgrEqu.a" ∂
"{IntAIncludes}UniversalEqu.a" ∂
"{IntAIncludes}DepVideoEqu.a" ∂
"{SonicDir}SonicEqu.a"
#
# DeclData
#
"{RsrcDir}DeclData" ƒ {DeclResources} "{RsrcDir}RomLink"
"{RsrcDir}RomLink" {DeclResources} -o "{Targ}"
"{RsrcDir}DeclData.rsrc" ƒ "{RIncludes}Types.r" ∂
"{IntRIncludes}DepVideoEqu.r" ∂
"{IntRIncludes}HardwarePrivateEqu.r" ∂
"{IntRIncludes}InternalOnlyEqu.r" ∂
"{IntRIncludes}QuickDraw.r" ∂
"{IntRIncludes}ROMLink.r" ∂
"{DeclDir}DeclData.r"
Rez {StdROpts} "{DeclDir}DeclData.r" -o "{Targ}"
# The ROMLinkHeaderBuilder tool is not used.
#"{IntRIncludes}ROMLink.r" ƒ "{RsrcDir}ROMLinkHeaderBuilder"
# "{RsrcDir}ROMLinkHeaderBuilder" > {Targ} #This is kinky
#
# PrimaryInit
#
"{RsrcDir}PrimaryInit.rsrc" ƒ "{ObjDir}PrimaryInit.a.o"
Link {StdLOpts} {StdAlign} -rt decl=200 "{ObjDir}PrimaryInit.a.o" -o "{Targ}"
"{ObjDir}PrimaryInit.a.o" ƒ "{DeclDir}PrimaryInit.a" ∂
{DeclHeaders}
Asm {StdAOpts} -d ForEclipseROM=0,sonic32=1,ctlpad=0,mmu=1 -i "{SonicDir}" "{DeclDir}PrimaryInit.a" -o "{Targ}"
#
# SecondaryInit
#
"{RsrcDir}SecondaryInit.rsrc" ƒ "{ObjDir}SecondaryInit.a.o"
Link {StdLOpts} {StdAlign} -rt decl=210 "{ObjDir}SecondaryInit.a.o" -o "{Targ}"
"{ObjDir}SecondaryInit.a.o" ƒ "{DeclDir}SecondaryInit.a" ∂
{DeclHeaders}
Asm {StdAOpts} -d ForEclipseROM=0,sonic32=1,ctlpad=0,mmu=1 -i "{SonicDir}" "{DeclDir}SecondaryInit.a" -o "{Targ}"
#
# SuperInit
#
"{RsrcDir}SuperInit.rsrc" ƒ "{ObjDir}SuperInit.a.o"
Link {StdLOpts} {StdAlign} -rt decl=220 "{ObjDir}SuperInit.a.o" -o "{Targ}"
"{ObjDir}SuperInit.a.o" ƒ "{DeclDir}SuperInit.a" ∂
{DeclHeaders}
Asm {StdAOpts} -d ForEclipseROM=0,sonic32=1,ctlpad=0,mmu=1 -i "{SonicDir}" "{DeclDir}SuperInit.a" -o "{Targ}"
#
# Ethernet
#
"{ObjDir}Loopback.c.o" ƒ "{EthernetDir}Loopback.c" ∂
"{CIncludes}TextUtils.h" ∂
"{CIncludes}Memory.h" ∂
"{CIncludes}Devices.h" ∂
"{CIncludes}Files.h" ∂
"{CIncludes}AppleTalk.h" ∂
"{CIncludes}OSUtils.h"
C {StdCOpts} -b -o "{Targ}" "{EthernetDir}Loopback.c"
#
# Gamma Resource
#
"{RsrcDir}Gamma.rsrc" ƒ "{RIncludes}Types.r" ∂
"{IntRIncludes}ROMLink.r" ∂
"{GammaDir}Gamma.r"
Rez {StdROpts} "{GammaDir}Gamma.r" -o "{Targ}"

View File

@ -0,0 +1 @@
TEXTMPS

View File

@ -0,0 +1,27 @@
data 'MPSR' (1005) {
$"0009 4D6F 6E61 636F 0009 4765 6F72 6765" /* ..Monaco..George */
$"2044 2E20 5769 6C73 6F6E 204A 722E 0D23" /* D. Wilson Jr..# */
$"0D23 0006 0004 0029 0007 035A 023E 0029" /* .#.....)...Z.>.) */
$"0007 035A 023E A931 9AE4 0000 00F1 0000" /* ...Z.>.1........ */
$"014A 0000 0000 0100" /* .J...... */
};
data 'MPSR' (1008) {
$"0029 0007 035A 023E 0029 0007 035A 023E" /* .)...Z.>.)...Z.> */
$"0000 0000 0000 0000 0000 0000 0000" /* .............. */
};
data 'ckid' (128, "Projector") {
$"5AB1 8B8D 3FE5 3230 0004 0000 0000 0000" /* Z...?.20........ */
$"0000 A933 7389 A933 7389 A6F7 9FDC 0074" /* ...3s..3s......t */
$"C2F0 0000 0006 0007 1853 7570 6572 4D61" /* .........SuperMa */
$"7269 6F50 726F 6ABA 4465 636C 4461 7461" /* rioProj.DeclData */
$"BA00 0E43 6872 6973 2050 6574 6572 7365" /* ...Chris Peterse */
$"6E00 0135 000D 4465 636C 4461 7461 2E6D" /* n..5..DeclData.m */
$"616B 6500 0000 0040 526F 6C6C 2069 6E20" /* ake....@Roll in */
$"4B61 6F73 2061 6E64 2048 6F72 726F 7273" /* Kaos and Horrors */
$"2063 6F64 6520 746F 2073 7570 706F 7274" /* code to support */
$"2041 4A20 616E 6420 4D61 6C63 6F6D 206D" /* AJ and Malcom m */
$"6163 6869 6E65 732E 00" /* achines.. */
};

9518
DeclData/DeclData.r Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
TEXTMPS

33
DeclData/DeclData.r.rdump Normal file
View File

@ -0,0 +1,33 @@
data 'MPSR' (1005) {
$"0009 436F 7572 6965 7200 2020 2020 2020" /* ..Courier. */
$"2020 2020 2020 2020 2020 2020 2020 2020" /* */
$"2020 0005 0004 0029 0007 035A 023E 0029" /* .....)...Z.>.) */
$"0007 035A 023E A964 1348 0000 00C6 0000" /* ...Z.>.d.H...... */
$"0136 0000 0000 0100" /* .6...... */
};
data 'MPSR' (1007) {
$"0001 0003 D821 0003 D82A 0956 6964 5061" /* .....!...*.VidPa */
$"7261 6D73" /* rams */
};
data 'MPSR' (1008) {
$"0029 0007 035A 023E 0029 0007 035A 023E" /* .)...Z.>.)...Z.> */
$"0000 0000 0000 0000 0000 0000 0000" /* .............. */
};
data 'ckid' (128, "Projector") {
$"79E4 A53B 3FE5 3230 0004 0000 0000 0000" /* y..;?.20........ */
$"0000 A972 83C9 A972 83C9 A6F7 9FDC 0074" /* ...r...r.......t */
$"C2F0 0000 0005 0029 1853 7570 6572 4D61" /* .......).SuperMa */
$"7269 6F50 726F 6ABA 4465 636C 4461 7461" /* rioProj.DeclData */
$"BA00 0E43 6872 6973 2050 6574 6572 7365" /* ...Chris Peterse */
$"6E00 0232 3800 0A44 6563 6C44 6174 612E" /* n..28..DeclData. */
$"7200 0000 004F 5265 6D6F 7665 2074 6865" /* r....ORemove the */
$"2072 656D 6169 6E69 6E67 2073 6C6F 7420" /* remaining slot */
$"7265 736F 7572 6365 2074 7970 6573 2022" /* resource types " */
$"5F43 5055 4D61 6332 3022 2074 6F20 6669" /* _CPUMac20" to fi */
$"7820 4441 4642 2076 6964 656F 2064 6973" /* x DAFB video dis */
$"706C 6179 2E00" /* play.. */
};

97
DeclData/DeclNet/802Equ.a Normal file
View File

@ -0,0 +1,97 @@
;
; File: 802Equ.a
;
; Contains: Equates for IEEE network standards
;
; Written by: Kerry E. Lynn, Sean Findley
;
; Copyright: © 1990, 1992 by Apple Computer, Inc., all rights reserved.
;
; Change History (most recent first):
;
; <1> 10/6/92 GDW New location for ROMLink tool.
; <1> 3/26/92 FM first checked in
; <1> 12/14/90 JK Added to build
;
; To Do:
;
;-----------=-----------=-------------------------------=---------------------------------------
; 802Equ.a - Equates for IEEE network standards
;
; Kerry E. Lynn
; Feb 1989
;
; Copyright (C) 1989 by:
;
; Apple Computer, Inc.
; 20525 Mariani Ave.
; Cupertino, CA 95014
;
; All Rights Reserved.
;-----------=-----------=-------------------------------=---------------------------------------
; 24-bit quantities, left justified
AppleCode EQU $08000700 ; Apple's vendor code for 802.2 Individual addr
MultiCode EQU $09000700 ; Apple's vendor code for 802.2 Group addr
; Size of a MAC addr
MACAddrSz EQU 6 ; max size (in bytes) for data link addr
MaxMCastSz EQU MACAddrSz ; max size (in bytes) for multicast addr
;---------------------------------------
; 802.3 MAC packet header
;---------------------------------------
MDstAddr EQU 0 ; Offset to destination address
MSrcAddr EQU MDstAddr+MACAddrSz ; Offset to source address
MLength EQU MSrcAddr+MACAddrSz ; Offset to LLC length
MHdrSize EQU MLength+2 ; 802.3 MAC header size
;---------------------------------------
; 802.2 LLC (Type 1) packet header
;---------------------------------------
LDSAP EQU 0 ; Offset to destination Service Access Point (SAP)
IGBIT EQU 0 ; I/G = 0 if Individual DSAP, = 1 if Group DSAP
LSSAP EQU LDSAP+1 ; Offset to source SAP
CRBIT EQU 0 ; C/R = 0 if Command, = 1 if Response
LCtrl EQU LSSAP+1 ; Offset to LLC CONTROL field (see below)
LHdrSize EQU LCtrl+1
LInfo EQU LHdrSize ; Offset to LLC Information
GlobalSAP EQU $FF
NullSAP EQU 0
;---------------------------------------
; CONTROL field bits for 802.2 Type 1 LLC Protocol Data Units (PDUs)
;---------------------------------------
UI EQU %00000011 ; value for "Unnumbered Information" (P/F bit must be 0)
XID EQU %10101111 ; mask for "Exchange Identification" (P/F bit may be 0 or 1)
TEST EQU %11100011 ; mask for "Test" (P/F bit may be 0 or 1)
PFBIT EQU 4 ; P/F = 0 if Poll (command), = 1 if Final (response)
;---------------------------------------
; XID information field
;---------------------------------------
XIDformat EQU %10000001 ; indicates IEEE basic format
XIDinfo1 EQU %00000001 ; indicates Type 1 AND Class I LLC
XIDinfo2 EQU %00000000 ; receive window size = N/A
XIDinfoSz EQU 3 ; number of bytes in an XID response
;---------------------------------------
; Sub-Network Access Protocol (SNAP) packet header
;---------------------------------------
SType EQU 0 ; 5-byte protocol discriminator
SHdrSize EQU SType+5

View File

@ -0,0 +1 @@
TEXTMPS

View File

@ -0,0 +1,25 @@
data 'MPSR' (1005) {
$"0009 4D6F 6E61 636F 008F 0090 7FFF 005F" /* ..Monaco......._ */
$"0090 0091 7FFF 0250 0090 0091 7FFF 0262" /* .......P.......b */
$"0000 0006 0004 00B5 0137 03E6 036E 0029" /* .........7...n.) */
$"0007 035A 023E A6A7 F930 0000 03C7 0000" /* ...Z.>...0...... */
$"03C7 0000 0000 0100" /* ........ */
};
data 'MPSR' (1008) {
$"00B5 0137 03E6 036E 0029 0007 035A 023E" /* ...7...n.)...Z.> */
$"0000 0000 0000 0000 0000 0000 0000" /* .............. */
};
data 'ckid' (128, "Projector") {
$"6658 1030 3FE5 3230 0004 0000 0000 0000" /* fX.0?.20........ */
$"0000 A933 7396 A933 7396 A6F7 AE5C 0078" /* ...3s..3s....\.x */
$"2B21 0000 0001 0001 2053 7570 6572 4D61" /* +!...... SuperMa */
$"7269 6F50 726F 6ABA 4465 636C 4461 7461" /* rioProj.DeclData */
$"BA44 6563 6C4E 6574 BA00 0E43 6872 6973" /* .DeclNet...Chris */
$"2050 6574 6572 7365 6E00 0131 0008 3830" /* Petersen..1..80 */
$"3245 7175 2E61 0000 0000 1F4E 6577 206C" /* 2Equ.a.....New l */
$"6F63 6174 696F 6E20 666F 7220 524F 4D4C" /* ocation for ROML */
$"696E 6B20 746F 6F6C 2E0D 00" /* ink tool... */
};

View File

@ -0,0 +1,397 @@
;
; File: ATMacros.a
;
; Contains: Assembly macros used by AppleTalk
;
; Written by: Mike Shoemaker
;
; Copyright: © 1990-1993 by Apple Computer, Inc., all rights reserved.
;
; Change History (most recent first):
;
; <SM2> 12/13/93 PN Roll in KAOS and Horror to add support for Malcom and AJ
; <1> 10/6/92 GDW New location for ROMLink tool.
; <SM2> 6/22/92 mal Added some labels to VERSION macro and added VMImmumebit equate.
; <SM3> 5/4/92 CSS moved to ethernet folder to get build to work
; <2> 3/19/92 kc Roll in Terror/Horror Changes.
; <SM1> 2/??/92 kc first checked in
; ———————————————————————————————————————————————————————————————————————————————————————
; Pre-SuperMario ROM comments begin here.
; ———————————————————————————————————————————————————————————————————————————————————————
; <H2> 01/22/92 jmp (BG,Z2) Added some additional macros for new ethernet changes.
; ———————————————————————————————————————————————————————————————————————————————————————
; Pre-Horror ROM comments begin here.
; ———————————————————————————————————————————————————————————————————————————————————————
; <T1> 3/27/91 jmp first checked in
; ———————————————————————————————————————————————————————————————————————————————————————
; Pre-TERROR ROM comments begin here.
; ———————————————————————————————————————————————————————————————————————————————————————
; <8> 1/30/91 mbs cj,#82011: Move years after company name in copyright message.
; <7> 12/17/90 mbs The ALIGN directive does not work for the IIGS assembler. Use
; IF ENDIF to generate an extra dc.b 0 if necessary. Yes except
; for the ALIGN, the entire macro worked under the IIGS
; assembler!.
; <6> 11/28/90 mbs In the VERSION macro, when the release stage is 'released', pad
; the version with two trailing spaces so that the length remains
; the same when changing from an f1 to a Golden Master build.
; <5> 11/26/90 mbs Did not handle 3-digit major version number
; <4> 11/12/90 mbs Steven pointed out that verUs is zero, not 1.
; <3> 11/10/90 mbs Add optional parameter to set the label at the front of the
; version structure.
; <2> 11/09/90 mbs Add 'v' in front of version number in long string
; 11/9/90 mbs First written
;
; To Do:
;
; WARNING -- CAN'T USE IF (__IncludingATalkMacros__ == 'UNDEFINED') because
; 6502 assember barfs and doesn't include the file.
PRINT PUSH, OFF
;==========================================================================================
; VERSION
;
; USAGE:
; VERSION <Name>, <Major Version>, <Minor Version>,
; <release stage>, <Revision level>,
; <Copyright Years> [, <Engineering Suffix> [, <Version Label> ] ]
;
; The name field should be quoted if more than one word.
; The copyright years field may or may not be quoted. The macro works either way
; It is OK to leave the engineering suffix field empty.
;
; The start of the version information is given the Label 'VersionInfo', unless
; you specify the last parameter; then it will be used. It must not be quoted.
;
; Example for EtherTalk 1.2a3q1 copyrighted 1987-1990
;
; VERSION 'EtherTalk', 1, 2, 0, alpha, 3, '1987-1990', 'q1'
;==========================================================================================
ATM_development EQU $20 ; These are used in the 3rd byte of the 4-byte version #
ATM_alpha EQU $40 ; .. to indicate release stage
ATM_beta EQU $60
ATM_final EQU $80
ATM_release EQU $80
ATM_verUS EQU 0
MACRO
VERSION &sName, &nMajor, &nMinor, &nBug, \
&sStage, &nRevision, &sCopyright, &sEngr='', &sLabel0=VersionInfo,&sLabel1=End
&sLabel0 ;Make label for this version information
LCLA &nStage ;Numeric representation of stage
LCLC &cStage ;Character representation of stage
LCLA &nPadBytes ;Add padding at end of record to <K2>
;allow room for expansion if we <K2>
;have to add bug release digits <K2>
;to the version # <K2>
LCLC &StrSetting ;To save current string setting
&StrSetting SETC &SETTING('STRING') ;Save current string setting
STRING PASCAL ;Set string state to Pascal
;
; Do some error checking
;
IF &UPCASE(&sStage)='ALPHA' THEN
&nStage SETA ATM_alpha
&cStage SETC 'a'
ELSEIF &UPCASE(&sStage)='BETA' THEN
&nStage SETA ATM_beta
&cStage SETC 'b'
ELSEIF &UPCASE(&sStage)='DEVELOPMENT' THEN
&nStage SETA ATM_development
&cStage SETC 'd'
ELSEIF &UPCASE(&sStage)='FINAL' THEN
&nStage SETA ATM_final
&cStage SETC 'f'
ELSEIF &UPCASE(&sStage)='RELEASE' THEN
&nStage SETA ATM_release
&cStage SETC 'x'
ELSE
AERROR 'The stage parameter to VERSION must be: development, alpha, beta, final or release'
ENDIF
IF (&nMinor > 15) THEN
AERROR 'The Minor version must be less than 16'
ENDIF
IF (&nBug > 15) THEN
AERROR 'The Bug fix version must be less than 16'
ENDIF
;
; Generate the 4-byte version numbers
;
dc.b &nMajor ;Major version number
dc.b (&nMinor * 16) + &nBug ;Build 2nd byte of version
dc.b &nStage, &nRevision ;stage and revision level
;
; Generate the integer country code
;
dc.w ATM_verUS ;Country Code
;
; Build Version string from major/minor version string
;
LCLC &lShortVer
;
; Make 1st digit of version string
;
IF (&nMajor >= 100) THEN
&lShortVer SETC &CONCAT(&CHR(&nMajor / 100 + $30), \
&CHR((&nMajor MOD 100) / 10 + $30), \
&CHR(&nMajor MOD 10 + $30))
ELSE
IF (&nMajor >= 10) THEN
&lShortVer SETC &CONCAT(&CHR(&nMajor / 10 + $30), &CHR(&nMajor MOD 10 + $30))
ELSE
&lShortVer SETC &CHR(&nMajor + $30)
ENDIF
ENDIF
;
; Append 2nd digit of version number (ie: 1.0)
;
IF (&nMinor >= 10) THEN
&lShortVer SETC &CONCAT(&lShortVer,'.',&CONCAT(&CHR(&nMinor / 10 + $30), &CHR(&nMinor MOD 10 + $30)))
ELSE
&lShortVer SETC &CONCAT(&lShortVer,'.',&CHR(&nMinor + $30))
ENDIF
;
; Append third digit of version number if non-zero (ie: 1.0.2). If zero, leave <K2>
; room for the extra characters at the end of the record <K2>
;
IF (&nBug <> 0) THEN
&nPadBytes SETA 0 ; Will not need padding <K2>
IF (&nBug >= 10) THEN
&lShortVer SETC &CONCAT(&lShortVer,'.',&CONCAT(&CHR(&nBug / 10 + $30), &CHR(&nBug MOD 10 + $30)))
ELSE
&lShortVer SETC &CONCAT(&lShortVer,'.',&CHR(&nBug + $30))
ENDIF
ELSE
&nPadBytes SETA 1 ; Leave room for padding <K2>
ENDIF
; Append stage letter and revision if not a release version.
; For release version, append two spaces. This way the string does not change length
; between an 'f1' build and a GM build.
IF (&cStage <> 'x') THEN
&lShortVer SETC &CONCAT(&lShortVer,&cStage)
IF (&nRevision >= 10) THEN
&lShortVer SETC &CONCAT(&lShortVer,&CONCAT(&CHR(&nRevision / 10 + $30), &CHR(&nRevision MOD 10 + $30)))
ELSE
&lShortVer SETC &CONCAT(&lShortVer,&CHR(&nRevision + $30))
ENDIF
ELSE
&lShortVer SETC &CONCAT(&lShortVer, ' ') ; Append two spaces if release
ENDIF
;
; Emit the short string
;
dc.b '&lShortVer'
; ALIGN directive doesn't exist on IIGS assembler so do it the hard way...
IF ((&LEN(&lShortVer) +1) MOD 2) = 1 THEN
dc.b 0
ENDIF
;
; Trim the beginning and ending quotes from the name, copyright years, and
; engineering suffix if present
;
LCLC &lName
LCLC &lCopyright
LCLC &lEngr
IF &SUBSTR(&sName, 1, 1) = &CHR($27) THEN
&lName SETC &SUBSTR(&sName, 2, &LEN(&sName) - 2)
ELSE
&lName SETC &sName
ENDIF
IF &SUBSTR(&sCopyright, 1, 1) = &CHR($27) THEN
&lCopyright SETC &SUBSTR(&sCopyright, 2, &LEN(&sCopyright) - 2)
ELSE
&lCopyright SETC &sCopyright
ENDIF
IF &SUBSTR(&sEngr, 1, 1) = &CHR($27) THEN
&lEngr SETC &SUBSTR(&sEngr, 2, &LEN(&sEngr) - 2)
ELSE
&lEngr SETC &sEngr
ENDIF
;
; Build the long string
;
LCLC &lLongVer ; Define a local variable to hold it
&lLongVer SETC &CONCAT(&lName,' v',&lShortVer,&lEngr,'; © Apple Computer, Inc. ',&lCopyright)
;
; Emit the long string
;
LCLC &sLongVerLabel ;<K2 start>
LCLC &sLongVerLabelEnd ;
&sLongVerLabel SETC &CONCAT(&sLabel0, 'LongStr') ;
&sLongVerLabel ;
dc.b '&lLongVer' ;
IF ((&LEN(&lLongVer) +1) MOD 2) = 1 THEN ; Align things
dc.b 0
ENDIF
;
; If this is an "xx.x" release rather than an "xx.x.x" release, leave room so that
; if we have to rev the version # to x.x.x, the size of the record will not change.
;
IF (&nPadBytes) THEN
dc.b 0,0,0,0
ENDIF
&sLongVerLabelEnd SETC &CONCAT(&sLongVerLabel, 'End')
&sLongVerLabelEnd
;
; Clean up and we're done
;
LCLC &sEndLabel ;Make label for end of version information
&sEndLabel SETC &CONCAT(&sLabel0, &sLabel1)
&sEndLabel
STRING &StrSetting ;Restore string setting
ENDM
EJECT
;==========================================================================================
; SCCLOCKOUT
;
; Macro for disabling interrupts.
;==========================================================================================
SRIntMaskBits EQU $0700 ; The 3 interrupt level bit in the SR
SRIntMaskBitsCMP EQU $F8FF ; The 3 interrupt level bit in the SR
SRIntLevel6 EQU $0600 ; Level 6 interrupt mask
SRIntLevel6MASK EQU $FEFF ; Level 6 interrupt AND value
SRIntLevel5MASK EQU $FDFF ; Level 5 interrupt AND value <K2>
MACRO
_SCCLOCKOUT
ORI.W #SRIntMaskBits,SR ; Set all of the INT bits
ANDI.W #SRIntLevel6MASK,SR ; Set to priority 6
ENDM
;==========================================================================================
; _SETINTMASK
;
; Macro for setting the interrupt level to an arbitrary level. Pass the level in
; a Data register.
;==========================================================================================
MACRO
_SETINTMASK &sReg
move.w SR,-(SP)
andi.w #SRIntMaskBitsCMP,(SP)
or.w &sReg,(SP)
move.w (SP)+,SR
ENDM
;==========================================================================================
; VSCCEnable
;
; Macro for disabling interrupts.
; Pass address register holding MPP vars, and a temporary Data register
;==========================================================================================
MACRO
_VSCCENABLE &sMPPVarsReg, &tmpReg
MOVE.W SR, &tmpReg
ANDI.W #SRIntMaskBitsCMP,&tmpReg ; Clear all of the INT bits
EORI.W #$2000, &tmpReg ; Toggle the 2000 bit
move.w vSCCEnable(&sMPPVarsReg),-(SP) ; Push vscc enable
EOR.W &tmpReg, (SP) ; Or in the int bits (and toggles 2000)
; Stupid machine won't let memory be the source on an XOR instruction
MOVE.W (SP)+,SR ; Set SR
ENDM
;==========================================================================================
; These Macros & Equates are used to call the multipurpose function dispatcher in the
; Lap Manager. None of these functionn have jack to do with the Lap Manager, but they
; provide a way for code to get the functions without having to link with the library
; containing them. Of course, they require that a Lap Manager be present.
;==========================================================================================
;
; Macro used in following macros
;
MACRO
_L21Common &nVal
LCLC &cLabel ; Used to make a semi-unique label
&cLabel SETC &CONCAT('@L21Ret',&nVal)
pea &cLabel ; Want to return to here
move.l LAPMgrPtr,D0 ; Ptr to Lap Manager
add.l #LAPMgrCall,D0 ; Ptr to dispatch entry point
move.l D0,-(SP) ; Put on stack
move.l #((&nVal << 16) + LInt21Dispatch),D0
rts ; Call Lap Manager
&cLabel
ENDM
;
; Macros to call Lap Manager Dispatch routines
;
; Returns non-zero in D0.L if Extensions are disabled at boot time. Always returns zero on
; System 6. Sets condition codes
MACRO
_LExtensionsDisabled
_L21Common L21ExtensionsDisabled
ENDM
; pascal Handle GetBestResource(OSType theType, short theID)
MACRO
_LGetBestResource
_L21Common L21GetBestResource
ENDM
; pascal Boolean TrapAvailable(short theTrap)
MACRO
_LTrapAvailable
_L21Common L21TrapAvailable
ENDM
;==========================================================================================
; New Macros go here
;==========================================================================================
;
; MACROS for SNMP counters <K2>
;
MACRO
_IncrCount &SNMPCounter
ADDQ.L #1, SNMPVars.&SNMPCounter(A2) ; increment whatever SNMP counter
ENDM
VMImmuneBit EQU 0 ; bit in driver DCE flags to tell VM to leave paramblocks alone
PRINT POP
; END ATMacros.a

View File

@ -0,0 +1 @@
TEXTMPS

View File

@ -0,0 +1,27 @@
data 'MPSR' (1005) {
$"0009 4D6F 6E61 636F 0062 7920 4170 706C" /* ..Monaco.by Appl */
$"6554 616C 6B0D 3B0D 3B09 5772 6974 7465" /* eTalk.;.;.Writte */
$"6E20 0006 0004 0067 0076 0373 02AB 0067" /* n .....g.v.s...g */
$"0076 0373 02AB A92E 382C 0000 00D8 0000" /* .v.s....8,...... */
$"0129 0000 0000 0100" /* .)...... */
};
data 'MPSR' (1008) {
$"0067 0076 0373 02AB 0067 0076 0373 02AB" /* .g.v.s...g.v.s.. */
$"0000 0000 0000 0000 0000 0000 0000" /* .............. */
};
data 'ckid' (128, "Projector") {
$"3AD9 AFA2 3FE5 3230 0004 0000 0000 0000" /* :...?.20........ */
$"0000 A933 7396 A933 7396 A6F7 AE5C 0078" /* ...3s..3s....\.x */
$"2B21 0000 0002 0003 2053 7570 6572 4D61" /* +!...... SuperMa */
$"7269 6F50 726F 6ABA 4465 636C 4461 7461" /* rioProj.DeclData */
$"BA44 6563 6C4E 6574 BA00 0E43 6872 6973" /* .DeclNet...Chris */
$"2050 6574 6572 7365 6E00 0132 000D 4174" /* Petersen..2..At */
$"616C 6B4D 6163 726F 732E 6100 0000 0038" /* alkMacros.a....8 */
$"526F 6C6C 2069 6E20 4B41 4F53 2061 6E64" /* Roll in KAOS and */
$"2048 6F72 726F 7220 746F 2061 6464 2073" /* Horror to add s */
$"7570 706F 7274 2066 6F72 204D 616C 636F" /* upport for Malco */
$"6D20 616E 6420 414A 00" /* m and AJ. */
};

View File

@ -0,0 +1,94 @@
;
; File: ENETEqu.a
;
; Contains: Equates for the Ethernet driver
;
; Written by: Sean Findley (Version 1.1a1)
;
; Copyright: © 1990, 1992 by Apple Computer, Inc., all rights reserved.
;
; This file is used in these builds: Mac32
;
; Change History (most recent first):
;
; <SM2> 10/26/92 mal Updated SNMP control codes.
; <1> 10/6/92 GDW New location for ROMLink tool.
; <2> 3/26/92 FM Rolled into reality
; <2> 1/9/91 JK Cleaned up to simplify N&C support.
; <1> 12/14/90 JK Added to build
;
; To Do:
;
IF (&TYPE('MHdrSize') = 'UNDEFINED') THEN
INCLUDE '802Equ.a' ; IEEE equates
ENDIF
; Control codes.
ESetGeneral EQU 253 ; Set "general" mode
EGetInfo EQU 252 ; Get info
ERdCancel EQU 251 ; Cancel read
ERead EQU 250 ; Read
EWrite EQU 249 ; Write
EDetachPH EQU 248 ; Detach protocol handler
EAttachPH EQU 247 ; Attach protocol handler
EAddMulti EQU 246 ; Add a multicast address
EDelMulti EQU 245 ; Delete a multicast address
EOpenSAP EQU 244 ; Open an 802.2 SAP
ECloseSAP EQU 243 ; Close an 802.2 SAP
ELapGetLinkStatus EQU 242 ; Get interface statistics, RFC 1213
EGetDot3CollStats EQU 241 ; Get 802.3 collision statistics, RFC 1284
EGetDot3Statistics EQU 240 ; Get 802.3 statistics, RFC 1284
ESetDot3Entry EQU 239 ; Set 802.3 status & control information
EGetDot3Entry EQU 238 ; Get 802.3 status & control information
FirstENET EQU EGetDot3Entry ; First ENET command
LastENET EQU ESetGeneral ; Last ENET command
; ENET queue element standard structure: arguments passed in the CSParam area
EProtType EQU CSParam ; Offset to protocol type code
EMultiAddr EQU CSParam ; Multicast address (EAddMulti,EDelMulti)
EHandler EQU EProtType+2 ; Offset to protocol handler
EWDSPointer EQU EHandler ; WDS pointer (EWrite)
EBuffPtr EQU EHandler ; Buffer pointer (ERead,EGetInfo)
EKillQEl EQU EHandler ; QEl pointer (ERdCancel)
EBuffSize EQU EBuffPtr+4 ; Buffer size (ERead,EGetInfo)
EDataSize EQU EBuffSize+2 ; Actual data size (Eread)
;---------------------------------------
; Ethernet packet header
;---------------------------------------
EDestAddr EQU 0 ; Offset to destination address
ESrcAddr EQU 6 ; Offset to source address
EType EQU 12 ; Offset to data link type
EHdrSize EQU 14 ; Ethernet header size
EMinDataSz EQU 46 ; Minimum data size
EMaxDataSz EQU 1500 ; Maximum data size
EAddrSz EQU 6 ; Size of an ethernet node address
MAddrSz EQU 8 ; Size of an ethernet multicast address (?)
; These are defined in 802Equ.a
;
ETHdrSize EQU MHdrSize+LHdrSize+SHdrSize
;
; Errors and misc.
;
eLenErr EQU ddpLenErr ; Length error
eMultiErr EQU ddpSktErr ; Multicast address error
EAddrRType EQU 'eadr' ; Alternate address resource type
;
; Link specific 'atlk' AGetInfo call
;
ESpeed EQU 10000000 ; Link speed in bits/sec

View File

@ -0,0 +1 @@
TEXTMPS

View File

@ -0,0 +1,25 @@
data 'MPSR' (1005) {
$"0009 4D6F 6E61 636F 002E 00FD 002E 00FE" /* ..Monaco........ */
$"020E 0000 020E 00FE 0000 0000 0000 0000" /* ................ */
$"0000 0006 0004 0045 0029 01D2 0246 0083" /* .......E.)...F.. */
$"001C 0210 0239 A711 6848 0000 0113 0000" /* .....9..hH...... */
$"0148 0000 0000 0100" /* .H...... */
};
data 'MPSR' (1008) {
$"0045 0029 01D2 0246 0083 001C 0210 0239" /* .E.)...F.......9 */
$"0000 0000 0000 0000 0000 0000 0000" /* .............. */
};
data 'ckid' (128, "Projector") {
$"2321 3B31 3FE5 3230 0004 0000 0000 0000" /* #!;1?.20........ */
$"0000 A933 7396 A933 7396 A6F7 AE5C 0078" /* ...3s..3s....\.x */
$"2B21 0000 0003 0003 2053 7570 6572 4D61" /* +!...... SuperMa */
$"7269 6F50 726F 6ABA 4465 636C 4461 7461" /* rioProj.DeclData */
$"BA44 6563 6C4E 6574 BA00 0E43 6872 6973" /* .DeclNet...Chris */
$"2050 6574 6572 7365 6E00 0132 0009 454E" /* Petersen..2..EN */
$"4554 4571 752E 6100 0000 001B 5570 6461" /* ETEqu.a.....Upda */
$"7465 6420 534E 4D50 2063 6F6E 7472 6F6C" /* ted SNMP control */
$"2063 6F64 6573 2E00" /* codes.. */
};

157
DeclData/DeclNet/Loopback.c Normal file
View File

@ -0,0 +1,157 @@
/*
File: Loopback.c
Contains: Ethernet loopback test code
Written by: Sean Findley
Copyright: © 1990, 1992 by Apple Computer, Inc., all rights reserved.
Change History (most recent first):
<1> 10/6/92 GDW New location for ROMLink tool.
<SM5> 6/22/92 mal Modified so ptr and size to loopback test data is passed from
the driver since shared by Sonic and Mace drivers.
<SM1> 6/11/92 CS Roll-in changes from Reality:
<2> 6/1/92 DTY Include TextUtils.h for the new home of EqualString.
TextUtils now contains the EqualString prototype, so include it.
<3> 3/26/92 FM Rolled into reality
<2> 2/11/92 RB Use the real EqualString to avoid having to link old C libraries
with this code.
<2> 4/21/91 CCH Rolled in Sean Findley's changes.
<1> 12/14/90 JK Added to build
To Do:
*/
#include <TextUtils.h>
#include "memory.h"
#include "devices.h"
#include "files.h"
#include "appletalk.h"
#include "OSUtils.h"
typedef struct
{
char Addr[6];
} Enet;
typedef struct
{
Enet Destination; /* Ethernet destination */
Enet Source; /* Ethernet source */
unsigned short EProtocoltype; /* Ethernet protocol type */
char testdata[255];
} LBpacket;
typedef union /* parameter block for calling .ENET */
{
CntrlParam ctl; /* for ctl calls */
struct
{
char filler[28];
unsigned short EprotType;
Ptr EBuffPtr;
unsigned short EBuffSize;
unsigned short EDataSize;
} info;
MPPParamBlock ecall;
} Edrvrparms;
#define Ehandler DDP.DDPptrs.listener
#define EWdsPointer DDP.DDPptrs.wdsPointer
#define EKillQEl EBuffPtr
#define ERdCancel 251
#define ERead 250
#define EWrite 249
#define EDetachPH 248
#define EAttachPH 247
#define Ethhdrsz 14
Boolean cmpdata(char *p1, char *p2, short len) /* true = data equal, false = data not equal */
{
short i;
for(i=0;i<len;i++)
{
if(p1[i] != p2[i])
return(false);
}
return(true);
}
killtest(Edrvrparms *pbw, Edrvrparms *pb)
{
pbw->ctl.csCode = ERdCancel;
pbw->info.EKillQEl = (Ptr) pb;
PBControl((ParmBlkPtr) pbw,false);
pbw->ctl.csCode = EDetachPH;
PBControl((ParmBlkPtr) pbw,false);
}
Boolean LOOPBACKTEST(short refnum,Enet *enetaddr, int AppleData, short AppleDataSz)
{
LBpacket LBPR,LBPW;
Edrvrparms pb,pbw;
WDSElement wds[2];
unsigned long secs1,secs2;
pb.ctl.ioCRefNum = refnum;
pb.ctl.ioCompletion = nil;
pb.ctl.csCode = EAttachPH;
pb.info.EprotType = 0x809B;
pb.ecall.Ehandler = nil;
if (PBControl((ParmBlkPtr) &pb,false)) /* attach special protocol using default handler */
return(false);
pb.ctl.csCode = ERead;
pb.info.EBuffPtr = (Ptr) &LBPR;
pb.info.EBuffSize = sizeof(LBpacket);
if (PBControl((ParmBlkPtr) &pb,true)) /* setup a read using default handler */
{
pb.ctl.csCode = EDetachPH;
PBControl((ParmBlkPtr) &pb,false);
return(false);
}
pbw = pb;
wds[0].entryLength = Ethhdrsz + AppleDataSz;
wds[0].entryPtr = (Ptr) &LBPW;
wds[1].entryLength = 0;
LBPW.Destination = *enetaddr;
LBPW.Source = *enetaddr;
LBPW.EProtocoltype = 0x809B;
BlockMove((Ptr)AppleData,LBPW.testdata,AppleDataSz);
pbw.ecall.EWdsPointer = (Ptr) wds;
pbw.ctl.csCode = EWrite;
if (PBControl((ParmBlkPtr) &pbw,false)) /* write a packet to ourself */
{
killtest(&pbw,&pb);
return(false);
}
GetDateTime(&secs1);
while (pb.ctl.ioResult == 1) /* wait for default read to complete or timeout */
{
GetDateTime(&secs2);
if (secs2 - secs1 > 3)
{
killtest(&pbw,&pb);
return(false);
}
}
pbw.ctl.csCode = EDetachPH;
PBControl((ParmBlkPtr) &pbw,false);
if (!cmpdata(LBPR.testdata,LBPW.testdata,AppleDataSz)) /* check data looped back */
return(false);
return(true);
}

View File

@ -0,0 +1 @@
TEXTMPS

View File

@ -0,0 +1,25 @@
data 'MPSR' (1005) {
$"0009 4D6F 6E61 636F 0081 0902 0000 0000" /* ..Monaco........ */
$"0000 0043 7F10 FFFE 09EC 0003 0000 0000" /* ...C............ */
$"0000 0006 0004 0082 0072 02A1 02AB 0082" /* .........r...... */
$"0072 02A1 02AB A678 8BA0 0000 00C7 0000" /* .r.....x........ */
$"00C7 0000 0000 0100" /* ........ */
};
data 'MPSR' (1008) {
$"0082 0072 02A1 02AB 0082 0072 02A1 02AB" /* ...r.......r.... */
$"0000 0000 0000 0000 0000 0000 0000" /* .............. */
};
data 'ckid' (128, "Projector") {
$"ACF4 9D69 3FE5 3230 0004 0000 0000 0000" /* ...i?.20........ */
$"0000 A933 7396 A933 7396 A6F7 AE5C 0078" /* ...3s..3s....\.x */
$"2B21 0000 0004 0001 2053 7570 6572 4D61" /* +!...... SuperMa */
$"7269 6F50 726F 6ABA 4465 636C 4461 7461" /* rioProj.DeclData */
$"BA44 6563 6C4E 6574 BA00 0E43 6872 6973" /* .DeclNet...Chris */
$"2050 6574 6572 7365 6E00 0131 000A 4C6F" /* Petersen..1..Lo */
$"6F70 6261 636B 2E63 0000 0000 1F4E 6577" /* opback.c.....New */
$"206C 6F63 6174 696F 6E20 666F 7220 524F" /* location for RO */
$"4D4C 696E 6B20 746F 6F6C 2E0D 00" /* MLink tool... */
};

View File

@ -0,0 +1,89 @@
/*
File: MACEecfg.r
Contains: 'ecfg' resource templates for MACE built-in ethernet systems
Written by: Mark A. Law
Copyright: © 1992-1993 by Apple Computer, Inc., all rights reserved.
Change History (most recent first):
<1> 6/7/93 kc first checked in
<LW2> 3/21/93 mal Versioned MACE 'ecfg' rsrc record and removed 24-bit MACEBase
field.
To Do:
*/
Type 'ecfg'
{
unsigned integer; /* Record version */
unsigned hex longint; /* 32-bit MACE address */
unsigned hex longint; /* Ethernet PROM address */
unsigned hex byte; /* MACE transmit frame control */
unsigned hex byte; /* MACE receive frame control */
unsigned hex byte; /* MACE xmit/recv fifo config control */
unsigned hex byte; /* MACE MAC config control */
hex string [6]; /* Alternate ethernet address */
unsigned integer; /* Alternate # transmit buffers */
unsigned integer; /* Alternate # receive buffers */
unsigned integer; /* Alternate # receive chains */
};
Resource 'ecfg' (43, "Cyclone33") {
1,
0x50F1C000,
0x50F08000,
0x1,
0,
0x2C,
0x3,
$"",
0,
0,
0
};
Resource 'ecfg' (78, "Cyclone40") {
1,
0x50F1C000,
0x50F08000,
0x1,
0,
0x2C,
0x3,
$"",
0,
0,
0
};
Resource 'ecfg' (60, "Tempest25") {
1,
0x50F1C000,
0x50F08000,
0x1,
0,
0x2C,
0x3,
$"",
0,
0,
0
};
Resource 'ecfg' (79, "Tempest33") {
1,
0x50F1C000,
0x50F08000,
0x1,
0,
0x2C,
0x3,
$"",
0,
0,
0
};

View File

@ -0,0 +1 @@
TEXTMPS

View File

@ -0,0 +1,25 @@
data 'MPSR' (1005) {
$"0009 4D6F 6E61 636F 0000 2120 0000 0000" /* ..Monaco..! .... */
$"0000 0046 0000 0014 0006 1D98 0001 0045" /* ...F...........E */
$"0013 0006 0004 002E 023D 0376 0472 0027" /* .........=.v.r.' */
$"0005 036F 023A A7EF 2570 0000 00E7 0000" /* ...o.:..%p...... */
$"0172 0000 0000 0100" /* .r...... */
};
data 'MPSR' (1008) {
$"002E 023D 0376 0472 0027 0005 036F 023A" /* ...=.v.r.'...o.: */
$"0000 0000 0000 0000 0000 0000 0000" /* .............. */
};
data 'ckid' (128, "Projector") {
$"EC7C 5D24 3FE5 3230 0004 0000 0000 0000" /* .|]$?.20........ */
$"0000 A933 739B A933 739B A6F7 B0C6 0078" /* ...3s..3s......x */
$"BC36 0000 0008 0001 2553 7570 6572 4D61" /* .6......%SuperMa */
$"7269 6F50 726F 6ABA 4465 636C 4461 7461" /* rioProj.DeclData */
$"BA44 6563 6C4E 6574 BA4D 6163 65BA 000E" /* .DeclNet.Mace... */
$"4368 7269 7320 5065 7465 7273 656E 0001" /* Chris Petersen.. */
$"3100 0A4D 4143 4565 6366 672E 7200 0000" /* 1..MACEecfg.r... */
$"0010 6669 7273 7420 6368 6563 6B65 6420" /* ..first checked */
$"696E 00" /* in. */
};

2729
DeclData/DeclNet/Mace/Mace.a Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
TEXTMPS

View File

@ -0,0 +1,32 @@
data 'MPSR' (1005) {
$"0009 4D6F 6E61 636F 0000 6E64 6572 2061" /* ..Monaco..nder a */
$"2050 5343 2D73 7479 6C65 2044 4D41 206D" /* PSC-style DMA m */
$"6F64 0006 0004 0034 0014 0265 02ED 0034" /* od.....4...e...4 */
$"0014 0265 02ED A879 5FD8 0000 0000 0000" /* ...e...y_....... */
$"0000 0000 0000 0100" /* ........ */
};
data 'MPSR' (1008) {
$"0034 0014 0265 02ED 0034 0014 0265 02ED" /* .4...e...4...e.. */
$"0000 0000 0000 0000 0000 0000 0000" /* .............. */
};
data 'ckid' (128, "Projector") {
$"EFCC 7A99 3FE5 3230 0004 0000 0000 0000" /* ..z.?.20........ */
$"0000 A933 739B A933 739B A6F7 B0C6 0078" /* ...3s..3s......x */
$"BC36 0000 0001 0011 2553 7570 6572 4D61" /* .6......%SuperMa */
$"7269 6F50 726F 6ABA 4465 636C 4461 7461" /* rioProj.DeclData */
$"BA44 6563 6C4E 6574 BA4D 6163 65BA 000E" /* .DeclNet.Mace... */
$"4368 7269 7320 5065 7465 7273 656E 0002" /* Chris Petersen.. */
$"3130 0006 4D61 6365 2E61 0000 0000 8546" /* 10..Mace.a.....F */
$"6978 6564 2062 7567 2077 6865 7265 2064" /* ixed bug where d */
$"7276 7220 6361 6E20 6661 696C 2074 6F20" /* rvr can fail to */
$"6F70 656E 2069 6620 564D 206F 6E20 616E" /* open if VM on an */
$"6420 6C6F 6769 6361 6C20 746F 2070 6879" /* d logical to phy */
$"7369 6361 6C20 6164 6472 6573 7320 6D61" /* sical address ma */
$"7070 696E 6720 6F66 2072 6563 7620 6275" /* pping of recv bu */
$"6666 6572 7320 6172 6520 6E6F 7420 3120" /* ffers are not 1 */
$"746F 2031 2E20 2053 6565 2047 6574 506B" /* to 1. See GetPk */
$"7428 292E 00" /* t().. */
};

View File

@ -0,0 +1,77 @@
#
# File Mace.Make
#
# Contains: Makefile for Mace.
#
# Written by: Kurt Clark, Chas Spillar, and Tim Nichols
#
# Copyright: © 1992-1993 by Apple Computer, Inc. All rights reserved.
#
# Change History (most recent first):
#
# <SM2> 6/14/93 kc Roll in Ludwig.
# <LW3> 3/16/93 chp Added a dependency on SysPrivateEqu.a for Mace.a.o.
# <LW2> 1/27/93 mal Add MACE ecfg rsrc.
# <SM2> 11/30/92 SWC Changed TimeEqu.a->Timer.a.
#
"{RsrcDir}DeclDataMace.rsrc" ƒ "{ObjDir}MaceEnet.a.o" ∂
"{ObjDir}Mace.a.o" ∂
"{ObjDir}Loopback.c.o" ∂
"{IfObjDir}interface.o"
Link {StdLOpts} {StdAlign} -rt decl=1 -o "{Targ}" ∂
"{ObjDir}MaceEnet.a.o" ∂
"{ObjDir}Mace.a.o" ∂
"{ObjDir}Loopback.c.o" ∂
"{IfObjDir}interface.o"
"{RsrcDir}MACEecfg.rsrc" ƒ {MaceDir}MACEecfg.r
Rez {StdROpts} -t rsrc -c RSED "{MaceDir}MACEecfg.r" -o "{Targ}"
"{ObjDir}Enet61.rsrc" ƒ "{ObjDir}MaceEnet.a.o" ∂
"{ObjDir}Mace.a.o" ∂
"{ObjDir}Loopback.c.o"
Link {StdLOpts} {StdAlign} -rt enet=61 -o "{Targ}" ∂
-sn Main="Cyclone MACE Ethernet Driver" ∂
-ra "Cyclone MACE Ethernet Driver"=resSysHeap,resPurgeable,resLocked ∂
"{ObjDir}MaceEnet.a.o" ∂
"{ObjDir}Mace.a.o" ∂
"{ObjDir}Loopback.c.o" ∂
"{IfObjDir}interface.o"
"{ObjDir}MaceEnet.a.o" ƒ "{MaceDir}MaceEnet.a" ∂
"{MaceDir}MaceEqu.a" ∂
"{MaceDir}VersionMaceEnet.a" ∂
"{EthernetDir}AtalkMacros.a" ∂
"{EthernetDir}ENETEqu.a" ∂
"{EthernetDir}SNMPLAP.a" ∂
"{AIncludes}GestaltEqu.a" ∂
"{AIncludes}Slots.a" ∂
"{AIncludes}SysEqu.a" ∂
"{AIncludes}SysErr.a" ∂
"{AIncludes}Timer.a" ∂
"{AIncludes}Traps.a" ∂
"{IntAIncludes}HardwarePrivateEqu.a"∂
"{IntAIncludes}InternalOnlyEqu.a" ∂
"{IntAIncludes}PSCEqu.a" ∂
"{IntAIncludes}UniversalEqu.a"
Asm {StdAOpts} -i "{MaceDir}" -i "{EthernetDir}" -o "{Targ}" "{MaceDir}MaceEnet.a"
"{ObjDir}Mace.a.o" ƒ "{MaceDir}Mace.a" ∂
"{MaceDir}MaceEqu.a" ∂
"{EthernetDir}AtalkMacros.a" ∂
"{EthernetDir}ENETEqu.a" ∂
"{EthernetDir}SNMPLAP.a" ∂
"{AIncludes}GestaltEqu.a" ∂
"{AIncludes}SysEqu.a" ∂
"{AIncludes}SysErr.a" ∂
"{AIncludes}Traps.a" ∂
"{IntAIncludes}SysPrivateEqu.a" ∂
"{IntAIncludes}HardwarePrivateEqu.a"∂
"{IntAIncludes}InternalOnlyEqu.a" ∂
"{IntAIncludes}PSCEqu.a" ∂
"{IntAIncludes}UniversalEqu.a"
Asm {StdAOpts} -i "{MaceDir}" -i "{EthernetDir}" -o "{Targ}" "{MaceDir}Mace.a"

View File

@ -0,0 +1 @@
TEXTMPS

View File

@ -0,0 +1,25 @@
data 'MPSR' (1005) {
$"0009 4D6F 6E61 636F 0065 6F72 6765 2044" /* ..Monaco.eorge D */
$"2E20 5769 6C73 6F6E 204A 722E 0D23 0D23" /* . Wilson Jr..#.# */
$"0943 0006 0004 0027 0005 01E0 023A 0027" /* .C.....'.....:.' */
$"0005 01E0 023A A833 AE0C 0000 00E2 0000" /* .....:.3........ */
$"010A 0000 0000 0100" /* ........ */
};
data 'MPSR' (1008) {
$"0027 0005 01E0 023A 0027 0005 01E0 023A" /* .'.....:.'.....: */
$"0000 0000 0000 0000 0000 0000 0000" /* .............. */
};
data 'ckid' (128, "Projector") {
$"776C 9186 3FE5 3230 0004 0000 0000 0000" /* wl..?.20........ */
$"0000 A933 739B A933 739B A6F7 B0C6 0078" /* ...3s..3s......x */
$"BC36 0000 0006 0003 2553 7570 6572 4D61" /* .6......%SuperMa */
$"7269 6F50 726F 6ABA 4465 636C 4461 7461" /* rioProj.DeclData */
$"BA44 6563 6C4E 6574 BA4D 6163 65BA 000E" /* .DeclNet.Mace... */
$"4368 7269 7320 5065 7465 7273 656E 0001" /* Chris Petersen.. */
$"3200 094D 6163 652E 6D61 6B65 0000 0000" /* 2..Mace.make.... */
$"0F52 6F6C 6C20 696E 204C 7564 7769 672E" /* .Roll in Ludwig. */
$"00" /* . */
};

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
TEXTMPS

View File

@ -0,0 +1,25 @@
data 'MPSR' (1005) {
$"0009 4D6F 6E61 636F 0000 F0D2 0001 CD42" /* ..Monaco.......B */
$"0000 0200 0000 F200 0200 0000 0000 0000" /* ................ */
$"0000 0006 0004 0029 0242 035A 0479 0029" /* .......).B.Z.y.) */
$"0242 035A 0479 A839 2AE4 0000 0137 0000" /* .B.Z.y.9*....7.. */
$"015F 0000 0000 0100" /* ._...... */
};
data 'MPSR' (1008) {
$"0029 0242 035A 0479 0029 0242 035A 0479" /* .).B.Z.y.).B.Z.y */
$"0000 0000 0000 0000 0000 0000 0000" /* .............. */
};
data 'ckid' (128, "Projector") {
$"0C58 0EBB 3FE5 3230 0004 0000 0000 0000" /* .X..?.20........ */
$"0000 A933 739B A933 739B A6F7 B0C6 0078" /* ...3s..3s......x */
$"BC36 0000 0003 0010 2553 7570 6572 4D61" /* .6......%SuperMa */
$"7269 6F50 726F 6ABA 4465 636C 4461 7461" /* rioProj.DeclData */
$"BA44 6563 6C4E 6574 BA4D 6163 65BA 000E" /* .DeclNet.Mace... */
$"4368 7269 7320 5065 7465 7273 656E 0001" /* Chris Petersen.. */
$"3900 0A4D 6163 6545 6E65 742E 6100 0000" /* 9..MaceEnet.a... */
$"000F 526F 6C6C 2069 6E20 4C75 6477 6967" /* ..Roll in Ludwig */
$"2E00" /* .. */
};

View File

@ -0,0 +1,336 @@
;
; File: MaceEqu.a
;
; Contains: Equates for accessing the Ethernet Media Access
; Controller (MACE)
;
; Written by: Mark A. Law
;
; Copyright: © 1991-1993 by Apple Computer, Inc. All rights reserved.
;
; This file is used in these builds: Mac32
;
; Change History (most recent first):
;
; <SM6> 6/14/93 kc Roll in Ludwig.
; <LW4> 5/1/93 mal #1082434 Added records for new GetMem & FreeMem rtns.
; <LW3> 3/21/93 mal Versioned record for MACE 'ecfg' rsrc.
; <LW2> 1/27/93 mal Added MACEecfg rsrc support.
; <SM5> 12/4/92 mal Removed OFLO bit from recv pkt status.
; <SM4> 11/19/92 mal Added equ for yet another bit AMD didn't tell us about.
; <SM3> 10/30/92 mal MaceInitParms record change.
; <SM2> 10/13/92 mal -changed status thats passed to RecvRtn to lw
; <1> 10/6/92 GDW New location for ROMLink tool.
; <SM2> 6/22/92 mal Changes to support PSC2's (EVT2) Ethernet DMA receive model.
; <P4> 4/30/92 mal Expanded MaceInitParms record.
; <P3> 4/27/92 mal Added MaceInit parameters record.
; <P2> 3/23/92 mal Added MACE MAC config reg bit defines
;
; ---------------------------------------------------------
; MACE Registers
; ---------------------------------------------------------
MACERegBase EQU $50F1C000 ; Mace Reg Base on Cyclone
MACERegs RECORD 0
MACE_RX_FIFO DS.W 1 ;RD RXData -Read Status first
ORG *+$e
MACE_XMIT_FIFO DS.W 1 ;TX TXData
ORG *+$e
MACE_TX_FRM_CNTRL DS.B 1 ;RD/WR 01=Retry,XMTFCS,AUTOPAD
ORG *+$f
MACE_TX_FRM_STAT DS.B 1 ;RD
ORG *+$f
MACE_TX_RETRY_CNT DS.B 1 ;RD
ORG *+$f
MACE_RX_FRM_CNTRL DS.B 1 ;RD/WR 00 = Not_AutoStripPad
ORG *+$f
MACE_RX_FRM_STAT DS.B 1 ;RD Read 4x to get RX Status of packet
ORG *+$f
MACE_FIFO_FRM_CNT DS.B 1 ;RD Number of frames in FIFO
ORG *+$f
MACE_INT DS.B 1 ;RD_1 Interupt Source bits
ORG *+$f
MACE_INT_MSK DS.B 1 ;RD/WR Interupt Enables
ORG *+$f
MACE_POLL DS.B 1 ;RD Yet another status location
ORG *+$f
MACE_BIU_CNFG DS.B 1 ;RD/WR 20 = normal mode 01 = Soft Reset
ORG *+$f
MACE_FIFO_CNFG DS.B 1
ORG *+$f
MACE_MAC_CNFG DS.B 1 ;Enables
ORG *+$f
MACE_PLS_CNFG DS.B 1 ;RD/WR 0=Normal Mode
ORG *+$f
MACE_PHY_CNFG DS.B 1 ;RD/WR Reserved,Dude.
ORG *+$f
MACE_CHIP_ID_LOW DS.B 1 ;RD Just Reads ID
ORG *+$f
MACE_CHIP_ID_HIGH DS.B 1 ;RD Just Reads ID
ORG *+$f
MACE_ADDR_CNFG DS.B 1 ;RD/WR 04=Phy_Addr, 02=Log_Addr
ORG *+$1f
MACE_LOG_ADDR DS.B 1 ;Load with 6 Zeros
ORG *+$f
MACE_PHY_ADDR DS.B 1 ;Load with Address
ORG *+$2f
MACE_MISSED_PKT_CNT DS.B 1 ;RD
ORG *+$4f
MACE_USER_TEST_REG DS.B 1 ;
ENDR
;
; MACE Interrupt Reg. & Int. Reg. Mask Bit defines
; MACE Int. Reg - Read/Clear; MACE Int. Mask Reg. - Read/Write
;
BABL EQU 6 ; Babble, Xmit timeout error
CERR EQU 5 ; Signal Quality Error (SQE), xmit
RCVCO EQU 4 ; Receive Collision Cnt Overflow
MPCO EQU 2 ; Missed Pkt Cnt Overflow
RCVINT EQU 1 ; Rcv int
XMTINT EQU 0 ; Xmit int
; mask to disable all MACE ints
MaceIntMask EQU (1<<BABL)+(1<<CERR)+(1<<RCVCO)+(1<<MPCO)+(1<<RCVINT)+(1<<XMTINT)
OurIntsMask EQU (1<<RCVINT) ; ignore recv ints
;
; MACE Transmit Frame Status Reg. Bit defines
; Note: ONE and MORE are swapped prior to CURIO B0 MACE
;
XMTSV EQU 7 ; transmit status field valid when 1
UFLO EQU 6 ; underflow - xmit fifo
LCOL EQU 5 ; late collision
MORE EQU 4 ; more than 1 retry needed to xmit
ONE EQU 3 ; exactly 1 retry needed to xmit
DEFER EQU 2 ; transmission defered at least once
LCAR EQU 1 ; loss of carrier
RTRY EQU 0 ; retry
;
; MACE Transmit Frame Control Reg. Bit defines (byte)
;
DRTRY EQU 7 ; disable retry
DXMTFCS EQU 3 ; disable xmit fcs
APADXMT EQU 0 ; enable xmt autopad
; -forces generation of fcs
;
; MACE Receive Frame Control Reg. Bit defines (byte)
;
ASTRIPRCV EQU 0 ; enable rcv autopad stripping
; -forces stripping of fcs
;
; MACE Receive Status Reg. Bit defines (long)
;
; Receive Message Byte Count (byte0)
; Bits 7-0 : Recv Message Byte Count bits 7-0
; Receive Status (byte1)
; Bits 3-0 : Recv Message Byte Count bits 11-8
; Bits 7-4 : Recv Message Status bits
RcvOFLO EQU 7 ; receive fifo overflow
RcvCLSN EQU 6 ; late collision during recv
RcvFRAM EQU 5 ; frame error, non-integer # of bytes
RcvFCS EQU 4 ; frame check sequence error
; Receive Runt Packet Count (byte2)
; -number of runts recv'd since last successfully recv'd pkt
; -maxs at 255
; Receive Collision Count (byte3)
; -number of collisions since last successfully recv'd pkt
; -maxs at 255
;
; MACE Bus Interface Unit Reg. Bit defines (byte)
;
BSWAP EQU 7 ; byte swap mode, 0-Intel, 1-Motorola
; Transmit start point Bits 5-4
XMSTP EQU 4 ; bit shift offset
MACERESET EQU 0 ; software reset
; Transmit start point equates
; -controls when preamble xmit starts
XMTS4 EQU $00 ; start when 4 bytes in FIFO
XMTS16 EQU $10 ; start when 16 bytes in FIFO
XMTS64 EQU $20 ; start when 64 bytes in FIFO
XMTS112 EQU $30 ; start when 112 bytes in FIFO
;
; MACE FIFO Configuration Reg. Bit defines (byte)
; -fifo water mark changes ignored until fw reset bit set
; Transmit FIFO water mark Bits 7-6
XMTFW EQU 6 ; bit shift offset
; Receive FIFO water mark Bits 5-4
RCVFW EQU 4 ; bit shift offset
XMTFWR EQU 3 ; xmit fifo water mark reset
RCVFWR EQU 2 ; recv fifo water mark reset
XMTBRST EQU 1 ; xmit burst
RCVBRST EQU 0 ; recv burst
; FIFO watermark equates
RFW16 EQU $00 ; 16 byte recv FIFO watermark
RFW32 EQU $10 ; 32 byte recv FIFO watermark
RFW64 EQU $20 ; 64 byte recv FIFO watermark
TFW16 EQU $00 ; 16 byte xmit FIFO watermark
TFW32 EQU $40 ; 32 byte xmit FIFO watermark
TFW64 EQU $80 ; 64 byte xmit FIFO watermark
;
; MACE MAC Configuration Reg. Bit defines (byte)
;
PROMISC EQU 7 ; promiscuous mode, recv all valid frames
DXMT2PD EQU 6 ; disable xmit 2-part deferral algorithm
EMBA EQU 5 ; enable modified back-off algorithm
ENXMT EQU 1 ; enable xmit
ENRCV EQU 0 ; enable recv
;
; MACE Physical Layer Signaling Reg. Bit defines (byte)
;
XMTSEL EQU 3 ; xmit mode select
; Port Select Bits 2-1
PORTSEL EQU 1 ; bit shift offset
ENSTS EQU 0 ; enable optional I/O function status
;
; MACE Internal Address Configuration Reg. Bit defines (byte)
;
ADDRCHG EQU 7 ; address change enable
PHYADDR EQU 2 ; physical address select
LOGADDR EQU 1 ; logical address select
;
; MACE User Test Reg. Bit defines (byte)
;
;••••• WARNING: DO NOT EVER SET BIT 7 or you'll fry the MACE!!!! •••••
; Bit 6 (disable) is set during MACE init to disallow an erroneous and/or
; malicious setting of RTRE.
RTRE EQU 7 ; reserved test register enable
RTRD EQU 6 ; reserved test register disable
;•••••
RPA EQU 5 ; runt packet accept
FCOLL EQU 4 ; force a collision, use with loopback
RCVFCSE EQU 3 ; receive fcs enable, use with loopback
; Loopback control Bits 2-1, %XX0 ••• NOT FOR BIT SHIFTS!
NOLPB EQU %000 ; disable loopback mode
EXTLPB EQU %010 ; external loopback mode
INTLPB EQU %100 ; internal loopback, no MENDEC
MENDECLPB EQU %110 ; internal loopback, with MENDEC
;
; Misc. equates
;
MondoPkt EQU 2000 ; Value > max pkt, used for Recv DMA cnt
CntRegMask EQU $0001ffff ; Ignore upper 15 bits
nobuff EQU -2 ; no xmit buffer available
;•••••••••••••••• Network Statistics