3.2.3 1MB ROM not booting from TF1260

General hardware issues and troubleshooting etc

Moderators: terriblefire, Terriblefire Moderator

masterofdisaster
Posts: 11
Joined: 10 Oct 2022 23:53

3.2.3 1MB ROM not booting from TF1260

Post by masterofdisaster »

Hello All!
I have been working on my custom 1MB ROM based on Hyperion's Kickstart v3.2.3.
Tool of choice is CAPCLI from the Capitoline 2.0 package.

I have two A1200s two TF1260s and two sets of flash based ROM chips (from onyxsoft.se). Both motherboards are version 2B and have been recapped by me few years ago along with the timing fixes. Also both TF1260s have the 68090 firmware flashed.

The issue I am having is: With the custom ROM the Amiga will not boot from TF1260, it stays on a gray screen forever, but it will boot from the motherboard IDE port.
I have spend many hours tinkering with the ROM; for instance I tried to use BinaryChunks/1Mb_Scantable.3.2 instead of BinaryChunks/1Mb_Scantable.3.2.bin, BinaryChunks/ROMHeader_E0 instead of BinaryChunks/ROMHeaderE0.bin to no avail. BTW does anybody know what is the difference between the .bin and non .bin files?

What baffles me is that if I just simply add "Components/ehide.device" (there is just enough room for ehide 1.2) to the vanilla 3.2.3 Kick (without making extended ROM) Amiga boots from TF1260 just fine.
Any help would be appreciated!

Here is the script:

Code: Select all

# Custom ROM
newrom 512k 255
rombase 0x00F80000
add checksum
add size
add vectors
add "ROMs/Hyperion/A1200.47.115.rom" exec.library
add "Components/BinaryChunks/1Mb_Scantable.3.2.bin"

var ENDSKIP romdata $exec.library.(ROMTAG.ENDSKIP) 4
var ENDSKIP mid 2
patch $1Mb_Scantable.3.2.bin.(START) 0x00F80000$ENDSKIP
var STSTART $1Mb_Scantable.3.2.bin.(START)
var STSTART add $ROMBASE
find $exec.library 0x00F80000$ENDSKIP00F800000100000000F0000000F80000FFFFFFFF
var FIND add $ROMBASE
find $exec.library $FIND
patch $FIND $STSTART
add "ROMs/Hyperion/A1200.47.115.rom" *
checksum

# Extended ROM
newrom 512k 255
rombase 0x00E00000
add checksum
add size
add vectors
add "Components/BinaryChunks/ROMHeaderE0.bin"
# workbench.library and icon.library extracted from ModulesA1200_3.2.3.adf
add "Components/workbench.library"
add "Components/icon.library"
# ehide.device v1.2
add "Components/ehide.device"
checksum

romprofile dual 0 1
saveprofile byteswap custom

exit
masterofdisaster
Posts: 11
Joined: 10 Oct 2022 23:53

Re: 3.2.3 1MB ROM not booting from TF1260

Post by masterofdisaster »

Little update:
The issue seems to be specific to version 3.2.3, I have confirmed this last night by generating a working extended ROM using Kickstart 3.2.2 (47.111) and the script above adjusted only to deal with files and modules from the 3.2.2 ROM/LIBS. Using this older ROM version my A1200 boots from TF1260 just fine.

Code: Select all

# Custom ROM
newrom 512k 255
rombase 0x00F80000
add checksum
add size
add vectors
add "ROMs/Hyperion/A1200.47.111.rom" exec.library
add "Components/BinaryChunks/1Mb_Scantable.3.2.bin"

var ENDSKIP romdata $exec.library.(ROMTAG.ENDSKIP) 4
var ENDSKIP mid 2
patch $1Mb_Scantable.3.2.bin.(START) 0x00F80000$ENDSKIP
var STSTART $1Mb_Scantable.3.2.bin.(START)
var STSTART add $ROMBASE
find $exec.library 0x00F80000$ENDSKIP00F800000100000000F0000000F80000FFFFFFFF
var FIND add $ROMBASE
find $exec.library $FIND
patch $FIND $STSTART
add "ROMs/Hyperion/A1200.47.111.rom" *
checksum

# Extended ROM
newrom 512k 255
rombase 0x00E00000
add checksum
add size
add vectors
add "Components/BinaryChunks/ROMHeaderE0.bin"
# workbench.library and icon.library extracted from ModulesA1200_3.2.2.adf
add "Components/3.2.2/workbench.library"
add "Components/3.2.2/icon.library"
# ehide.device v1.2
add "Components/ehide.device"
checksum

romprofile dual 0 1
saveprofile byteswap custom

exit
masterofdisaster
Posts: 11
Joined: 10 Oct 2022 23:53

Re: 3.2.3 1MB ROM not booting from TF1260

Post by masterofdisaster »

Found the Problem and a Solution

As it turns out, with ROM 3.2.3, adding `1Mb_Scantable.3.2` immediately after `exec.library` shifts the absolute addresses of all subsequent modules in the ROM. This breaks cold booting from the TF1260.

The solution is to apply an **in-place patch** instead of inserting the module.

Credit goes to the GitHub repository below for providing the answer:
https://github.com/pulchart/amigaos-kickstart-builder

Working script:

Code: Select all

# Custom ROM
newrom 512k 255
rombase 0xF80000

add "ROMs/Hyperion/A1200.47.115.rom" exec.library

var ENDSKIP romdata $exec.library.(ROMTAG.ENDSKIP) 4
var ENDSKIP mid 2
find $exec.library 0x00F80000$ENDSKIP00F800000100000000F0000000F80000FFFFFFFF
var FIND add $ROMBASE
patch $FIND 0x00F8000001000000
var FIND add 8
patch $FIND 0x00E0000000E80000
var FIND add 8
patch $FIND 0x00F0000000F80000
var FIND add 8
patch $FIND 0xFFFFFFFF
add "ROMs/Hyperion/A1200.47.115.rom" *
# there is just enough room in F8 rom to add ehide.device v1.2 here
add "Components/ehide.device"
add checksum
add size
add vectors
checksum

# Extended ROM
newrom 512k 255
rombase 0xE00000
add "Components/BinaryChunks/ROMHeader_E0"
var HDRVER $ROMHeader_E0.(START)
var HDRVER add 0xC
patch $HDRVER 0x002F0073
# workbench.library and icon.library extracted from ModulesA1200_3.2.3.adf
add "Components/3.2.3/workbench.library"
add "Components/3.2.3/icon.library"
# Add more modules here if you wish
add checksum
add size
add vectors
checksum

romprofile dual 0 1
saveprofile byteswap custom323

exit

Return to “AMIGA HARDWARE HELP”

Who is online

Users browsing this forum: ClaudeBot and 1 guest