Jeśli chcesz wziąć udział w dyskusjach na forum - zaloguj się. Jeżeli nie masz loginu - poproś o członkostwo.
Vanilla 1.1.4 jest produktem Lussumo. Więcej informacji: Dokumentacja, Forum.
org $40
curpos .ds 0
offhi .ds 156
offlo .ds 64
org $2000
opt c-
cld
clc
loop
lda # 56
sta 40000
jmp loop
adres = 40000
sta @adres
inc @adres
...
.
ldy #0
nast
lda #$38
sta $9c41,y
lda #0
sta $9c40,y
iny
bne nast
.
lda <$9c40
sta $600
lda >$9c40
sta $601
nosty:
Twoj program jest chyba bardzo niepoprawny. Nie definiujesz nigdzie pamieci ekranu ani DL...nosty:
Wez pierwsza z brzegu ksiazke i przeczytaj o trybach adresowania 6502bob_er:
coś o 6502 poczytajnosty:
Sorry za RTFM - nie chce Cie zniechecac (...) Zabierzesz ludziom czas bez sensubob_er:
sta 40000,x gdzie xbob_er:
tu się objawia 8bitowość 6502Brix:
W przypadku ośmiobitowców najlepiej niestety zapomnieć wszystko co było na maszynach o "większej" ilości bitów.Brix:
Ale najlepiej najpierw stwórz ekran (czyli pobaw się antikiem), bo to nie basic - nie masz nic i sam musisz sobie wszystko zrobić :).
lda <$9c40
sta $80
lda >$9c40
sta $81
lda #56
ldy #0
sta ($80),y
ldy #0
lda #<$9c40
sta addr+1
lda #>$9c40
sta addr+2
lda #'X'
addr: sta.w 0
divByte s1, #8
lsr s1
lsr s1
lsr s1
lda s1
lda s1
lsr
lsr
lsr
epi:
A to nie jest tak, że cykl zapisu się już skończył, skoro ANTIC zdążył zareagować wystawieniem HALTa?epi:
Sprawdzaliście, czy INC WSYNC odczeka do końca bieżącej linii + całą następną?;
; procedura system_off - wylaczamy OS, podlaczamy RAM pod ROMem i
; zajmujemy sie na wlasna reke obsluga NMI
;
org $600
system_off equ *
lda #0
sta $d40e ; wylaczamy NMI
sei ; oraz IRQ
lda #$fe ; oraz podlaczamy RAM pod ROMem, wylaczajac OS
sta $d301
; poniewaz nie mamy juz systemu nalezy zadbac o wlasna obsluge przerwan NMI
lda <NMI
sta $fffa
lda >NMI
sta $fffb
lda #$c0 ;wlaczamy NMI
sta $d40e
petla jmp petla ; nieskończona pętla po włączeniu przerwań
NMI bit $d40f ; sprawdzamy czy przerwanie to VBL czy DLI
bpl _no
jmp DLI
_no sta $d40f
jmp VBL
DLI lda$d20a ;wczytuje rnd
sta$d01a ;zmienia kolor ramki na wartość rnd
rti
VBL lda$d20a ;wczytuje rnd
sta$d018 ;zmienia kolor tła na wartość rnd
rti
; proc dlint
pha
bit NMIST
bpl vbl
lda #$ff
sta COLBK
pla
rti
vbl:
lda #0
sta COLBK
pla
rti
;
lda #$ff
sta WSYNC
STA COLBK
epi:
A to nie jest tak, że cykl zapisu się już skończył, skoro ANTIC zdążył zareagować wystawieniem HALTa?obraz equ $6000
org $5000
lda #$23
sta 559
lda <ant ;młodszy bajt adresu programu ANTIC-a
sta 560 ;do młodszego bajtu cienia DLPTR(560), czyli znajdzie sie to potem w $d402
lda >ant ;starszy bajt adresu programu ANTIC-a
sta 561 ;do starszego bajtu cienia DLPTR(561), czyli znajdzie sie to potem w $d403
lda #$c0 ;wartość $c0
sta $d40e ;do NMIEN
never jmp never
ant ;dta b($70,$70) ;2 x 8 pustych linii
;dta b($70+$80) ;8 pustych linii z przerwaniem DLI, bo `+$80`
dta b($c2),a(obraz)
dta b(5,5,5,5,5,5,5,5,5,5,5,5,5,5)
dta b($41),a(ant)
org $6000
.array txt 39 .byte
[3] = "ATARI"
.enda