Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!zaphod.mps.ohio-state.edu!rpi!uupsi!sunic!tut!funic!santra!santra!jraja From: jraja@niksula.hut.fi (Jarno Rajahalme) Newsgroups: comp.sys.amiga.hardware Subject: Re: A1000 Kickstart Questions (for 2.0 hardware hack) Message-ID: Date: 9 Aug 90 22:59:30 GMT References: <90210.130137LEEK@QUCDN.BITNET> <13715@cbmvax.commodore.com> Sender: news@santra.uucp (Cnews - USENET news system) Organization: Helsinki University of Technology, Finland Lines: 114 In-Reply-To: valentin@cbmvax.commodore.com's message of 9 Aug 90 02:49:19 GMT In article <13715@cbmvax.commodore.com> valentin@cbmvax.commodore.com (Valentin Pepelea) writes: > In article jraja@niksula.hut.fi > (Jarno Rajahalme) writes: > > > > Write protection is disabled as an consequence of the RESET command. > > RESET also disables all CHIP-RAM. > > And all external devices. In other words, all FAST ram also. :-( mine (insider-type ) doesn't even detect RESET signal. The $c00000 pseudo-FAST ram gets resetted because it is controlled by Custom-Chips. I don't know about autoconfig ram. > > I disassembled the Boot-ROM a little and noticed that Write-Protection > > is enabled by attempting to write to Boot-ROM's area. > > Not quite. The boot-ROM's are turned off and CHIP ram is turned on by > clearing the least significant bit of the ciaa.pra register ($bfe001). But > before doing that, one must first set the the least significant bit as output. > We do that by setting the least significant bit of the ciaa.ddra register. > ($bfe201) The following sequence will do what you want: > > move.b #3,$bfe201 ; Set 2 least significant bits as outputs > move.b #2,$bfe001 ; Light up led; turn off boot-ROMs > This code is in position $f800EE of Boot-ROM, in middle of code and before KS is even loaded. ( Wierd: the bit is really NAMED 'memory overlay bit'). So it surely does NOT disable Boot-ROM. BUT definately the last thing that Boot-ROM-code does is A write to $F80000 and jump to KS. (This code is executed in stack. Boot-ROM uses first 256K of address space as stack. It calls it 'local-ram' (local on the motherboard??)). You can try this yourself with the code I provided in the beginning of my previous post. It resets your machine to unprotected state: The Boot-Rom is visible at $F80000, and KS is writeable. This is how I got the disassembly of the boot-ROM-code. When you try to write to $F80000 (with some monitor), the Boot-ROM is gone and the KS is freezed as you left it!. The code jumps directly after reset to KS entry point and no such code you privided above is ever executed. So it doesn't enable CHIP-ram either. > > Another solution would be to let the 1.3 boot normally, and then write > > a program to load 2.0. There are few problems with this: > > > > - RESET disables the chip-RAM. So some FAST is needed. > > - Would C-A-A-reset work normally??? > > This has indeed been done. The above code which turns on CHIP ram is first > loaded into a 68020's cache, then a reset is executed, and finally the code > from the cache is executed. Both SetCPU 1.6 and a special program called > MMUkick do just that. > > Actually, since there was a 68030 accelerator board that disabled all caching > of CHIP ram, even instruction caching, the cache had to be loaded from FAST > ram. Quite a hack. But I've already described at length how that was done. Won't help vanilla A1000 without MMU :-( And now something else... Someone mentioned, that Commodore has an version of 2.0 mapped to $F00000. GRREEAAT! just get this (somehow) to your A1000 and boot! How? The very first thing that Boot-ROM-code does is to check if there is some ROM in $F00000 (checks the $1111), and if founds, jumps there BEFORE enabling the WCS-write protection. IMAGINE: As the first thing you could load 256K of some favourite code to $FC0000 and then enable the write protection (if you wish). And there it is to the next power shutdown! (Yes! this RAM and WCS check and exeption is made before any RAM-tests so it is preserved!). Then this ROM board would include some switch which removes the Rom-tag ($1111) and you can load your favourite post-2.0 kickstart from floppy. NOTICE! No modifications to your Boot-ROM needed, just an internal or external ROM-plate and some switch and GO! The problem with the $F80000 KS is that Boot-ROM is mapped to same location, and the code in Boot-ROM is position DEpendent. HELP needed!! I checked my A1000 and it really doesn't have any separate WCS-board. WCS-RAM is on the motherboard. So I can't use any products/hacks based to replacing the WCS-board. I need schematics to get my work on. WHERE COULD I GET SCHEMATICS????? Motherboard is PART NO 252277 dated 86.03.28 and is made in JAPAN (?!). > Valentin Jarno > -- > 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 -- _____________________________________________________________________________ | // Address: Jarno Rajahalme | EMail: | | //| Servin Maijan tie 12 H 111 | jrajahal@otax.tky.hut.hi | | \\ //-| M I G A 02150 ESPOO | d37686l@kaira.hut.fi | | \X/ | forever!! FINLAND , tel (90) 4682891 | jraja@niksula.hut.fi | -----------------------------------------------------------------------------