2,926

(36 odpowiedzi, napisanych Programowanie - 8 bit)

hej!

To może i ja swoje 3 grosze dorzucę  :) Pierwsze założenie optymalizacyjne, odwracamy znak w przypadku ilości spakowanych danych, czyli w przypadku ustawionego 7 bitu, wartość $ff będzie oznaczała 1 powtórzenie, $fe - dwa powtórzenia $80 - 127 powtórzeń. Przez taki myk możemy wprowadzić co następuje:

jsr get
bpl store
xor #$ff 
beq stop
...
tay

nie potrzebujemy już and #$7f ;) mamy już 48 bajtów

pierwszym moim pomysłem było zastosowanie nieco innych trybów adresowania i umieszczenie tego na stronie zerowej:

       org     $80

src     dta a(src_address)
dst     dta a(dst_address)

loop    ldx #($100-(_bpl-q0+2))&$ff
        jsr get
        ora #$00
        bpl store
        xor #$ff
        beq stop
        ldx #($100-(_bpl-q1+2))&$ff

store   tay
        stx _bpl+1

q0      jsr get
q1      ldx #dst
        sta ($00,x)
        jsr inc
        dey
_bpl    bpl *

        bvc loop

get     ldx #src
        lda ($00,x)
inc     inc ($00,x)
        bne *+2
        inc ($01,x)

stop    rts

wychodzi 49 bajtów, co okazało się porażką ponieważ kod wygenerowany wcześniej przez magnusa ma 45 bajtów gdy umieścimy go na "zero page". no cóż pozostaje wiec pozostawienie wersji magnusa wraz z modyfikacją "xor" i mamy 43 bajty na zero page lub 48 bajtów w "normalnej" pamięci.

        org     $80

loop    ldx #($100-(_bpl-q0+2))&$ff
        jsr get
        bpl store
        xor #$ff
        beq stop
        ldx #($100-(_bpl-q1+2))&$ff

store   tay
        stx _bpl+1

q0      jsr get
q1      sta $dead
        inc q1+1
        bne *+2
        inc q1+2

        dey
_bpl    bpl *

        bvc loop

get     inc adr+1
        bne *+2
        inc adr+2

adr   lda $cafe

stop    rts

pozdrowionka
Seban/SLIGHT

2,927

(33 odpowiedzi, napisanych Zloty)

Ejku!

Wielki Szacun!!! Po prostu rewelka!!!

Dzięki WIELKIE !!!!


Seban

2,928

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

hej!

niestety, dokładnie tak.

*.pozdr!
Seban/SLIGHT

2,929

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

witam!

W mojej Atarce (130XE) ten pin jest na stałe podpięty do +5V. Więc po włączeniu zasialania po prostu pojawia się tam +5V. RESET nic nie zmienia bo w przy takim podłączeniu nic zmieniać nie może :)

pozdrawiam
Seban/SLIGHT

2,930

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

Ok!

Już wszystko jasne ;)

Trochę posiedziałem z oscyloskopem i wszystko wyszło.

No cóź cała tajemnica sygnału ~REF polega na tym iż on tylko steruje MMU, tak aby przygotowano RAM do odświeżenia przez ANTIC.  W momencie odświeżania ANTIC sam wystawia adresy na magistrale,  a DRAM w momencie odświeżenia nie wystawia nic na magistrale danych. Do tego ANTIC jeszcze wystawia HALT troszkę wcześniej procesorowi aby ten też "odpioł" się od szyny.

I tu cały bajer :) generując fałszywy ~REF, generujemy dla MMU i FREDDIEGo cykl odswieżania pamięci, magistrala danych pozostaje nieużywana (DRAM w cyklu odświeżania pozostawia magistrale danych w stanie wysokiej impedancji) procesor pozpstaje podpięty po nie ma HALT'a :) teraz freezer podpina swoją pamięć (EPROM,ROM) w obszar $fffa,$fffb. Stan cały utrzymuje się do momentu wystąpienia najbliższego NMI :D

Wtedy procek skacze pod adres który obecnie się znajduje $fffa,$fffb. A w podanym obszarze znajduje się już nasza pamięć EPROM podpięta przez logikę freezera :)

Jedny problem jaki występuje w takiej sytuacji to aby nie wygenerować fałszywego REF'a w momecie gdy antic odświeża sobie RAM. Ale to można wyczaić po magistali adresowej. z tego co widzę to na schematcie aby uaktuwnić freezera linia A3 musi być w stanie "1".

Można domyślać się iż ANTIC podczas odświeżania generuje na szynie adresowej tylko adresy typu: $0000,$0100,$0200,$0300....$ff00 (adresowane są tylko wiersze, ROW).

