1,651

(11 odpowiedzi, napisanych Programowanie - 8 bit)

@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    st

1,652

(11 odpowiedzi, napisanych Programowanie - 8 bit)

Hej!

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"

1,653

(19 odpowiedzi, napisanych Software, Gry - 8bit)

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ę.

1,654

(19 odpowiedzi, napisanych Software, Gry - 8bit)

Podzukam dyskietki, jak znajdę zgram i udostepnie.

1,655

(19 odpowiedzi, napisanych Software, Gry - 8bit)

czy był to może "EPROM Burner" autorstwa Roberta Kujdy?

1,656

(27 odpowiedzi, napisanych Sprzęt - 8bit)

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_write

1,657

(27 odpowiedzi, napisanych Sprzęt - 8bit)

Jest 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.

1,658

(21 odpowiedzi, napisanych Fabryka - 8bit)

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 99

ps) musiałem go popełnić aby szybko obejrzeć powalający obrazek mgr. inż. Rafała :)

1,659

(21 odpowiedzi, napisanych Fabryka - 8bit)

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 :)

1,660

(111 odpowiedzi, napisanych Sprzęt - 8bit)

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.

1,661

(111 odpowiedzi, napisanych Sprzęt - 8bit)

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.

1,662

(1 odpowiedzi, napisanych Sprzęt - 8bit)

fajne! :) dzięki! :)

1,663

(10 odpowiedzi, napisanych Fabryka - 8bit)

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 ;/

1,664

(34 odpowiedzi, napisanych Scena - 8bit)

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 ;-)

http://a8.fandal.cz/files/binaries/demos/d/digital_trash_demo.png

1,665

(34 odpowiedzi, napisanych Scena - 8bit)

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

http://atariki.krap.pl/images/9/9a/Slight_TL_music_show.png

1,666

(34 odpowiedzi, napisanych Scena - 8bit)

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 :)

1,667

(34 odpowiedzi, napisanych Scena - 8bit)

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.

1,668

(18 odpowiedzi, napisanych Programowanie - 8 bit)

no w opisie ACX (dlatego wkleiłem do tego linka) jest napisane dokładnie że takim urządzeniem jest "1090"...

http://atariki.krap.pl/index.php/1090

1,669

(7 odpowiedzi, napisanych Programowanie - 8 bit)

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.

1,670

(18 odpowiedzi, napisanych Programowanie - 8 bit)

http://atariki.krap.pl/index.php/ACX

1,671

(7 odpowiedzi, napisanych Programowanie - 8 bit)

@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 :)

1,672

(16 odpowiedzi, napisanych Różne)

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 ;)

1,673

(16 odpowiedzi, napisanych Różne)

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 :)

1,674

(7 odpowiedzi, napisanych Programowanie - 8 bit)

offtopic mode: ja często używałem jako "decrunch effect", lub sygnalizowania różnych sytuacji w swoim kodzie testowym, właśnie inc $d01a lub lsr $d01a. Tak samo przy wykorzystaniu faktu iż operacje typu INC, DEC są operacjami Read-Modify-Write, gdy chciałem zablokować przerwania NMI stosowałem INC $d40e, aa gdy chciałem odblokować NMI to po prostu DEC $d40e :)

1,675

(16 odpowiedzi, napisanych Różne)

Tego F1 w Altirra to by się przydało ze trzy razy tyle przy moim super kodzie :-)

EDIT:

Wiem że już po czasie, ale męczyło mnie że to takie wolne nawet z F1 :) Trochę przyspieszyłem... za to część Sikora ma nieco więcej czasu na wyświetlanie :) gdy teraz użyjesz F1 to szczena Ci opadnie :) ha ha ha ;-)

0 REM PRIMA-APRILIS 2014
1 REM BY SIKOR, SOME MODS IN SIKOR CODE DONE BY SEBAN :)
10 POKE 622,1:POKE 82,0:GRAPHICS 0:POKE 710,0:POKE 709,15:POKE 752,1:POSITION 0,11
11 ? "TO NIE JEST DEMO DLA NORMALNYCH LUDZI...":? "TO JEST [PRIMA APRILIS 2014 DEMO]..."
12 DEG :FOR I=0 TO 255:POKE 1536+I,12+5*SIN(I*1.4):POKE 40000,PEEK(1536+I)+9:NEXT I:POKE 40000,0
14 REM ------------------------------
15 REM -- SEBAN CODE STARTS HERE :)
16 FOR I=0 TO 15:POKE 712,I:POKE 710,I:POKE 709,15-I:GOSUB 1000:NEXT I:FOR I=1 TO 23:? :NEXT I:POSITION 0,0
17 FOR I=1 TO 959:? CHR$(6+RND(1));:NEXT I:FOR I=2 TO 38:POSITION I,5:? CHR$(18):POSITION I,19:? CHR$(18):NEXT I
18 FOR I=5 TO 19:POSITION 2,I:? CHR$(124):POSITION 38,I:? CHR$(124):NEXT I:POKE 82,3:POKE 83,38
19 POSITION 3,6:FOR I=1 TO 13:? "                                   ":NEXT I:DIM A$(512),B$(256)
20 A$="                                  TO JEST SUPER FAST TEXT MODE SINUS SCROLLER... "
22 A$(LEN(A$))="                                  "
23 FOR I=1 TO 40:B$(I,I)=CHR$(10):NEXT I:E=LEN(A$)-37:Q=0
25 FOR I=1 TO E:P=Q:FOR J=4 TO 36
26 K=I+J:Y=PEEK(1536+P)
27 POSITION J,ASC(B$(J,J)):? " ";
28 POSITION J,Y:? A$(K,K)
29 B$(J,J)=CHR$(Y)
30 P=P+8:IF P>255 THEN P=P-256
31 NEXT J:Q=Q+16:IF Q>255 THEN Q=0
32 NEXT I
33 FOR I=0 TO 15:POKE 712,15-I:POKE 710,15-I:GOSUB 1000:NEXT I:POKE 82,2:POKE 83,39:POKE 622,0:? CHR$(125)
34 POKE 709,15:? "TIME FOR NEXT PART..."
35 REM -- SEBAN CODE ENDS HERE ;) --
36 REM ------------------------------
99 GOTO 99
998 POKE 622,0:POKE 82,2:POKE 752,1:GRAPHICS 0:END 
999 REM - SOME SUBROUTINES BY SEBAN :)
1000 REM -- PAUSE FOR 1-FRAME --
1001 POKE 20,0
1002 IF PEEK(20)=0 THEN 1002
1003 RETURN 
1004 REM -- WAIT *N OF FRAMES --
1005 POKE 20,0
1006 IF PEEK(20)<N THEN 1006
1007 RETURN