Page 3 of 4
Re: PAK/3 TOS 3.06: UK Version?
Posted: 01 Dec 2022 20:30
by stephen_usher
The unmodified ST536-TOS works fine, so it must be the CRC check which is halting the system.
Anyway, testing PP's games. With the ROMs which identify as TOS 2.06 PP's loader sees an ST and most games don't work. With the version changed to 3.06 it sees the machine as a TT and games work.
Now all I need to do if find how to recalculate the CRC. @exxos how did you fix your ROM image?
Oh, and for some reason the ST536 TOS TT-RAM testing is really slow. Is it being more thorough than the original test?
Re: PAK/3 TOS 3.06: UK Version?
Posted: 01 Dec 2022 20:40
by exxos
stephen_usher wrote: 01 Dec 2022 20:30
Now all I need to do if find how to recalculate the CRC. @exxos how did you fix your ROM image?
I didn't. The whole thing is recompiled so it kind of fixes itself. I'm afraid I never got anywhere figuring out the CRC stuff. Was asking for help with that myself a while back and gave up in the end.
stephen_usher wrote: 01 Dec 2022 20:30
Oh, and for some reason the ST536 TOS TT-RAM testing is really slow. Is it being more thorough than the original test?
It is the original test as done by TOS306. It is incredibly slow yes but I don't know how fast it is supposed to be ?. I certainly have not done anything to that routine whatsoever.
Are you saying it is slower than your PAK 306 ? I guess it is possible they patched it to test lest RAM addresses or something :shrug: But that would defeat the object of having a RAM test then :roll:
Re: PAK/3 TOS 3.06: UK Version?
Posted: 01 Dec 2022 20:49
by stephen_usher
exxos wrote: 01 Dec 2022 20:40
It is the original test as done by TOS306. It is incredibly slow yes but I don't know how fast it is supposed to be ?. I certainly have not done anything to that routine whatsoever.
Are you saying it is slower than your PAK 306 ? I guess it is possible they patched it to test lest RAM addresses or something :shrug: But that would defeat the object of having a RAM test then :roll:
Yes, it's very much slower than PAK/3 TOS 3.06, probably a quarter of the speed.
Re: CRC, that's a pain. Oh well.
Re: PAK/3 TOS 3.06: UK Version?
Posted: 01 Dec 2022 22:43
by stephen_usher
Here's a version of the ST536 TOS 2.06 with the version patched to read 3.06 and with the CRC fixed. Works fine for me and PP's game loaders behave properly.
Re: PAK/3 TOS 3.06: UK Version?
Posted: 01 Dec 2022 23:14
by exxos
:bravo:
Re: PAK/3 TOS 3.06: UK Version?
Posted: 02 Dec 2022 10:52
by exxos
Looks like there is something which insinuates test times...
Code: Select all
/*
* TP_09: SET_TIME_CRC: Reduce time for CRC test
* TP_10: SET_TIME_RAM: Reduce time for RAM test
* BOOT_TIME: time (in s) for above
* TP_11: SKIP_WAIT: Skip display of ramtest bar
* TP_12: SKIP_RAM: Show only amount of memory
*
* Reduce the time after which - after system start -
* a CRC test or a RAM test is run. Additionally, the
* RAM test can be configured to display only the
* memory configuration or the bar.
*/
#ifndef TP_09
#define TP_09 0
#endif
#ifndef TP_10
#define TP_10 0
Code: Select all
dmaboot:
#if TP_10 /* SET_TIME_RAM */
move.l #BOOT_TIME*200,d7
#else
move.l #80*200,d7
#endif
cmp.l _hz_200,d7 /* is the system running for > 80s? */
bcs dmadone /* (no memory test) */
movea.w #$0000,a5 /* done status = false */
dmaloop:
cmpa.w #$0000,a5 /* memtest done? */
bne skipsp /* (yes) */
bsr memtest
movea.w d0,a5 /* memtest done? */
beq dmawait /* (no) */
#if HD_WAIT == 4
jsr hd_wait
bra dmadone
#endif
#if TP_11 /* SKIP_WAIT */
bra dmadone
#endif
Code: Select all
#if TOSVERSION < 0x300
#if TP_09 /* SET_TIME_CRC */
cmpi.l #BOOT_TIME*200,_hz_200 /* system running for >80s? */
#else
cmpi.l #80*200,_hz_200 /* system running for >80s? */
#endif
bcc ptch_term /* (then no ROM CRC check) */
#endif
/*
* check the ROM crc
*/
#if STBOOK | (TOSVERSION >= 0x400)
banksize equ $3fffe
numbanks equ 1
#else
#if TOSVERSION < 0x300
banksize equ $1fffe
numbanks equ 2
#else
banksize equ $1fffe
numbanks equ 4
#endif
#endif
move.l #banksize,d7
move.w #numbanks-1,d6
movea.l #_os_entry,a5
crccheck:
move.w #numbanks,-(a7) /* checksum over every nth byte */
move.l d7,-(a7) /* number of bytes */
move.l a5,-(a7) /* buffer address */
bsr check_rom_crc
adda.w #10,a7
movea.l a5,a0
#if STBOOK | (TOSVERSION >= 0x400)
adda.l d7,a0
#else
adda.l #banksize*numbanks,a0
#endif
move.b (a0),d1 /* high byte of CRC */
lsl.w #8,d1
move.b numbanks(a0),d1 /* low byte of CRC */
cmp.w d1,d0
bne.s crcfail
addq.l #1,a5
dbf d6,crccheck
#if TP_50 /* PAK */
bra crcok
#else
bra.s crcok
#endif
crcmsg: dc.b 'WARNING: BAD ROM CRC IN CHIP ',0
crcmsg2 dc.b '.',13,10,0
crcfail:
Re: PAK/3 TOS 3.06: UK Version?
Posted: 02 Dec 2022 16:19
by thorsten.otto
stephen_usher wrote: 01 Dec 2022 20:30
Now all I need to do if find how to recalculate the CRC.
If you use the script i posted on atari-forum, tospatch will set the CRC for you.
If you don't want to patch anything and just fix the crc, you can still use that script and just remove the line that includes "_us2uk.fil".
If all else fails you can use the
this tool (source only, but should be easily compilable, even on linux or windows).
It normally expects a linked executable with a GEMDOS program header, but i think it should also work with a ROM image.You invoke it like
Code: Select all
$ mkrom 512k <infile> <outfile> pad
Edit: oops, seems you already get that working ;)
Re: PAK/3 TOS 3.06: UK Version?
Posted: 02 Dec 2022 17:07
by stephen_usher
Yeah. Tospatch was difficult to understand, even with the help of Google Translate. A binary editor was quicker.
Re: PAK/3 TOS 3.06: UK Version?
Posted: 02 Dec 2022 20:08
by Darklord
Congratulations on getting it working Stephen. Well done.
TOS v3.06 (the Pak modified version) has been rock solid
here and I really like it.
I like being able to tell my friends that my STacy is running
a 32-bit OS... :)
Re: PAK/3 TOS 3.06: UK Version?
Posted: 02 Dec 2022 22:41
by stephen_usher
Hehe.
Well, the advantage of 2.06 over 3.06 is that it will fit within 256K meaning that it can sit within one half of a 27C4096. I can then put 1.04 in the other half and switch between them at the same time as switching between the TF536 and 68000 on my dual processor board. i.e. switch in one position 68K+1.04 and in the other 68030+hacked-2.06.