Szacun dla Pana Bernarda :) Musiał mieć zacięcie i dużo wolnego czasu aby to wymyślić i opracować w tamtych czasach :)

Ktoś zainteresowany przeniesiemiem freezera na jakąś nowszą programowalną logikę? bo układ PLS105 to swego rodzaju zabytek :)

Jak już wiemy, ma być Turbo Freezer 2005 od ABBUCA, pytanie tylko czy będzie dostępny czy będzie trzeba za niego płacić chorą kasę. Tak myślę sobie że można się pokusić o stworzenie własnego... tylko pytanie czy ktoś jest zainteresowany? (oprócz mnie :) bo mój Freezer by Stecu/The Distals [jak to wymyślił Miker :D ] już prawie nie działa :(

pozdrawiam
Seban/SLIGHT

2,931

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

Hi!

Tak sobie patrze na schemat tego freezera (notebene podesłanego przez Xana) podłączanego do szyny PBI w serii XL. Ale nie mogę zrozumieć jak ten Freezer przejmuje kontrole nad ATARI. W przypadku Happy Freezera było wykorzystane przerwanie NMI. Partrze na te sygnały która są do niego podpięte i nie mogę zrozumieć jak ten freezer robi następujące rzeczy:

#1) w jaki sposób podmapowuje swojego eproma w obszar pamięci ATARI.
#2) w jaki sposób udaje mu się wymusić tak aby procek skoczył pod wskazany obszar po wciśnięciu przycisku

tak naprawdę to jedynym sygnałem którym może manipulować jest sygnał ~REF. Reszta sygnałów to wejścia do tego freezera.

Tak się właśnie głowie co daje temu freezerowi wystawienie dodatkowego "fałszywego" /REF'a? CPU się odpina od szyny, ale co dalej?

Ma ktoś jakieś pomysły jak to może działać?

Ma kawałek własnego RAMu, wiec tam sobie może zapiswyać informacje zapisywane do POKEYA, GTIA i ANTICA. Tu wszystko załatwia ten programowalny układ PLS105. Teraz ten zabytkowy układzik można zastąpić programowalną logiką ale najpierw trzeba by zrozumieć zasadę działania.

Może ktoś ma e-mail do autora tego projektu Pana Bernhard'a Engl'a?

Wydaje mi się to zbyt proste aby mogło działać. A jednak może to jest na tyle genialne w swojej prostocie że działa w jakiś sposób. Albo ja po prostu nie rozumiem idei działania tego wynalazku do końca ;)

Happy Freezer wymagał sporej ingerecj w sygnały między RAM'em a FREDDIE'im. Tu tego nie ma. taki Freezer może zostać po prostu podpięty pod PBI, czy nawet w XE do złącz CART i EXT i działa. Ale jak?

Jakieś pomysły?

chętenie posłucham waszych opini.

pozdrawiam
Seban/SLIGHT

2,932

(14 odpowiedzi, napisanych Bałagan)

Hej!

Masz gotowca... :D

Ale UWAGA!!! zero optymalizacji ;)

ehh... stare dobre czasy ;) kiedyś się pisało w BASIC'u ;)

pozdrawiam
Seban/SLIGHT

2,933

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

Witam!

tutaj znajdziesz odpowiedź:

http://atariarea.krap.pl/forum/viewtopic.php?t=2091

*.pozdr!
Seban/SLIGHT

Można też zastosować 18F452 - do "zadań dodatkowych" jest lepszy.

Dokładnie o takim samym myślałem ;)

A co do gammy to nie bardzo mają ochotę na sprzedawanie pojedyńczych sztuk. Mam ich pod domem, po drugiej stronie ulicy i znam się z nimi niejko poprzez poprzednią pracę. Gdzie utrzymywałem z nimi silne kontakty ze względu na dość znaczne zakupu PIC'ow ;) Na początku nie robią trudności jeżeli pojedyńcze sztuki kupuje firma i mają nadzieję na dalszą współpracę. Natomiast jak PICki kupują prywatne osoby to tak niechętnie do tego raczej podchodzą, aczkowliek sprzedadą pewnie.

A co do róźnicy w brzmieniach 6581 (stary) a 8580 (nowy)  to ja słyszę wyraźną różnicę w brzmieniu fitrów. 6581 wydaje się nieco miększy i bardziej dynamiczny. 8580 ma dla mnie bardziej metaliczne i ostrzejsze brzmienie. Co ciekawe niektóre msx'y pisane na 6581 bardzo źle brzmią na 8580 i vice versa. Ale w 80% nie ma to znaczenia. Dopiero mistrowie SID'owego układu potrafili wykorzystać możliwości filtrów i sztuczki poszczególnych układów.

