Hej!
Jak chcesz sobie sterować jakimiś I/O z poziomu cartridge to proponuje podłączyć sobie PIA (6520) albo VIA (6522), albo nawet 8255. Jeżeli chodzi o 8255 to nawet kiedyś Mikey o to pytał, w tym wątku:
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
Koniki: nowa gra na Atari 8-bit Larek i Gades prezentują grę Koniki działającą z nowym kartridżem SuperGameCart.
Gopher2600 0.57.2 Aktualizacja emulatora Atari 2600 poprawiająca stabilność i naprawiająca błędy w debuggerze.
LodjurDS 0.1.5 Nowa wersja emulatora Atari Lynx dla konsol Nintendo DS z płynnym zoomem i poprawkami błędów.
Gearlynx 1.2.24 Ukazała się kolejna aktualizacja emulatora Gearlynx, oferująca poprawione wsparcie dla ComLynx i liczne poprawki błędów.
NRG 2026: 11 kategorii i 33 statuetki Znamy kategorie konkursowe NRG 2026. Na zwycięzców czekają szklane statuetki i atrakcyjne nagrody.
atari.area forum » Posty przez seban
Hej!
Jak chcesz sobie sterować jakimiś I/O z poziomu cartridge to proponuje podłączyć sobie PIA (6520) albo VIA (6522), albo nawet 8255. Jeżeli chodzi o 8255 to nawet kiedyś Mikey o to pytał, w tym wątku:
@Fox... jest dokładnie tak jak piszesz, zapomniałem że na wyjściu każdego z kanałów jest zapętlony przerzutnik "D" :-)
I poniżej obiecane screeny z oscyloskopu i kodu który wyżej wkleiłem, legenda:
ch#1) [przebieg w kolorze żółtym] wyjście audio POKEY-a ---> częstotliwość generowana przez POKEY na wyjściu audio.
ch#2) [przebieg w kolorze cyjan] wyjście PIA ---> częstotliwość występowania IRQ (bit #0 przestawiony na wyjście, pochylone zbocza spowodowane przez filtr na płycie Atari)
AUDUF=$0000
AUDUF=$0001
AUDUF=$0002
AUDUF=$0003
AUDUF=$014B
ps) pomiary częstotliwości pokazane przez oscyloskop należy traktować z pewną rezerwą :) ot feler tego modelu/firmware przy niskich częstotliwościach :)
@Fox: w takim razie to co jest w Atariki:
http://atariki.krap.pl/index.php/Rejestry_POKEY-a
dokładnie chodzi o to:
dla zegara wejściowego o częstotliwości 1/28 lub 1/114 częstotliwości głównej: F = CLOCK/(2*(N+1)). okazuje się bzdurą?
--------------------> EDIT <--------------------
Ok, zrobiłem mały test... generalnie częstotliwość generowania IRQ przez POKEY w tym wypadku jest równa:
F=CLOCK/(N+1) ... czy ma być +1 jeszcze dokładnie nie sprawdziłem... poniżej kod... oscylogramy za chwilę jak znajdę soft do mojego zabytkowego oscyloskopu.
org $2000
frq equ $14b
st sei
inc $d40e
ldx $d40b
bne *-3
stx $d400
dex
txs
dex
stx $d301
ldx <irq
ldy >irq
stx $fffe
sty $ffff
lda #$03
sta $d20f
lda #%00011001
sta $d208
ldx <frq
ldy >frq
stx $d204
sty $d206
cli
lda #$04
sta $d20e
lda $d302
and #[$04^$ff]
sta $d302
ldx #%00000001
stx $d300
ora #$04
sta $d302
lda #$a8
sta $d207
jmp *
irq pha
;e lda #$01
; sta $d300
; eor #$01
; sta e+1
; asl @
; asl @
; asl @
; sta $d01f
lda #$01
sta $d300
:64 sta $d40a
lda #$00
sta $d300
lda #$00
sta $d20e
lda #$04
sta $d20e
pla
rti
run stHej!
A mi wychodzi:
331 ($14B) dla PAL ( 23.4285391 Hz )
334 ($14E) dla NTSC ( 23.4324776 Hz )
10 CLK=15556.55:REM PAL
11 CLK=15699.76:REM NTSC
15 F=23.4
20 N=(CLK/(F*2))-1
25 N=INT(N):? "N=";N
30 F=CLK/(2*(N+1))
35 ? F;" Hz"sorki za opóźnienie, ale gdzieś to tak schowałem że nie mogę znaleźć... ale jak tylko znajdę więcej czasu... to zrobię fotki i zgram tą dyskietkę.
Podzukam dyskietki, jak znajdę zgram i udostepnie.
czy był to może "EPROM Burner" autorstwa Roberta Kujdy?
o serial EEPROM się nie martw, od razu dostałbyś procki do zapisu i odczytu poszczególnych bajtów :) po strone sprzętu obsługa odczytu i zapisu jednego bitu, w sofcie zrealizowana transmisja całego bajtu i obsługa protokołu wybranej pamięci szeregowej.
przykładowe rej. kontrone karta
$d500 - <nr_banku
$d501 - >nr_banku
$d502 - serial flash register
bit#0: serial_clock
bit#1: data_in
bit#2: data_out
i to wszystko co potrzeba od strony sprzętu, reszta to napisanie procedur...
ldx <adr
ldy >adr
jsr eeprom_read
ldx <adr
ldy >adr
lda #value_to_write
jsr eeprom_writeJest to jak najbardziej możliwe i nie jest wcale skomplikowane do wykonania. np. przełączane banki $A000-$BFFF (dowolnie wybraną komórką na stronie $D5XX, z możliwością odłączenia cartridge), dodatkowo mała pamięć serial eeprom do zapisywania ustawień. Pytanie ile taki banków po 8K jest potrzebne.
Do wyboru jeszcze przełączane banki w obszarze $8000-$9FFF, lub banki po 16K w obszarze $8000-$BFFF.
to ja zaprezentuję super BASIC viewer do formatu Sikora:
10 OPEN #1,4,0,"H:KARMIACY.SG3"
20 GRAPHICS 3+16
30 SCR=PEEK(88)+256*PEEK(89)
40 FOR I=0 TO 239:GET #1,A:POKE SCR+I,A:NEXT I
50 CLOSE #1
99 GOTO 99ps) musiałem go popełnić aby szybko obejrzeć powalający obrazek mgr. inż. Rafała :)
dlaczego wynikowa wielkość pliku wynosi 960 bajtów? Trochę dużo jak na GR.3, powinno być 4 razy mniej :) chyba że czegoś nie doczytałem :)
myślę że sprawa "przekompilowania" nie będzie żadnym problemem :) A jeżeli nawet to zawsze można zrobić "patch" który będzie pytał o adres przez uruchomieniem właściwego programu :) także tym bym się w ogóle nie przejmował, to najmniejszy problem.
Hej!
Bardzo ciekawy projekt! :) podoba mi się... posłuchałem trochę brzmienia SID-a, faktycznie brzmi nieco inaczej... w szczególności filtry wydają się brzmieć nieco inaczej... nie odbierajcie tego jako moje jęczenie :) Bo projekt bardzo mi się podoba :) Czekam z niecierpliwością na wersję finalną! :)
A co do Slight-SID robią się ostateczne płytki... (mam przynajmniej taką nadzieje) i będą za 1,5 może 2 tygodnie. Jak po zmontowaniu okaże się że działa to zgodnie z moimi zamierzeniami będzie można to uznać za wersję docelową. Mam nadzieję że tym razem wszystko będzie OK. Wybaczcie czas jaki mi to zajmuje, ale nie potrafiłbym dać w wasze ręce "niedorobionego" urządzenia, albo urządzenia które działa lub brzmi gorzej niż chciałem/przewidywałem.
Jeszcze co do przestrzeni adresowej dostępnej dla Slight-SID. W gnieździe carta mam do dyspozycji tylko $D500-$D5FF, tyle mogę. Jeżeli planowałbym wersję wewnętrzną to może zajmować ona dowolny adres dostępny w przestrzeni adresowej Atari.
fajne! :) dzięki! :)
Hej!
Jeden z niedawnych projektów który mi przychodzi do głowy to ten: http://www.horus.com/~hias/atari/#sram512k
jeszcze swego czasu ASAL robił coś podobnego: http://atarionline.pl/v01/index.php?sub ... =wynalazki
i był chyba jeszcze jeden projekt który tak jak w Twoim wypadku tylko podmieniał DRAM/SRAM ale nie mogę przypomnieć sobie autora i znaleźć linku ;/
Zapewniam Cię iż idea odtwarzania sampli na GTIA nie jest nowa, eksperymentowała z nią całkiem spora grupka ludzi w zamierzchłych czasach, a ja odtwarzanie sampli na GTIA robiłem sobie około '93 roku... byłem zainspirowany grami które ze spectrum-owskiego beep-era (np. Tim Folin i jego utwory z lat '80), wydawały całkiem ciekawe dźwięki :) A to wszystko zaczęło się dzięki kolegom spectrum-owcom z giełdy, którzy potrafili katować nas swoimi piskami :]
Wcześniej napisałem sobie np. program do czytania spectrum-owskich taśm na magnetofonie przerobionym na Turbo 2000 :) Chodziłem do zaprzyjaźnionych spectrum-owców i prosiłem aby nagrywali mi obrazki ze swoich gier ;) wybierałem takie w których brak atrybutów nie przeszkadzał zbytnio w wyświetleniu grafiki na Atari :)
Skończyło się jednak na fazie eksperymentów i odtwarzaniu sampli na GTIA, ponieważ doszedłem do wniosku że przeniesienie player-ów ze ZX-Spectrum to dla mnie droga przez mękę, z kilku powodów...
1) moja znajomość ASM Z80 była bardzo wątpliwa, zacząłem nawet pisać jakiś disassembler dla Z80, ale w tamtym czasie to SoTe mnie przegonił i napisał własny, a to z tego powodu że z jakiegoś powodu chciał disassmeblować ROM stacji LDW2000 :) Oczywiście zadziałało na mnie to jak demotywator i porzuciłem dalsze prace :)
2) nie miałem do tego zupełnie cierpliwości, dissaemblowanie, cyklowanie, brrr ;)
3) wszelakie testy wykazywały i moja subiektywna opinia pokazywała że POKEY gra głośniej i wyraźniej :) cały pomysł zarzuciłem, ponieważ stwierdziłem że to droga donikąd.
Było jeszcze parę osób które miały podobne pomysły, ale nikt ich również nie zrealizował, dochodząc do podobnych wniosków co ja :) Dźwięk generowany przez GTIA od tej pory wykorzystywałem jedynie do generowania różnego rodzaju key-clicków i innych wkurzających beep-ów.
dopiero XXL po latach usiadł i wykazał się ogromną cierpliwością i zrobił to co było wiadome że da się zrobić ;) tzn. przeniósł playery ze spectrum :)
... a ja w tamtym okresie zacząłem inne eksperymenty z POKEY-em, a ich owocem po latach było mini-demko Digital Trash z 1995 roku. Dla dociekliwych dodam tylko, że w głównej części nie ma typowego ORA #$10, STA AUDCTLx ;-)

