;**************************************************
;program demonstrujacy dzialanie podlaczonych do Atari XL/XE
;okularow ASUS 3D
;
;Autor: nosty (nosty@alpha.net.pl)  2007-01-07
;**************************************************
dli EQU $A036
dli2 equ $A09A

pa   equ $d300
pac  equ $d302

sysvbv equ $e45f

iccmd   equ   $0342
icbufa  equ   $0344
icax1   equ   $034a
icax2   equ   $034b
jciomain equ  $e456
jsetvblv equ  $e45c

    org $A0
ster  dta 1

    run start

    org $3000
start
;ustawienie trybu 9
gr9
        lda #9
        ldx #$60
        sta icax2,x     ; tryb
        lda #$03        ; otworz
        sta iccmd,x
        lda #<dev       ; co?
        sta icbufa,x
        lda #>dev
        sta icbufa+1,x
        lda #%00011100  ; bez okna tekstowego, odczyt/zapis
        sta icax1,x
        jsr jciomain

;ustawienie portu joya
        lda #$03
        sta pac
        lda #$01
        sta pa
        lda #$34
        sta pac
        lda #$01
        sta pa

;ustawienie przerwania
        ldy #<vbli
        ldx #>vbli
        lda #$06
        jsr jsetvblv

        lda #$ff    ; ustawiamy na $FF ostatnio wcisniety klawisz
        sta 764
loop3
        jmp loop3

vbli
    php
    pha
    tya
    pha
    txa
    pha

    lda dli+5
    cmp #>ekranR
    bne ustR

    lda #<ekranL
    sta dli+4
    lda #>ekranL
    sta dli+5
    lda #$00
    sta dli2
    lda #$50
    sta dli2+1

    lda 764     ;sprawdzenie czy nacisnieto klawisz
    cmp #$FF
    beq dal2
                    ;jak nacisniety jakikolwiek klawisz to zamien faze
    lda #$01
    eor ster
    sta ster
    lda #$ff    ; ustawiamy na $FF ostatnio wcisniety klawisz
    sta 764
dal2
    lda #$01        ;odwrocenie portu joya
    eor ster
    sta ster
    sta pa
    jmp ustk
ustR
    ldy #4
    lda #<ekranR
    sta dli+4
    ldy #5
    lda #>ekranR
    sta dli+5
    lda #$00
    sta dli2
    lda #$70
    sta dli2+1

    lda 764     ;sprawdzenie czy nacisnieto klawisz
    cmp #$FF
    beq dal3
                    ;jak nacisniety jakikolwiek klawisz to zamien faze
    lda #$01
    eor ster
    sta ster
    lda #$ff    ; ustawiamy na $FF ostatnio wcisniety klawisz
    sta 764
dal3
    lda #$01        ;odwrocenie portu joya
    eor ster
    sta ster
    sta pa
ustk
    pla
    tax
    pla
    tay
    pla
    plp
    jmp sysvbv
;-----------------------------------
    org $4100
ekranL
    ins 'left.ata'
    org $6100
ekranR
    ins 'right.ata'
    org $8000
dev
    dta  c'S:',$9b
