1

Hi all!

I need your help Atarians!! I'm looking for owners of stereo upgrade to test Raster's stereo detection routine on real HW. We know there's a lot of various stereo upgrades out there and we need to know if we're able to detect them all (or at least most of them). Follow this link to download Raster's detection program. Please run it and let us know if your stereo upgrade was successfully found or not.

Thank you very much for your help!

F.

2

On my Atari (with ordinary stereo upgrade) works fine.

But the same question as on Atari Age: what's wrong with old good IRQ test? Is there some hardware that only Raster's routine detects?

3 Ostatnio edytowany przez seban (2006-06-20 14:04:55)

Hi!

Laoo, on atariage forums you can read as below:

This did not detect my stereo Pokey cartridge. You should probably look for Pokeys in d5xx as well.
Steve

so, as You see there is other hardware solutions for Stereo-POKEY for 8-bit ATARI :)
I did't know about this solution, before I read those post on Atari Age forum.

The IRQ method, is probably don't work for the cartridge version of Stereo-Upgrade.
But as You notice before I think that the "IRQ" detection is the best way to detect the standard stereo upgrage (second POKEY located at D21x area)


on AtariAge forum, Raster show the own code for second Pokey detection:

pokey1 equ $d200
pokey2 equ $d210

STEREODETECTION
   lda pokey1+$09
   beq iss2  ;0 => last key L
;no last key L
   lda pokey2+$09
   beq issyes;0 on second POKEY KEY reg => stereo
issno
   lda #0
   rts
iss2
   ldy #7
iss3
   lda pokey2,y;POT regs
   bne issno   ;some one is not zero
   dey
   bpl iss3
issyes
   lda #1
   rts

and here is, my old stereo detect routine (based od IRQ), this procedure was published a long time ago in our "Barymag" magazine.

* -----------------------------
* |second POKEY detect routine|
* | answer in A register:     |
* |$00 - absent $80 - present |
* -----------------------------
* | code & idea: Seban/SLIGHT |
* |-+* (c) 1995,96 Slight! *+-|
* -----------------------------

st  sei
    inc $d40e
    lda #$03
    sta $d21f
    sta $d210
    ldx #$00
    stx $d211
    inx
    stx $d21e
    ldx $d40b
    bne *-3
    stx $d219
w   ldx $d40b
    bmi ext
    lda #$01
    bit $d20e
    bne w
ext lda $10
    sta $d20e
    dec $d40e
    cli
    txa
    rts

greetz
Seban/SLIGHT

4

Well, thank you for your help.

But it seems I have a problem. Raster's detection routine can't find my stereo upgrade and Seban's one just hangs up on my computer. What to do now?

F.

5

You load SysInfo: it uses a yet different routine to detect the stereo. If it hangs too, or mono is detected, then your stereo upgrade is definitely incorrectly done (hardware-wise) or damaged.

http://drac030.krap.pl/si210.arc

KMK
? HEX$(6670358)

6

drac030 napisał/a:

You load SysInfo: it uses a yet different routine to detect the stereo. If it hangs too, or mono is detected, then your stereo upgrade is definitely incorrectly done (hardware-wise) or damaged.

http://drac030.krap.pl/si210.arc

SySInfo successfully detects my stereo. As well as this routine sent by Rybags to AtariAge forum:

SEI
LDA #0
STA $D21E; disable all IRQs on POKEY #2
STA $D208; AUDCTL
LDA #1
STA $D20E; enable only Timer 1 on POKEY #1
STA $D200; hi freq. interrupt
STA $D209; start timer
WAIT BIT $D20E
BNE WAIT; timer event doesn't take long with AUDF=1
BIT $D21E
BNE YES_POKEY2; IRQ event should not be on POKEY #2 as well
LDA #0
YES_POKEY2 STA POKEY2_FLAG
LDA $10
STA $D20E
CLI

F.

7

Fandal napisał/a:

Well, thank you for your help.

But it seems I have a problem. Raster's detection routine can't find my stereo upgrade and Seban's one just hangs up on my computer. What to do now?

F.

if my routine just hung up... you have probably a hardware problem with your ATARI... this procedure can't hung up in well working computer. If the IRQ from POKEY comes the procedure leaves as soon the IRQ comes... if the IRQ not come this procedure wait for $80 value in the $d40b register. So there is no way to hung up in correctly working computer.

with greetings
Seban/SLIGHT

8

It can also be incorrectly compiled. IIRC, not every assembler evaluates the '*' exactly the same way.

KMK
? HEX$(6670358)

9

Hi!

Yes... Draco have right. Try to change "*" jump to label, for example:

    ldx $d40b
    bne *-3

 chagne to:

ww  ldx $d40b
    bne ww

grtx
Seban/SLIGHT

10

I made some tests and problem is here:

...
inx
stx $d21e
...

When I set $d21e to #$01 my computer hangs up. May be some non-standard stereo upgrade?

F.

Moderator Message: Do not quote everything!!! This is not an AtariAge! Read carefully rules of this forum!

11 Ostatnio edytowany przez seban (2006-06-21 07:18:04)

Hi!

Fandal napisał/a:

When I set $d21e to #$01 my computer hangs up. May be some non-standard stereo upgrade?
F.

hmmm.... it's strange. In standard Stereo Upgrade the IRQ line from second POKEY is not connected. The second POKEY has no chance to generate an IRQ. On this fact is based my Stereo detection routine. If the computer does't have stereo upgrade. The write to $d21e register is the same as writing to the $d20e register, beceuse the adress decoder in standard ATARI is simplified and the sixteen pokey registers are repeated into $d200-$d2ff area.  After the adding the second pokey, we must slightly modify the address decoder for both pokeys.

In standard ATARI when you write to $d21e register, this register write comes to firt POKEY. He can generate IRQ and if the detection routine detect an IRQ the proceduce exits with $00 status = NO SECOND POKEY DETECTED. If in your computer is second POKEY installed, then write to $d21e, not affect the first pokey, and the write goes to second POKEY and because the second POKEY can't generate and IRQ... the IRQ never comes, and the routine return with the $80 status =  SECOND POKEY DETECTED.

Please chceck connections in your ATARI, the 29th pin of second pokey must be NOT CONNECTED. Here is pinout of the POKEY:
http://atariki.krap.pl/index.php/Grafik … _POKEY.png

with regards
Seban/SLIGHT

12

seban napisał/a:

Hi!

Please chceck connections in your ATARI, the 29th pin of second pokey must be NOT CONNECTED. Here is pinout of the POKEY:
http://atariki.krap.pl/index.php/Grafik … _POKEY.png

with regards
Seban/SLIGHT

Oh yes, that's it! My second Pokey HAS pin #29 connected...

F.

13

Fandal napisał/a:

Oh yes, that's it! My second Pokey HAS pin #29 connected...
F.

And this was the reason that your ATARI hung up. You have an IRQ conflict ;) Is this pin connected directry to the 29th pin of first POKEY (without any glue logic)?

Probably you have connected the pins named P0-P7 too... and that is probably the problem with Raster detection procedure does not work ;)

On this picture you can see which pins must be connected and which not.
The "long white" pins are not connected. The "short white" pins are connected,  to first POKEY.
Chceck those connections on your ATARI.

http://seban.slight.pl/stereo.png

Seban/SLIGHT