PAK/3 TOS 3.06: UK Version?

General Discussion, STOS.
User avatar
stephen_usher
Site sponsor
Site sponsor
Posts: 7376
Joined: 13 Nov 2017 19:19
Location: Oxford, UK.

Re: PAK/3 TOS 3.06: UK Version?

Post 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?
Intro retro computers since before they were retro...
ZX81->Spectrum->Memotech MTX->Sinclair QL->520STM->BBC Micro->TT030->PCs & Sun Workstations.
Added code to the MiNT kernel (still there the last time I checked) + put together MiNTOS.
Collection now with added Macs, Amigas, Suns and Acorns.
User avatar
exxos
Site Admin
Site Admin
Posts: 28344
Joined: 16 Aug 2017 23:19
Location: UK

Re: PAK/3 TOS 3.06: UK Version?

Post 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:
User avatar
stephen_usher
Site sponsor
Site sponsor
Posts: 7376
Joined: 13 Nov 2017 19:19
Location: Oxford, UK.

Re: PAK/3 TOS 3.06: UK Version?

Post 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.
Intro retro computers since before they were retro...
ZX81->Spectrum->Memotech MTX->Sinclair QL->520STM->BBC Micro->TT030->PCs & Sun Workstations.
Added code to the MiNT kernel (still there the last time I checked) + put together MiNTOS.
Collection now with added Macs, Amigas, Suns and Acorns.
User avatar
stephen_usher
Site sponsor
Site sponsor
Posts: 7376
Joined: 13 Nov 2017 19:19
Location: Oxford, UK.

Re: PAK/3 TOS 3.06: UK Version?

Post 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.
You do not have the required permissions to view the files attached to this post.
Intro retro computers since before they were retro...
ZX81->Spectrum->Memotech MTX->Sinclair QL->520STM->BBC Micro->TT030->PCs & Sun Workstations.
Added code to the MiNT kernel (still there the last time I checked) + put together MiNTOS.
Collection now with added Macs, Amigas, Suns and Acorns.
User avatar
exxos
Site Admin
Site Admin
Posts: 28344
Joined: 16 Aug 2017 23:19
Location: UK

Re: PAK/3 TOS 3.06: UK Version?

Post by exxos »

:bravo:
User avatar
exxos
Site Admin
Site Admin
Posts: 28344
Joined: 16 Aug 2017 23:19
Location: UK

Re: PAK/3 TOS 3.06: UK Version?

Post 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:
User avatar
thorsten.otto
Posts: 148
Joined: 04 Nov 2019 02:20

Re: PAK/3 TOS 3.06: UK Version?

Post 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 ;)
User avatar
stephen_usher
Site sponsor
Site sponsor
Posts: 7376
Joined: 13 Nov 2017 19:19
Location: Oxford, UK.

Re: PAK/3 TOS 3.06: UK Version?

Post by stephen_usher »

Yeah. Tospatch was difficult to understand, even with the help of Google Translate. A binary editor was quicker.
Intro retro computers since before they were retro...
ZX81->Spectrum->Memotech MTX->Sinclair QL->520STM->BBC Micro->TT030->PCs & Sun Workstations.
Added code to the MiNT kernel (still there the last time I checked) + put together MiNTOS.
Collection now with added Macs, Amigas, Suns and Acorns.
User avatar
Darklord
Site sponsor
Site sponsor
Posts: 1595
Joined: 20 Sep 2017 13:41
Location: Prestonsburg

Re: PAK/3 TOS 3.06: UK Version?

Post 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... :)
Welcome To DarkForce! www.darkforce.org "The Fuji Lives.!"
Atari SW/HW based BBS-Telnet:darkforce-bbs.dyndns.org 1040
User avatar
stephen_usher
Site sponsor
Site sponsor
Posts: 7376
Joined: 13 Nov 2017 19:19
Location: Oxford, UK.

Re: PAK/3 TOS 3.06: UK Version?

Post 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.
Intro retro computers since before they were retro...
ZX81->Spectrum->Memotech MTX->Sinclair QL->520STM->BBC Micro->TT030->PCs & Sun Workstations.
Added code to the MiNT kernel (still there the last time I checked) + put together MiNTOS.
Collection now with added Macs, Amigas, Suns and Acorns.

Return to “SOFTWARE”

Who is online

Users browsing this forum: alexh, ClaudeBot and 5 guests