Co do sampli, to do końca nie wiem jak jest. Niektóre produkcje źle grają sample na nowych sidach (bardzo cicho). Z drugiej jednak strony nowsze produkcje źle odtwarzają sample na starym SID'ie. Wiec coś w tym jest. Do końca nie wiem na czym polegał trick z otwarzaniem sampli na sidzie, bo sprzętowo chyba nie ma takiej możliwości. Trzeba by było kod playera jakiegoś przeanalizować ;) Ale wszystko w swoim czasie ;)

Kiedyś w C&A był schemat układu poprawiającego jakość sampli w nowym sidzie ;) Z tego co pamiętam przeróbka polegała na zatrzasku podpiętym pod konkretny adres sida i przetoworniku C/A złożonym z drabinki R-2R. Wiec zapis do kokretnego rej. SID'a powodował po prostu wpis do tego prostego 4-bitowego C/A. Wyjście C/A było jakoś dopiete do Audio Out. I to była cała przeróbka.

Wiem że SoTe popełnił dwie konwersje digi-sampli z ATARI na C64 (chyba Crazy Cars i Ethnicolor produkcji HTT). Wiem że miał nowe C64 i znał/znalazł metodę na odtwarzanie sampli na SID8580.

pozdros
Seban/SLIGHT

wersja na mikrokontrolerze PIC bylaby calkiem na miejscu .Szczegolnie jesli opracowales na latwo dostępnym i tanim 16f84 a nie 16f877 jak w midiSIDbox'ie

eeee... 16f84 nie ma PSP (pararell slave port). Trzeba wybrać coś z PSP, co jest normalnie dostępne. Ja mogę mieć dostęp do wsztstkich ale nie o to chodzi. Chodzi o to jakie PIC'e z PSP można dostać w rozsądnej cenie w detalu.

A i pomysł zastosowania PIC'ka nie jest mój tylko Electrona. Chyba nawet Electron zaproponował jakiś schemat i do tego zaproponował wykorzystanie mocy szybkiego PIC'ka do wykonania dodatkowych zadań. Np. mnożenia, itp.

Jestem za rozwiązaniem z wlasnym rezonatorem kwarcowym 1MHz. Seban jesli nie masz czasu to i tak warto bys udostępnil schamaty w tej postaci w jakiej sa Po tych 9 latach :D Niech inni nad tym tez pracują równolegle Wkoncu  moc tkwi w równoleglym przetwarzaniu:D

Pewnie masz racje... jak bym to udostępnił to pewnie już ktoś kto ma więcej czasu już by to dawno dokończył. Może i tak zrobie. Może ktoś z was mający więcej czasu się tym zajmie. w takim razie musze doprowadzić do porządku dokumentacje i postaram się opbulikować to co jest zrobione do tej pory.

pozdr
Seban/SLIGHT

a jak wyglada sprawa obciazenie CPU Atari podczas odtwarzanie SID'ow ? tak jak np. z MPT ? bo jak tak to luzik :)

i tu właśnie jest ciekawostka ;) Myślałem że C64 jest sporo wolniejsze od atari :) wiec myślałem iż Player z C64 będzie się wykonywał nieco szybciej na ATARI niż na C64. Jakież było moje zdziwienie jak zobaczyłem iż player z C64 wykonuje się prawie tyle samo na ATARI co na C64 (no może minimalnie szybciej). Badanie przeprowadzałem przy standardowym ekranie z C64, playera odpalałem w momecie zaczęcie rysowania przez VIC'a pierwszej lini tekstowej. Podobnie na atari (standarowy ekran ATARI w trybie ANTIC $02).

Próbowałem poszukiwać wyjaśnienia całej sytuacji. Pytałem znających się trochę bardziej ode mnie na C64 jak to jest że ekran praktycznie nie spowalnia C64. I co się okazało... otóż podobno VIC z C64 to bardzo sprytny układ ;) Nie haltuje on CPU tak jak ANTIC. Pobieranie danych z pamięci i odświeżanie tejże wykonuje w przeciwfazie do CPU. CPU z C64 pobiera dane z pamięci na narastającym zboczu sygnału zegarowego a VIC na opadającym. Także nie ma możliwości aby CPU i VIC zarządały danych w tym samym momencie z RAMu. Tak wiec pobieranie danych z pamięci przez VIC'a nie spowalnia CPU.

Tak do końca nie wiem czy to prawda bo nie miał mi kto potwierdzić tych informacji. Jednak zakładam iż jeżeli player z C64 odpalony na ATARI wykonuje się podobną ilość czasu to oznacza to tylko jedno... VIC nie wstrzymuje 6510, albo nie spowalnia go w takim stopniu jak ANTIC spowalnia 6502.

