Jump to content
IGNORED

SpeedUp-16 - Unknown 16MHz accelerator


Recommended Posts

Dear All.
I have a very nice Mega 1 that came from Germany via a UK Ebay seller. This Mega 1 has had a lot of mods. There are a lot of wires for the DIY TOS 2.6 board, 16MHz accelerator, HD Floppy disk drive and RAM upgrade to 3mb (yes 3mb which is not a usual number). The TOS 2.06 board works great, but the accelerator runs only at 8MHz. One of the first things I noticed was the 16MHz feed from the Video Shifter. I lifted up the 68000 CPU to look for a way to identify the accelerator board. It says 'SpeedUp-16' on the PCB, and 68000/16 in additional print. Please see photos.

Can anyone identify this accelerator board please? I am looking for the original instructions (if they exist), so I can understand more about this particular board. It does not look like the other 'usual' 16MHz accelerators that have been discussed before (unless I have just not found the discussions/photos).

Thanks James

20240503_150659.jpg

20240503_150714.jpg

20240503_150904.jpg

Link to comment
Share on other sites

14 hours ago, JamesG said:

Dear All.
I have a very nice Mega 1 that came from Germany via a UK Ebay seller. This Mega 1 has had a lot of mods. There are a lot of wires for the DIY TOS 2.6 board, 16MHz accelerator, HD Floppy disk drive and RAM upgrade to 3mb (yes 3mb which is not a usual number). The TOS 2.06 board works great, but the accelerator runs only at 8MHz. One of the first things I noticed was the 16MHz feed from the Video Shifter. I lifted up the 68000 CPU to look for a way to identify the accelerator board. It says 'SpeedUp-16' on the PCB, and 68000/16 in additional print. Please see photos.

Can anyone identify this accelerator board please? I am looking for the original instructions (if they exist), so I can understand more about this particular board. It does not look like the other 'usual' 16MHz accelerators that have been discussed before (unless I have just not found the discussions/photos).

Thanks James

20240503_150659.jpg

20240503_150714.jpg

20240503_150904.jpg

 

This looks interesting. I see that there may be an answer on Exxosforum, but try asking on Atari-Forum too https://www.atari-forum.com/viewforum.php?f=15 which also have Atari ST members.

Link to comment
Share on other sites

4 hours ago, TZJB said:

This looks interesting. I see that there may be an answer on Exxosforum, but try asking on Atari-Forum too https://www.atari-forum.com/viewforum.php?f=15 which also have Atari ST members.

Hi there TZJB. 

Thank you for your reply. The good news is I also popped this on Exxosforum too, and someone did comeback with some excellent info. Glad I didn't rush ahead swapping wires, as the accelerator is fussy about it's wires!!!

 

The info is here:- https://www.exxosforum.co.uk/forum/viewtopic.php?f=29&t=6991

 

Regards James

  • Like 1
Link to comment
Share on other sites

1 hour ago, DarkLord said:

The lack of a cache is problematic though. It will give acceleration but without a cache it's

a big performance "hit"...  :(

 

Hi Darklord.

 

I want to compare this Speed-up 16 board to my Adspeed 16 and my HBS 240, and my Mega STE, which all have caches. The Adspeed is more difficult to compare, as it appears to be 8Mhz or 16Mhz+C, not 16Mhz with cache disabled. As you will know, the Mega STE does 8Mhz, 16Mhz and 16Mhz+C. My HBS 240 does 16Mhz or 16Mhz+C (not worked out how to get it working at 8Mhz only yet, but that might have something to do with soldering wires to the sound chip(s)!!!) It is looking like this Speed-Up 16 board could also be compared to the Exxos 16Mhz booster and FAST ROM, as my Speed-Up 16 also looks like it supports FAST ROM, but won't know for sure unless I get it running at 16MHZ. My HBS 240 has jumpers for the FAST ROM, but my Adspeed has no jumpers for FAST ROM (correct me if wrong), but still manages to get the same or roughly the same Gembench ROM speed as the Mega STE and HBS 240  at full FAST ROM speed (with caches enabled of course). However, my Mega STE and HBS 240 have 16k caches (correct me if wrong) and the Adspeed has 32k cache. Then on top of that, installing my SFP-004 type card with 68881 FPU and further comparing to my Mega STE, which also has an 68881 FPU, and also came from Germany in 1991 (I believe the UK Mega STEs didn't come with FPU). It's fun and a great learning curve. 

 

