Warning Long Post

FAQ on Progressive Peripherals & Software (PP&S) 040.

This is a new FAQ. It has changed from my last PPI 040 FAQ.
I now use RomTagMem to get full contiguous ram. The PPI 040 originally separated 2meg at the 2meg to 4meg address to the 16bit address and split the ram into 3 pieces. IE. if you had 16meg you got 2meg 32bit, 2meg 16bit, and 12meg 32.

RomTagMem allows you to use all the ram for programs like ArtDept, Deluxe Paint and Emplant. They and others all look for the largest contiguous ram and use that for the program ram.

IF all you want to do is use Gigamem and don't care about getting contiguous ram, then you can use the original FAQ cure that uses Addmem 2.0. It follows this new RomTagMem FAQ.




If you have any additions or more info, please email them
to me to include in the FAQ.

Tim Salazar
[email protected]


Caveat: Most of this is from the 2000 040 but most is relavent to the Zeus also. Both the Zeus and 040 2000s have a MMU, the chips were just mismarked and PP&S got them for a deal.

Init040 in its full form gets in the way of Emplant and Gigamem.
(Init040 Addmem FastRom FastSys).

To use with Gigamem you need to change the 68040.library (ver37.4 this is version 37. four) in your Libs drawer to a later version than comes on the PPS disk. I have ver 37.30 (dos 2.1). That reads as version 37. thirty not three zero. (I believe the newer ver is on the Gigamem disk.)

BEFORE TRYING THIS AND REBOOTING READ ON!!!!!!!!
MAKE A COPY OF YOUR STARTUP-SEQUENCE
AND MAKE A ORIG BOOT DISK FOR SAFETY!!!

I placed RomTagMem (Aminet util/misc) in the first line of my Startup-Sequence. Here's mine for 32meg of ram:

dh0:c/RomTagMem -D 8000000 2000000 5 10 >NIL:  ;RomTagMem Loads libs into 
                                               ;32bit mem and loads mem
                                               ;contiguous 32meg

16meg will be:

dh0:c/RomTagMem -D 8000000 1000000 5 10 >NIL:

You can just copy the correct line if you have 32 or 16meg :-). If not you can use the start address 8000000. And for the end address you will SysInfo to get the UPPER BOUND number from your setup as it is setup right now. Then in HEX subtract the START from the UPPER BOUND. I used KingCalc (Aminet util/wb) for doing the HEX subtraction. (Hint: Replace the beginning 0 from the SysInfo address with 0x button on KingCalc.)
(If anyone does this please send me the info to include in the FAQ.)

Now we have contiguous memory. Next we need to turn on the CPU.

EMPLANT users now put in you first line of the Emplant Startup-s:
execute >NIL: s:SetupEMPLANT
And the second line starting the CPU:
DH0:Emplant/MAC/HardkickMMU -h -f -t >NIL:
;Turns on copyback remaps kickstart,
;h=remaps emplant hardware

NON Emplant:
My favorite is SET040 here's my line:

set040 fastrom cache copyback nolocal >NIL:

Both Emplant and regular users need to turn on the supervisor mode, to get the speed of the PPI 040, with the following line:

SYS:68040/Init040 FASTSYS >NIL:

Now comes SetPatch and the rest of the regular Startup-Sequence


Notes: Important I did have problems with an error requestor looking for the ENV drawer. So I moved the following lines to the top of my Startup-Sequence:

MakeDir RAM:ENV RAM:ENV/Sys
Copy >NIL: ENVARC: RAM:ENV ALL NOREQ

Assign >NIL: ENV: RAM:ENV

If anyone knows of a better more elegant way please tell me.


Below is my Emplant Startup-Sequence:

; $VER: startup-sequence 38.22 (24.4.92)
echo
MakeDir RAM:ENV RAM:ENV/Sys
Copy >NIL: ENVARC: RAM:ENV ALL NOREQ

Assign >NIL: ENV: RAM:ENV

dh0:c/RomTagMem -D 8000000 2000000 5 10 >NIL:  ;RomTagMem Loads libs into 
                                               ;32bit mem and loads mem
                                               ;contiguous 32meg



execute >NIL: s:SetupEMPLANT ;commented out May 18 95

DH0:Emplant/MAC/HardkickMMU -h -f -t >NIL: ;Turns on copyback remaps kickstart,
                                   ;h=remaps emplant hardware


SYS:68040/Init040 FASTSYS >NIL:

C:SetPatch QUIET
Version >NIL:
AddBuffers >NIL: DF0: 15
FailAt 21

MakeDir RAM:T RAM:Clipboards