Ale wracając do czasu wykonaia się player'a. Z założenia Playery z C64 powinny się wykonywać o wiele krócej. SID ma własny generator obwiedni wiec Player zupełnie się tym nie powinien zajmować. A jednak playery z C64 mają porównywalne czasy wykoania z playerami z ATARI. Są i player y które zajmują dwie linie ekranowe, jednak są i takie rozrośnięte kobyły co potrafią zabrać z 70 lini rastrowych ;).

Zaczołem się przyglądać playerom z C64 i dwie rzeczy rzuciły się od razu w oczy. Po pierwsze 12-bitowa precyzja SID'a wymusza trochę innego rodzaju kod. Po drugie część świetnych muzyków z C64 sama pisze/pisała playery i jeżeli ktoś jest dobrym muzykiem nie oznaczało iż był także rewelacyjnym koderem. Cześć playerów po prostu jest napisana tak aby spełniała swoje "zadanie brzmieniowe". One nia muszą być szybkie, ważne  żeby fajnie brzmiały. Cześć muzyków nie przywiązywała po prostu wagi co do jakości kodu playera. Inni nie potrafili sobie napisać szybkiego playera. 

Analizowałem kilka playerów i tak jak mówiłem są takie które wykonują się 2 linie i są prawdziwe kobyły ;) Jednak średni jest to około 32-48 lini rastrowych (przy wyłączonym ekranie na ATARI). Zresztą możecie zobaczyć to w SidPlay'u świetego. Tam jest pokazany czas wykoania Player'a z C64 ;).

Moim zdaniem średnio wchodzi nieco krócej niż MPT. Ale jest innna wada niektórych playerów. Średni czas wykoania jest bardzo krótki, ale w momecie gdy taki player musi pobrać dane dla kolejnych patternów zaczyna długo się wykonywać.

Zresztą specyfika muzyki SID'owej jest zupełnie inna niż POKEY'owej. SID'owcy mają zupełnie inne efekty. Często playery potrafią robić płynne przejścia z jednej nuty do drugiej. To wymusza też nieco inny styl pisania playera.

eehhhh... co ja zresztą bredzę... już chyba wystrarczająco dużo natrułem ;)

pozdrawiam
Seban/SLIGHT

seban: rw masz buforowany czy ma opoznione zbocze dodatnie?
jelonek: wbij sobie do lba ze gumi nie jest ci nic winien, a juz napewno niczego nie musi ci udowadniac - najpierw dorosnij do czyjegos poziomu, pozniej bedziesz z nim polemizowal

Hej!

O jakim R/~W mówimy? o tym z ATARI czy o tym dla SID'a?
Bo jezeli mówimy od R/~W dla SID'a to poszedłem na łatwiznę ;)
W Slight SID'ie nie ma możliwości czytania z SID'a. Jest tylko zapis.

Zresztą w sidzie są tylko 3 rejestry do odczutu. Dwa z nich to wartości z przetworników A/C wykorzytywanych do pomiaru rezystacji w "paddles". A trrzeci z nich to wartość z generatora obwiedni/szumu.

R/~W jest u mnie podpięte na stałe do GND. (zresztą jak się okazało tak samo jest w pierwszej wesji HardSid'a :D ). Zresztą wersje z odczytem robiłbym już na bardziej specjalizowanych układach. Nie mam pomysłu jak miałby wyglądac odczyt z SID'a przy różnych zegarach i na magistralach i jednej instrukcji LDA $d5xx. Musiałoby to wyglądać inaczej. Np. w dwóch krokach. pierwszym LDA $d5xx sygnalizujemy chęć odczytu a drugim lda $d5xx dostajemy poprawną wartość odczytaną z SID'a. Ja mam dwa niezależnie niesynchronizowane ze sobą generatory (jeden to atarowski FI2, a drugi to 1MHz zegar dla SID'a).

Zasadą którą sie kierowałem to uproszczenie projektu do bulu. Tak jak wspominalem podpisnając jakiś MCU, bardziej zaawansowane CPLD lub FPGA robi się to bez problemu. Tylko teraz skąd normalny użytkownik ma wźciąć sobie takie CPLD, czy inne mikrokontrolery i jeszcze programatory dla nich.

Co prawda mam dostęp do narzęci Microchip'owych i mógłbym zrobić to na PIC'u z PSP. Tylko jak inni by sobie poradzili z programowaniem tego i zdobywaniem piców? Jacyś chętni na wersje SID'ową na PIC'u?

gretz
Seban/SLIGHT

Fajnie. Czy SLIGHT moze udostepnic schemat SLIGHT SID ?

Chciałem to zrobić, jak wszytsko dogram na 100%. W chwili obecnej nie mam zbyt dużo wolnego czasu... przez co zaraz zginę śmiercią tragiczną posterzelony z jakiejś dubeltuwy przez STRYKER'a ;) Bo on już się strasznie niecierpliwi ;)

