Otwarcie ekranu w trybie konsoli (GRAPHICS 0): Różnice pomiędzy wersjami

Z Atariki
Przejdź do nawigacji Przejdź do wyszukiwania
Nie podano opisu zmian
Linia 1: Linia 1:
Procedura włącza tryb [[Graphics 0]], jest to rzecz do zrobienia przed powrotem do DOS-u z programu, który w trakcie pracy zmienił domyślny tryb graficzny. W celu uruchomienia procedury należy ją wywołać przez JSR GR0
Procedura włącza tryb [[Graphics 0]], jest to rzecz do zrobienia przed powrotem do DOS-u z programu, który w trakcie pracy zmienił domyślny tryb graficzny. W celu uruchomienia procedury należy ją wywołać przez JSR GR0


<pre>
  iccmd = $0342
  iccmd = $0342
  icbufa = $0344
  icbufa = $0344
  icax1 = $034a
  icax1 = $034a
  icax2 = $034b
  icax2 = $034b
  jciomain = $e456
  ;
 
  gr0    ldx #$00        ;zamkniecie IOCB #0
  gr0    ldx #$00        ;zamkniecie IOCB #0
         lda #$0c        ;CLOSE
         lda #$0c        ;CLOSE
         jsr ?xcio
         jsr ?xcio
 
;
         lda #<ename
         lda #<ename
         sta icbufa,x
         sta icbufa,x
Linia 20: Linia 18:
         lda #$00
         lda #$00
         sta icax2,x
         sta icax2,x
         lda #$03         ;OPEN
         lda #$03       ;OPEN
  ?xcio  sta iccmd,x
  ?xcio  sta iccmd,x
         jmp jciomain
         jmp [[Tablica skoków#JCIOMAIN|jciomain]]
 
;
  ename  .byte "E:",$9b
  ename  .byte "E:",$9b
</pre>


Procedura robi dokładnie to samo, co [[BASIC]]-owa komenda '''CLOSE #0:OPEN #0,12,0,"E:"'''.
Procedura robi dokładnie to samo, co [[BASIC]]-owa komenda '''CLOSE #0:OPEN #0,12,0,"E:"'''.


[[Kategoria:Niezbędnik kodera]]
[[Kategoria:Niezbędnik kodera]]

Wersja z 29 sie 2009, 19:58

Procedura włącza tryb Graphics 0, jest to rzecz do zrobienia przed powrotem do DOS-u z programu, który w trakcie pracy zmienił domyślny tryb graficzny. W celu uruchomienia procedury należy ją wywołać przez JSR GR0

iccmd = $0342
icbufa = $0344
icax1 = $034a
icax2 = $034b
; 
gr0    ldx #$00        ;zamkniecie IOCB #0
       lda #$0c        ;CLOSE
       jsr ?xcio
;
       lda #<ename
       sta icbufa,x
       lda #>ename
       sta icbufa+1,x
       lda #$0c        ;READ/WRITE
       sta icax1,x
       lda #$00
       sta icax2,x
       lda #$03        ;OPEN
?xcio  sta iccmd,x
       jmp jciomain
;
ename  .byte "E:",$9b

Procedura robi dokładnie to samo, co BASIC-owa komenda CLOSE #0:OPEN #0,12,0,"E:".