[comp.sys.amiga.tech] A1000 kickstart info needed

mwandel@tiger.waterloo.edu (Markus Wandel) (04/10/90)

[Line eater: Do you know why nobody ever responds to my postings?  I don't...]

This may sound like a dumb question but bear with me.

How do you kickstart an A1000 off something other than its internal floppy
drive?  The reason I ask is that a hard disk interface made by Comspec
for the A1000 actually kickstarted off the hard disk, so it must be possible.

I don't have such an interface and they are not made any more, but a friend
who has used one reports that it attached to an otherwise unmodified A1000.
Thus there must be a "hook" somewhere in the A1000's boot ROM which allows
an external box to take control and dump in the kickstart data before it gets
read off floppy.  Maybe some prehistoric "cartridge port" scheme?

I'm running a homebrew hard disk interface anyway, so if it's just a matter of
"place a ROM at this address and have such and such a signature in it", I would
happily build whatever hardware required to make it work.

I'm aware that a commented disassembly of the A1000 boot ROM exists
and has been published, but I've never seen it.  Could someone who has this
book, or (I barely dare hope) someone at Commodore or Comspec who knows the
trick enlighten me?  I've already cooked up an autoboot scheme; I'd *love*
to be able to start up my machine without any floppy disk access at all.
I don't want to put in a ROM adapter just yet.

Barring the above, is it possible to somehow disable the boot ROMs in the A1000
immediately after reset (via the OVL* line perhaps) and have the 68000 actually
bootstrap out of external ROM?

Markus Wandel
mwandel@tiger.waterloo.edu
(519) 884-9547

valentin@cbmvax.commodore.com (Valentin Pepelea) (04/10/90)

In article <23080@watdragon.waterloo.edu> mwandel@tiger.waterloo.edu
(Markus Wandel) writes:
>
> [Line eater: Do you know why nobody ever responds to my postings?  I don't...]

The questions that you ask are always about boot up code, and the specialist on
that subject is Bryce. Unfortunately he does not have time to read and post on
this newsgroup.

> Barring the above, is it possible to somehow disable the boot ROMs in the
> A1000 immediately after reset (via the OVL* line perhaps) and have the 68000
> actually bootstrap out of external ROM?

SetCpu 1.5 permits MMU equipped Amigas to boot off a kickstart file. The trick
to that is to execute a RESET instruction and then continue execution out of
the instruction cache. The commands in the instruction cache then disables the
ROM from being seen at address 0+ and execution continues out of CHIP ram.
Take a look at Dave Haynie's code, you'll learn something.

You can probably use the same trick for 68000 equipped Amigas. Load up the
following code to be executed in CHIP ram:

CHIPcode:
	move.l	4,a6			; Get Execbase
	lea.l	Poof,a5			; Code to execute in supervisor mode
	jsr	Supervisor(a6)

	CNOP	0,4
Poof:
	move.b	#3,$bfe201		; Set up read/write bits
	reset				; Poof!
	move.b	#2,$bfe001		; Turn off ROM from location 0
	cont				; Continue with this intruction

I'm not sure this code would work, because the $bfe201 register might get reset
after the reset instruction. The alignement for the instruction prefetch might
also be wrong.

Valentin
-- 
The Goddess of democracy? "The tyrants     Name:    Valentin Pepelea
may distroy a statue,  but they cannot     Phone:   (215) 431-9327
kill a god."                               UseNet:  cbmvax!valentin@uunet.uu.net
             - Ancient Chinese Proverb     Claimer: I not Commodore spokesman be

rbabel@babylon.UUCP (Ralph Babel) (04/11/90)

In article <10741@cbmvax.commodore.com>
valentin@cbmvax.commodore.com (Valentin Pepelea) writes:

> I'm not sure this code would work, because the $bfe201
> register might get reset after the reset instruction.

Yup, all port pins will be set to input after RESET.

Ralph

...!{cbmvax|nccnet}!cbmehq!babylon!rbabel