Mam jeszcze jeden problem do rozwiązania, jest jedna sytuacja w której zapis do SID'a mi się "wali". Chodzi o moment gdy ATARI zapisze mi tuż przed opadającym zboczem zegera 1MHz. Wtedy wartość która powinna być wpisana do SID'a idzie sobie w kosmos :( czego efetem jest najczęściej słyszalne "pyknięcie". Nie miałem zbyt wiele czasu na poprawki. Nie chciałbym udostępniać schematu bubla... bo inaczej tego nazwać nie mogę. Najgorsze jest to że zrobiłem sobie do tego płytki. Bo myślałem iż efekt pyknięcia jest spowodowany przekłamaniami na magistrali danych. Winą wtedy obarczyłem niechlujnie zmontowany prototyp na płytce uniwersalnej (długie przewody od magistali, itp.)

Także jak tylko zrobię poprawki i wykonam nowe PCB i sprawdzę że wszystko działa na 100% to bez problemu to udostępniam.

pozdrawiam
Seban/SLIGHT

zalozylem ze sluchaczowi nie bedzie przeszkadzal dzwiek SID'a obnizony o pol tonu :).

A jednak :) to słychać :)

A tak btw, zawsze się zastanawiałem jak to jest w ATARI ST, tam procek ma 8MHz, a AY jest taktowany chyba 2MHz, jak wyglądają zapisy do układu AY z punktu widzenia procesora ;) Przecież moge zrobić parę zapisów do jego rejestrów i on nawet ich nie zobaczy ;) Czy może procek jest wstrzymywany na czas zapisu do AY???


czyli taki jednobajtowy FIFO :)

Dokładnie tak, tyle że jeszcze trzeba zapanować na ChipSelectem ;) i odpowiedniej chwili go wygnerować dla SID'a. A ponieważ nie wolno dopuścić wieloktornego zapisu tej samej wartości do SID'a... i już mówię dlaczego, np. wpis do danego rejestru startuje gen. obwiedni, a ponowny wpis powoduje jego restart. W momencie dwukrotnego zapisu tej samej wartości may kiszkę. Prote playery działają jednak te bardziej zakręcone już się syfią :(

pozdrawiam
Seban/SLIGHT

a czy nie by mozna sida taktowac 1/2 czestotliwosci procka?

Tu nie do konca o to chodzi. Oczywiscie to wydaje sie najbajdziej rozsadnym rozwiazaniem, ale jest tu pewnien szczegół ;) Przy taktowaniu SID'a inna czestotliwoscia zmienia sie rowniez czestotliwosc jego generatorów. Wszystkie SID'y dostepne w sieci nalezalo by przerobic poprwiajac tablice czestotliwosci w playerach lub dodac 12-bitowe tablice konwersji czestotliwosci :) Ale nie o to nam przecież chodzi ;)

Pierwsza wersja slight-sida którą miałem podpiętą do ATARI była własnie tak zrealizowana. Ale przerabianie tysięcy gotowych SID'ow byłoby bezsensowne.

Wiec sprawę trzeba zrobić tak aby SID był taktowany swoją częstotliwością 1MHz aby zachować tą samą czestotliwość pracy SID'a. Niestety magistrala SID'a również wtedy pracuje na częstotliwości 1MHz i zapisy przez ATARI dokonywane z czestotliwością 1.773447 będą zupełnie nie trafione :)

Można zrealizowac to na dwa sposoby.

#1) łatwiejszy w realizacji ale trudniejszy dla wykonania przez normalnych użytkowników/pasjonatów ATARI. Mówię o wykorzystaniu jakiegoś mikrokontrolera z jednej strony podpiętego pod szynę ATARI, natomiast z drugiej strony będzie miał podpiętego SID'a. Całość będzie taktowana np. wielokrotnością 1MHz. SID będzie pracował sobie np. 1MHz, a mikrokontroler np. 10MHz. Będzie przechwytywał zapisy z ATARI, buforował chwile ;) a potem zapisywał do SID'a. Można wykorztać funkcję  PSP z MCU Microchip, nadaje się idealnie do tego. (zresztą tak jak zaproponował Electron). Do zaimplementowania w parę dni.

#2) sposób trudniejszy w realizacji projektowej, ale łatwiejszy do zmontowania dla szarego użytkownika. Nie wykorzystujemy żadnej logiki programowalnej (CPLD, procków, itd.). Opieramy się tylko na standardownych ukłdach (TTL, CMOS). I własnie tak jest zrealizowany SLIGHT SID. Bazuje on na tym iż ATARI i tak nie zapisze częściej niż dwa razy w ciągu 1MHz ;) Mam dwa 1 bajtowe zatrzaski. jeden buforuje adres, drugi dane z szyny atari. W momencie gdy przychodzi opadająca zbocze 1MHz zegara taktującego SID'a owe dane zostają do niego wpisane.