Oh, I am also very interested in finding an HBS 640 if anyone wants rid of theirs????

 

Regards James

Link to comment
Share on other sites

I don't know of any way to turn the cache on/off on the AdSpeed accelerator. However, the AdSpeed does have a fast ROM option. It's in the owner's manual.

 

I never acquired the correct higher speed TOS ROMs to try this and now that I'm using TOS v2.06 with a Cloudy board, I guess it's not an option for me anymore.

Using the Cloudy/Lightning ST setup, I pulled the original TOS v1.4 ROMs from my Mega ST's motherboard to avoid conflicts.

 

I would have liked to have seen if it improved the scores but...oh well.   :)

 

 

Link to comment
Share on other sites

 

ADSTEST.S      Assembly language source showing how to detetct the  AdSpeed ST and switch its speed.

 

* ADSTEST.S: routines to detect the presence of an AdSpeed ST and
* switch its speed

* count of < threshold means 8 mhz, >= means 16mhz
* this value may be adjusted, but that shouldn't be necessary
threshold  equ 550



* set AdSpeed ST to 16 MHz
        .globl SET16
        .even
SET16:
        move.w  #0,$f00000
        rts



* set AdSpeed ST to 8 MHz
        .globl SET8
        .even
SET8:
        move.w  #0,$f10000
        rts



* enter supervisor mode
        .even
super:
        clr.l   -(sp)
        move.w  #$20,-(sp)
        trap    #1
        addq.l  #6,sp
        move.l  d0,savessp         ;save supervisor stack pointer
        rts



* exit supervisor mode
       .even
xsuper:
        move.l  savessp,-(sp)     ;restore supervisor stack pointer
        move.w  #$20,-(sp)
        trap    #1
        addq.l  #6,sp
        rts



* test for existence of AdSpeed
* out: d0= 1 if found, 0 if not
        .globl ISADS
        .even
ISADS:
        bsr     super                   ;must be in supervisor mode
        bsr     gcount                  ;get count of divides in tick of
        cmp.l   #threshold,d0           ;200 Hz counter.  Determine present
        blt.s   is8                     ;system CPU speed

        move.w  #1,tspeed

is8:
        move.w  sr,d5                  ;save some stuff
        move.l  a7,a5
        move.l  8,old8
        move.l  #unpatch,8             ;patch address error vector

        tst.w   tspeed
        bne.s   t16

        bsr     SET8                   ;to see if AdSpeed ST exists, try 
        bra.s   setex                  ;setting to current CPU speed

t16:
        bsr     SET16

setex:
        move.w  #1,exists              ;if no error, got here and set this flag

unpatch:
        move.l  a5,a7                  ;if an error, returned directly to
        move.w  d5,sr                  ;here
        move.l  old8,8 
        bsr     xsuper                 ;leave supervisor mode
        clr.l   d0
        move.w  exists,d0              ;exit with boolean in d0
        rts



* out: d0 = number of divides in one tick of 200 hz counter
gcount:
        clr.l   d0                  ;d0 = counter
        move.l  $4ba,d2             ;d2 = start tick

tick:
        cmp.l  $4ba,d2              ;wait for a new tick
        beq.s  tick

        move.l $4ba,d2

loop:
        move.l junk,d1              ;do divides until start of next tick
        divu   #2,d1
        addq.l #1,d0
        move.l $4ba,d1
        cmp.l  d2,d1
        beq.s  loop

        rts        



junk:    dc.l  $80000000
exists:  dc.w  0
savessp: dc.l  0
tspeed:  dc.w  0
old8:    dc.l  0
        .end
counter
        move.l  $4ba,d2             ;d2 = start tick

tick:
        cmp.l  $4ba,d2              ;wait for a new tick
        beq.s  tick

        move.l $4ba,d2

loop:
        move.l junk,d1              ;do divides until start of next tick
        divu   #2,d1
        addq.l #1,d0
        move.l $4ba,d1
        cmp.l  d2,d1
        beq.s  loop

        rts        



junk:    dc.l  $80000000
exists:  dc.w  0
savessp: dc.l  0
tspeed:  dc.w  0
old8:    dc.l  0
        .end

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...