home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-12-06 | 3.3 KB | 120 lines | [TEXT/ttxt] |
- \ 9.26.90 rfl added other imports to check machine attributes
- \ 10.25.90 rfl added mfTopMem
- \ 11.6.90 rfl added classic, IIsi, and LC
- \ 1.11.91 rfl added mactype
- \ 8.13.92 rfl uget: sysvref
- \ 12.7.92 rfl added pb 180 and fixed error in system printout
-
- :module env
-
- create getSys popD0 popA0 " SysEnvirons" asmCall pushA0 pushD0 next,
-
- :CLASS system <super Object
-
- int version
- int type
- int sysVers
- int processor
- int fpu&color
- int keyboard
- int atdrvr
- int sysVref
- 20 bytes extra
- int request
-
- :M putRequest: put: request ;M
- :M get: (abs) get: request getSys swap -base swap extend ;M
- :M classinit: 2 put: request ;M
- :M getType: get: type ;M
- :M getVers: get: sysVers ;M
- :M getCPU: get: processor ;M
- :M getFPU: get: fpu&color $ 100 / ;M
- :M getColor: get: fpu&color $ ff and ;M
- :M getVref: get: sysVref ;M
- :M getAppleTalk: get: atdrvr IF 1 ELSE 0 THEN ;M
- :M macType: get: type ;M
- :M type: get: type
- ." type = "
- CASE
- 0 OF ." unknown" ENDOF
- 1 OF ." 512KE" ENDOF
- 2 OF ." Mac+" ENDOF
- 3 OF ." SE" ENDOF
- 4 OF ." MacII" ENDOF
- 5 OF ." MacIIx" ENDOF
- 6 OF ." MacIIcx" ENDOF
- 7 OF ." SE030" ENDOF
- 8 OF ." Portable" ENDOF
- 9 OF ." MacIIci" ENDOF
- 11 OF ." MacIIfx" ENDOF
- 15 OF ." Classic" ENDOF
- 16 OF ." IIsi" ENDOF
- 17 OF ." LC" ENDOF
- 18 OF ." Quadra 900" ENDOF
- 19 OF ." Powerbook 170" ENDOF
- 20 OF ." Quadra 700" ENDOF
- 21 OF ." Classic II" ENDOF
- 22 OF ." Powerbook 100" ENDOF
- 23 OF ." Powerbook 140" ENDOF
- 31 OF ." Powerbook 180" ENDOF
- ENDCASE
- cr ;M
- :M system: ." system = " base hex
- get: sysVers dup $ ff00 and $ 100 / $ 100 * swap $ ff and +
- 0 <# # # ascii . hold #s #> type cr -> base ;M
- :M cpu: ." CPU = "
- get: processor
- CASE
- 0 OF ." unknown" ENDOF
- 1 OF ." 68000" ENDOF
- 2 OF ." 68010" ENDOF
- 3 OF ." 68020" ENDOF
- 4 OF ." 68030" ENDOF
- 5 OF ." 68040" ENDOF
- ENDCASE cr ;M
- :M fpu: getFPU: self 0= IF ." NOT " THEN ." With CoProcessor" cr ;M
- :M color: getColor: self 0= IF ." NOT " THEN ." With Color" cr ;M
- :M keyboard: ." keyboard = " get: keyboard
- CASE
- 0 OF ." Mac+ with keypad" ENDOF
- 1 OF ." Mac" ENDOF
- 2 OF ." Mac with keypad" ENDOF
- 3 OF ." Mac+" ENDOF
- 4 OF ." Apple Extended" ENDOF
- 5 OF ." ADBK standard" ENDOF
- 6 OF ." Portable" ENDOF
- 7 OF ." Portable (ISO)" ENDOF
- 8 OF ." Standard (ISO)" ENDOF
- 9 OF ." Extended (ISO)" ENDOF
- 10 OF ." Apple II" ENDOF
- 11 OF ." Apple II (ISO)" ENDOF
- 12 OF ." Powerbook" ENDOF
- 13 OF ." Powerbook (ISO)" ENDOF
- ENDCASE cr ;M
- :M AppleTalk: ." AppleTalk = "
- get: atdrvr -dup IF . ELSE ." not loaded" THEN cr ;M
- :M sysVref: ." System Folder WD = " uget: sysVref . cr ;M
- :M print: get: self swap drop
- CASE
- -5500 OF ." System earlier than 4.1" ENDOF
- -5501 OF ." Bad version number" ENDOF
- -5502 OF ." Requested Version unavailable" ENDOF
- 0 OF type: self system: self cpu: self
- fpu: self color: self keyboard: self
- appletalk: self sysVref: self ENDOF
- ENDCASE ;M
-
- ;CLASS
-
- system sysEnv
-
- : .sys print: sysenv wneAvail IF 0 call mfTopMem ." RAM = " . ." bytes" THEN cr ;
- : hasColor get: sysenv 2drop getColor: sysenv ;
- : hasFPU get: sysenv 2drop getFPU: sysenv ;
- : appleTalkOn get: sysenv 2drop getAppleTalk: sysenv ;
- : mac? get: sysenv 2drop macType: sysenv ;
-
- : getenv get: sysEnv 2drop sysEnv ;
-
- ;Module
-