pozdrawiam
Seban/SLIGHT

2,941

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

Cześć!

To zupełnie nie związane z tematem ale Wy jako specjaliści od MAC65 może mi odpowiecie na moje zakręcone pytanie :) Kiedyś sam używałem MAC65 i uważałem że inne narzędzia się do niczego nie nadają... i do tego miałem manie zapisywanie wszystkiego dziesiętnie :) ale pewnego dnia przyszedł SoTe i mnie spacyfikował, od tego czasu stałem się niewolnikem QA :) i musiałem uznać wyższość systemu hexadecymalnego nad dziesiętnym ;)

Ale wracając do tematu... z tego co pamiętam plik .OBJ wygenerowany przez MAC65, miał bardzo smieszne nagłowki, cały plik był podzielony na jakieś śmieszne bloki po $fa bajtów chyba, czyli np. jak kod znajdował się w obszaże $8000-$9000, wyglądało to chyba tak:

$ff,$ff
$00,$80,$f9,$80, <dane>
$fb,$80,$ff,$80, <dane>
$00,$81,$fa,$81, <dane>
<itd.>

mogłem coś pokręcić ale chyba jakoś tak to wyglądało (może inne były długości). Zawsze się zastanawiałem po jaką cholerę MAC65 taki motyw robi ;) Doszło nawet do tego że napisał kiedyś program linkujący położone obok siebie bloki w pliku w jeden większy ;)

Może Wy właśnie (Pecuś lub Pirx) wiecie dlaczego MAC65 właśnie coś takiego robił? Wiem że to głupie, ale pytam po prostu z czystej ciekawości. Kiedyś sobie to tłumaczyłem tym iż MAC65 ma po prostu bufor 256 bajtów, i w takich kawałkach własnie zapisuje dane.  Ale czy jest to prawidłowa odpowiedź... nie wiem ;)

A jeszcze jedno słowo apropos FAT'u... kiedyś była taka ksiązka "DOS 5.0 od środka, z tego co pamiętam, tam dość dokładnie była opisana struktura FAT12 i FAT16. Może ją gdzieś jeszcze mam. Jeżeli byłoby to przydatne to mógłbym jej poszukac i przeskanowac parę kartek z rozdziału o strukturze FAT.

pozdrawiam
Seban/SLIGHT

2,942

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

oj, oj... chyba jednak to drugie (pamięć, hehe)... Pamietam, jak w snail-mailu pisales kiedys do mnie, ze np. na prosbe Żbika piszesz blokade do ARDEN (i/lub tego TECHNOIDA)

ojoj... chyba cos z moja pamiecia nie tak jednak... coś mi sie kołacze po głowie, ale prawie nic nie pamiętam... nawet nie wiem czy zostalo to wykorzystane w w/w grach. ehhh.... starość nie radość :(


A detekcja uzycia freezera opierala sie chyba (jak mi Gumi tlumaczyl) na podpatrywaniu co sie dzieje na stosie kompa....  :rolleyes:

A co detekcji uzycia freezera... to było kilka metod. Jena z nich bylo oczywiscie wykorzystanie faktu iz freezer wlasnie potrzebowal troche miejsca na stosie, gdzie umieszczal kawalek swojego kodu.

Kolejnym z pomyslow bylo rzeczywiscie zablokowanie przerwan NMI. Wymagalo to od kodera pewnego nakladu sil, aby bez przerwan DLI czy VBL zrealizowac to co chcial, ale dawalo sie zrobic :)

Kolejna z metod bylo wykorzystanie faktu iz po zalozeniu do kompa freezera, przy zapisie do ktoregokolwiek z rejestrow sprzetowych (ANTIC,POKEY,GTIA,PIA) ta sama wartosc zostala wpisywana rownolegle do pamieci RAM znajdujacej sie w tym samym obszarze (np. zapis do GTIA $d000-$d01f, powodowal wpisanie tej samej wartosci do RAMu pod adresem $d000-$d01f. Normalnie ta pamiec nie byla dostepna, jednak po wcisnieciu przycisku freezera, ten niedostepny nigdzie RAM byl przemapowywany w obszar strony zerowej ;) tak wiec to co ostatnio bylo wpisane w $d000-$d01f, znajdowalo sie teraz w adresach $00-$1f, potem potem wartosci wpisane do POKEY'a byly widoczne $20-$3f. To samo dotyczylo ANTICA, itd.