Perestroyka ani tym podobne produkcje z muzyką Tomka Liebicha (np. Fucked Vocabulary czy Sky Computer Network)
nie używają GTIA, wiem to na pewno ponieważ player-y z perestroyki czy sky computer network musiałem napisać od nowa gdy robiłem kompilację muzyczek Tomasza Liebicha ( The TL's Old Music Show ) grającą jednocześnie obie wersje muzyki na Atari wyposażonym w drugi POKEY (stereo).
Jeżeli ktoś jeszcze tego nie widział/słyszał to plik do pobrania tutaj: The TL's Old Music Show

sprawdziłem player znajdujący się demie Axel-F z muzyką Tomka Liebicha, nie ma tam użycia GTIA, choć dźwięki nie są typowe dla Atari :)
Sikorowi chyba chodziło o to... http://a8.fandal.cz/detail.php?files_id=39
brzmi dziwnie, i w scroll-u są wypisane jakieś informacje o 5 kanałach, ale nie wiem czy tam jest GTIA, nigdy nie zaglądałem w kod playera.
no w opisie ACX (dlatego wkleiłem do tego linka) jest napisane dokładnie że takim urządzeniem jest "1090"...
no masz rację co do odświeżania, zapomniałem o tym :) A co do '816 to nie miałem bladego pojęcia o innym zachowaniu '816 przy INC/DEC.
@Fox: fakt! :) ale jakoś nigdy tego nie zastosowałem :)
... i należy jeszcze dodać że przez błąd/uproszczenie state-machine w rdzeniu 6502, INC czy DEC tak naprawdę robią niepotrzebny jeden dodatkowy zapis do RAM, (Read->Write->Modify->Write), widać to przy LSR $D01A czy INC $D01A, żadna inna instrukcja nie zapewni tam takie ładnego jasnego "ciapa" szerokości dwóch cykli koloru :)
Ja również dziękuję :) Zabawa była przednia :)
Tylko ta technologia za nami nie nadąża... my tu proponujemy genialne i unikalne rozwiązania software-owe... i musimy się dusić w 1-rdzeniowym CPU,w dodatku OS nie zapewnia nam procesów, wątków i wywłaszczania ;)
mono, muza z dash-a rządzi :) zabiłeś mnie tym :) no i przydał by się nam dual-core 6502, na jednym rdzeniu mogła by lecieć twoja muzyka, na drugim kod dema :)
atari.area forum » Posty przez seban
Wygenerowano w 0.087 sekund, wykonano 17 zapytań