;MakeDir RAM:T RAM:Clipboards RAM:ENV RAM:ENV/Sys
;Copy >NIL: ENVARC: RAM:ENV ALL NOREQ

;Assign >NIL: ENV: RAM:ENV
Assign >NIL: T: RAM:T
Assign >NIL: CLIPS: RAM:Clipboards
Assign >NIL: REXX: DH0:Rexx
Assign >NIL: PRINTERS: DEVS:Printers
Assign >NIL: KEYMAPS: DEVS:Keymaps
Assign >NIL: LOCALE: SYS:Locale


IF NOT EXISTS SYS:Fonts
  Assign FONTS:
EndIF

BindDrivers
Mount >NIL: DEVS:DOSDrivers/~(#?.info)

Resident >NIL: C:Execute PURE

IF EXISTS DEVS:Monitors
  List >NIL: DEVS:Monitors/~(#?.info) TO T:M LFORMAT "DEVS:Monitors/%s"
  Execute T:M
  Delete >NIL: T:M
EndIF

SetEnv Workbench $Workbench
SetEnv Kickstart $Kickstart
UnSet Workbench
UnSet Kickstart

IPrefs

Echo "Amiga Release 2.1.  Kickstart $Kickstart, Workbench $Workbench"

ConClip

Path >NIL: RAM: C: SYS:Utilities SYS:Rexxc SYS:System S: SYS:Prefs SYS:WBStartup SYS:Tools SYS:Tools/Commodities

IF EXISTS S:User-Startup
  Execute S:User-Startup
EndIF

Resident Execute REMOVE

LoadWB
EndCLI >NIL:

Below is a Regular (NON Emplant) Startup-Sequence:

; $VER: startup-sequence 38.22 (24.4.92)
echo
MakeDir RAM:ENV RAM:ENV/Sys
Copy >NIL: ENVARC: RAM:ENV ALL NOREQ

Assign >NIL: ENV: RAM:ENV

dh0:c/RomTagMem -D 8000000 2000000 5 10 >NIL:  ;RomTagMem Loads libs into 
                                               ;32bit mem and loads mem
                                               ;contiguous 32meg


set040 fastrom cache copyback nolocal >NIL:



SYS:68040/Init040 FASTSYS >NIL:

C:SetPatch QUIET
Version >NIL:
AddBuffers >NIL: DF0: 15
FailAt 21

MakeDir RAM:T RAM:Clipboards


;MakeDir RAM:T RAM:Clipboards RAM:ENV RAM:ENV/Sys
;Copy >NIL: ENVARC: RAM:ENV ALL NOREQ

;Assign >NIL: ENV: RAM:ENV
Assign >NIL: T: RAM:T
Assign >NIL: CLIPS: RAM:Clipboards
Assign >NIL: REXX: DH0:Rexx
Assign >NIL: PRINTERS: DEVS:Printers
Assign >NIL: KEYMAPS: DEVS:Keymaps
Assign >NIL: LOCALE: SYS:Locale


IF NOT EXISTS SYS:Fonts
  Assign FONTS:
EndIF

BindDrivers
Mount >NIL: DEVS:DOSDrivers/~(#?.info)

Resident >NIL: C:Execute PURE

IF EXISTS DEVS:Monitors
  List >NIL: DEVS:Monitors/~(#?.info) TO T:M LFORMAT "DEVS:Monitors/%s"
  Execute T:M
  Delete >NIL: T:M
EndIF

SetEnv Workbench $Workbench
SetEnv Kickstart $Kickstart
UnSet Workbench
UnSet Kickstart

IPrefs

Echo "Amiga Release 2.1.  Kickstart $Kickstart, Workbench $Workbench"

ConClip

Path >NIL: RAM: C: SYS:Utilities SYS:Rexxc SYS:System S: SYS:Prefs SYS:WBStartup SYS:Tools SYS:Tools/Commodities

IF EXISTS S:User-Startup
  Execute S:User-Startup
EndIF

Resident Execute REMOVE

LoadWB
EndCLI >NIL:


Jumpers:

2000 A1 absent, A2 present, B3 absent (pg 16 man)
Zeus A1 absent, A2 present

Cache ON
2000 C1 absent, C2 present
Zeus C3 present

Burst ON
2000 C3 absent, C4 present
Zeus C4 present


If you have any additions or more info, please email them to me to include in the FAQ.

Tim Salazar
[email protected]


Here is the original FAQ: (pre October 15, 1995)


Page updated on 08-Mar-98
Document converted into HTML by Francesco Dipietromaria