Teraz wystarczyło wykorzystać fakt iż w normalnym atari (bez freezera), zapis np. $d000 to to samo co zapis $d020. Natomiast w przypadku kompa z freezerem... juz nie ;) dla freezera tylko zapis do $d000 bedzie ostatnim aktualnym zapisem do GTIA ;) I teraz jak widzicie możliwości są nieskończone ;). jednym z pierwszych naszych pomyslow bylo wykorzystanie kolizji grafiki PMG ;) np. dwa sprite'y ustawiamy na pozycjach $00 i np $f0 (poza ekranem) ale w taki sposob iz:

lda #$00
sta $d000
sta $d001
lda #$f0
sta $d020

i juz wiadomo co bedzie po uzyciu freezera ;) obiekt z pozycji $f0
powroci na pozycje $00, bo dla freezera był to ostatni poprawny zapis do GTIA ;)

Sposoboów jest o wiele wiecej. Kombinowac można dowolnie ;)

Swego czasu SoTe i ja wymyślaliśmy sobie z nudów sposoby na freezera ;) Pod koniec dzialalnosci mielismy ich chyba z kilkanascie ;) Zrobilismy sobie z tego takie male hobby ;)

Najlepszym numerem jaki zrobilismy bylo umieszczenie RiverRaida w chyba SampleEditorze :) po uzyciu Freezera odpala sie RiverRaid ;)

pozdrawiam
Seban/SLIGHT

2,943

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

Hej Dracon!

Może po kolei... z tego co ja wiem pomoc wbudowana we frezzera byla juz w wersji ktora zostala zmodyfikowana przez Roberta Kujde albo kogos z jego otoczenia. Ta wlasnie ta wersje poprawial i modyfikowal SoTe robiac Code3 Freezera. W code 3 freezereze rowniez byla pomoc, po wcisnieciu klawisza chyba "H" w debugerze.

Co do zabezpieczania Technoida... chyba się coś Ci pomyliło, bo ja nie zabezpieczałem chyba (a może już nie pamiętam ;)  żadnych gierek komercyjnie. Kiedyś co prawda na prośbę niejakiego 'ciapka' daliśmy chyba nasze procki, które miały być w jakieś grze chyba z Mirage, ale nie wiem czy kiedykolwiek ktoś to wykorzystał. Jedyne produkty zabezpiecznoe przed freezerem to były nasze niektóre demka i programy. Np. Digital Studio, Sample Editor były zabezpieczone przed freezowaniem. Ale nie miało to na celu zabezpieczenia przed zrobieniem wersji file tylko miało to na celu utrudnienie posiadaczom freezera możliwości zaglądania w nasz kod ;)

I tak Ci co wiedzieli jak mogli zrobić wszystko bez freezera ;)

Seban/SLIGHT

2,944

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

Hej!

Tak trochę pogrzebałem po sieci i wychodzi na to iż autorem Freezera był Pan Berhanrd Engl, troszkę informacji jest tutaj:

http://www.abbuc.de/engl.htm

Jak możemy zobaczyć na w/w (pliki PDF), instnieje wersja Freezera podpinana nawet do XE (wymagane złacze extension).

Tak wiec wszystkie wersje freezera dostepne w polsce byly modyfikacjami projektu Pana Engl'a.

Dodatkowo chyba w ABBUC #76 było coś o freezerze:

Ausgabe - Seite - Artikel - Inhalt - Autor - Art -
76 - 1/2004 - 27 -  Projekt Engl - Über die Neuauflage des Turbo-Freezers von Bernhard Engl - Matthias Reichl -Hardware

ma ktos dostep do ABBUC#76?

a może ktoś odważny/chetny przeprowadzi wywiad z Panem Bernhardem? Może opowie on nam historię Freezera?

grtx4all
Seban/SLIGHT

2,945

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

Hej!

W załączniku to co było na stronie atari-magazynu. Również takie same materiały dostałem od Pana Soboli. W jakiś magiczny sposób udało mu się to oddłubać i przerysować schemat. Nie wiem czy jest poprawny i czy nie ma na nim żadnych błędów.

Tak naprawdę to Freezera uważam za jedno z najlepszych modyfikacji ATARI. Tak naprawdę to dzięki niemu powstał software napisany przez SoTe, RZoG'a i mnie. Niestety każdy z nas miał to jako płytkę zalaną distalem i nikomu się nie udało tego oddłubać. Kiedyś próbowałem, ale skończyło się to tym iż musiałem sobie zakłądać drugiego freezer'a.

Zawsze chciałem wiedzieć kto wymyślił to genialne rozwiązanie sprzetowe :) podobno było ono opublikowane w magazynie Happy Computer, ale jest to tylko plotka i nie wiem czy to prawda.

Może ktoś coś wie, bardzo fajnie by było odtworzyć to rozwiązanie. Niestety nie mam zbyt wiele czasu na takie działanie i nie chciałbym sobie popsuć jedynego działającego freezera którego posiadam.

Mi Freezera montował Pan Kszysztof Stec z giełdy na grzybowskiej. Widziałem kiedyś oryginalnego Happy Freezera. Widziałem także wersję zamontowaną przez Roberta Kujdę. Podobno oryginalna wersja freezera była podłączana tylko pod to złącze krawędziowe w Atari 800XL.

Jeżeli ktoś coś może o tym napisać, dajcie znać!

pozdrawiam
Seban/SLIGHT

2,946

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

Cześć!

Tak na szybko... GAL to taka programowalna struktura logiczna. Wyobraź sobie że musisz wykoać jakąś prostą operację logiczną na kilku bitach, np. Y=(A or B)  and (C or D)

W normalnym przypadku musiałbyś zastosować parę ukłądów scalonych aby osiągnąć zamierzony efekt. I teraz z pomocą przychodzą programowlane struktury logiczne takie jak np. GAL'e.  Takiego GAL'a możesz sobie zaprogramować tak aby wykonywał potrzebne tobie działania. Taki GAL ma określoną ilość wejśc i wyjść. Pisząc program dla GAL'a kożystasz z jakiegoś języka programowania (np. CUPL). Piszesz po prostu równania które operują na określonej przez ciebie ilości argumentów wejsciowych a wynik działania takiej funkcji możesz przekierować na odpwiednie wyjście.

Co to oznacza w praktyce... to że zamiast 15 układów scalonych zawierających bramki możesz wsadzić jednego gala.... wszystko robi się małe i wydajne.

Po skompilowaniu programu powstaje plik którym naleźy zaprogramować GAL'a i gotowe ;)

ufff... to było w bardzo dużym uproszczeniu i skrócie ;)

pozdrawiam
Seban

2,947

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

Ten AL250 jest sprzedawany przez dystrybutora w Niemczech (sprawdzcie na stronie producenta). Dodatkowo, tenze dystrybutor oferuje gotowe rozwiaznie ktorego szukamy: DCX305. Wlasnie szukam cen :) Ku..na w koncu wszyscy jestesmy teraz w UE! Niech Atari tez cos z tego ma ;)

Nie abym się czepiał, ale sądzisz że taki dystrybutor sprzeda Ci parę sztuk? Oni będą chcieli od ciebie planu zamówień na najbliższe 3 lata. A minimalny zakup to będzie 1000szt. Próbek też nie dostaniesz bo nie jesteś mega-firmą która może w przyszłości zamawiać jakieś znaczące ilości więc na 99% będą Cię olewać/ignorować. :(

Mam nadzieję iż się mylę i że w końcu komuś się uda dostać parę sztuk tego układu w rozsądnej cenie ;)

pozdrawiam
Seban/SLIGHT

2,948

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

juz od dawna sie tym scalakiem interesowalem (już ponad rok), trzeba do tego bedzie dolozyc jakis procesor wizji/TV dekoder (np. jakis philips z serii SAA7110) bo AL250 ma wejscie cyfrowe (oczekuje strumienia danych w formacie YUV lub RGB). Ale to wszysko pestka. Spróbuj go kupić. Jak mi ktoś go kupi w rozsądnej cenie zrobie wam konwerter ATARI->monitor VGA.

pozdrawiam
Seban/SLIGHT

2,949

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

hej!

No mistrzu, jesteś wielki :D

Co prawda to tylko schematy cart'ów. Ale zawsze to coś na dobry początek ;)
Teraz jeszcze tylko schemat interface AST wkładenego do magnetofonu i będe maksymalnie szczęśliwy ;) Może ktoś gdzieś ma ;) Próbowałem kupić jakiś magnetofon z wbudowanym AST jednak jakoś mało skutecznie :(

pozdrawiam serdecznie
Seban

2,950

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

artu123! dzięki ;)

pozdrawiam
Seban

ps) a może ktoś ma jeszcze namiary na AST?

eeee.... analizując schemat z seriousa... to co przedstawiają zdjęcia to chyba nie jest Blizzard ;( Albo jednen ze scalaków jest analogowy (np. UL1111) albo to nie jest  Blizzard turbo... ja na zdjęciach widze dwa scalaczki chyba jeden tranzystor i jakąś diodę impulsową, pare biernych elementów (9 rezystorów, 2 kondensatory). hmmmm.... liczba rezytorów i kondensatorów się zgadza ze schematem Zenona ;) więc może jednak ulepszona wersja blizzarda ;) co prawda przewodów idących do płytki jest 6 a nie 7 jak schemacie Zenona... ale może jednak.