26

(5 odpowiedzi, napisanych Fabryka - 8bit)

Player do plików .SID których wielkie archiwum znajduje się na stronie High Voltage SID Collection.

Analizuje plik .SID i modyfikuje odwołania do chipów C64 tak, żeby pasowały do sprzętu siedzącego w maluchu. Poza tym robi w Atari piaskownicę i stara się zaemulować otoczenie C64, czyli przerwania IRQ (Raster, CIA1) i NMI (CIA2).
Moduł nie jest relokowany, a umieszczany w tym samym miejscu pamięci co w C64.
Procedury obsługi przerwań i wywołań playera umieszczonego w pliku .SID (tak, ten plik to nie żaden format muzyczny, a zwykły kontener na program, taki sam jak .AY czy .SAP) razem z wybranymi zaślepkami dla rejestrów VIC i CIA lokowane są w obszarze $D800-$DFFF.

Obsługiwany sprzęt to:
- SlightSID mono i stereo,
- Evie (obydwie wersje),
- SIDari,
- NOMari,
- Melody,
- PokeyMAX,
- SimpleSTEREO 4.

Sparta DOS X potrzebny w minimalnej wersji 4.49.

Można sobie skompilować emulator Atari800 z emulacją SID-a, tak jak opisywałem to przy okazji RAD Playera.

Wiele .SID-ów nie zagra, niektóre zawieszą Atari i niewiele na to mogę poradzić, bo inaczej musiałbym napisać symulator 6502 na 6502. Program stara się też określić jakie obszary pamięci są używane przez player i w wolne miejsca przemieścić fragmenty zajęte przez OS, DOS i używane nakładki, po to żeby po pierwsze zrobić wolne miejsce dla .SID-a, a po drugie by przy wyjściu odtworzyć konfigurację pamięci i wrócić do DOS-a. Nie zawsze się to udaje.

Mimo, że nie udało mi się zrealizować wszystkiego co zamierzałem, to zdecydowałem się program opublikować, bo inaczej nigdy chyba nie ujrzałby światła dziennego.

Program (w wersji 0.15) z .SID-ami na których go testowałem można pobrać z mojej strony w postaci .atr, .arc i .zip. W razie potrzeby można dodać numer wersji np. http://mono.i-demo.pl/sidplay/sidplayh-0.15.atr albo zmienić protokół na https.

27

(13 odpowiedzi, napisanych Fabryka - 8bit)

Dziękuję, zawsze to coś.

28

(13 odpowiedzi, napisanych Fabryka - 8bit)

_tzok_ napisał/a:

Dodatkowo istnieją dwie wersje rozszerzenia Newell - różniące się zanegowaniem bitu 5 w nowszej, tak by był interpretowany jak w RAMBO XL.

Miałbyś może jakiegoś linka do dokumentu, czy to wiedza z serwisowj praktyki? Z dokumentów Newella to znam tylko to: https://forums.atariage.com/topic/25411 … ic-domain/ i widzę, że oni potrafili tam wsadzać wajchy na obudowie do przełączania funkcji bitów PORTB. Szczególnie w 4 MEG. Włos się na głowie jeży.

_tzok_ napisał/a:

Rozszerzenie jest opisane jako "A 130XE-compatible 256K Upgrade for the Atari 800XL by Claus Buchholz", ale komercyjnie było sprzedawane jako "256K 800XL Wizztronics LTD" oraz jako "ICD RAMBO XL 256K".

Tu też bym prosił linka jeśli to możliwe. Może być dokument w załączniku :)

29

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

Wielkie dzięki za informacje! Przygotuję jeszcze jeden tester, który będzie testował dodatkowo obecność ROMów przy różnych konfiguracjach banków, ale to za jakiś czas.

30

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

1-4 MEG XL widzę na płytce - to może to jest to?

31

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

A przy okazji czy mógłbyś powiedzieć jak wygląda Twoje rozszerzenie 1 MEG? Bo według dokumentacji to są 3 sposoby montażu skutkujące odmiennym zachowaniem i ilością pamięci. Czy masz tam jakieś wajchy lub przyciski do tymczasowego włączania SELF-TEST-u/BASIC-a/dostępu do RAM pod ROM, itp.?

32

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

laborant napisał/a:

a DX wyróżnione fantazyjnie bo rejestry?

Może tak być, a że zajmują tylko 2KB to zainwersowane jest pół bloku :)

33

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

Co w SimCheck oznaczają te XXX-y przy Base Memory? I czemu DX jest w inverse?

Edit: Rozdzielny dostęp ANTIC-a do pamięci dodatkowej możesz rozpoznać po tym, że co drugą sekcję (b5=0) w nieparzystych wierszach (b4=1) widzisz $FF (czyli CPU widzi tam pamięć podstawową), ale w inwersie (ANTIC wykonuje display list, który zgłasza DLI - a taki jest tylko w pamięci rozszerzonej).

34

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

Proszę pana! Ale to jest 1M ale zgodne z Atari130XE czyli ma rozdzielny dostęp CPU i ANTIC-a do pamięci. A w emulgatorze jest Rambo XL (czyli bez).
bit 0 włącza ROM,
bit 1 wybiera bank
bit 2 wybiera bank
bit 3 wybiera bank
bit 4 włącza dostęp CPU do pamięci dodatkowej
bit 5 włącza dostęp ANTIC do pamięci dodatkowej
bit 6 wybiera bank
bit 7 wybiera bank
co daje 32 banki po 16K czyli 512K. Jeśli to faktycznie 1M to musi bit 5 jednocześnie wybierać bank. Tak zresztą rzecze sam producent tu czy tu.
Ciekawe że ten 1 MEG XL to ma 3 sposoby montażu i za każdym razem inaczej działa...

Dzięki za testy!

35

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

Oooo, to poprosiłbym o uruchomienie MEMSCAN.OBX. Nie spodziewam się czego innego, jak kompatybilnosci pełnej z 1MB SIMM, ale kto wie? Może coś nowego zobaczymy.

U mnie na emulgatorze wygląda to jak w załączniku.

36

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

Wygląda zdrowo, bo popatrz - 10 10 00 00 .. a w dolnej połówce strony EF EF FF FF - schemat jest podobny jak przy pamięci RAM pod ROM w obszarach, które leżą poza układami I/O. A tu jest strona $D0, więc wygląda na to że on faktycznie pozwala w ten sposób na dostęp do całych 64KB pamięci podstawowej RAM :)
Dziękuję! Ludzkość Ci tego nie wybaczy. Tzn. nie zapomni.
Zaktualizowałem wpis w Atariki.

Edit: Pierwszy bajt jest $8F bo zapomniałem że wpisuję nr banku do pierwszego bajtu.

37

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

Poproszę jeszcze ten programik. Wybiera bank $8F i powinien pokazać:
- $CA $FE jeśli to RAM w $0000-$3FFF
- $FF jeśli to RAM w $4000-$7FFF
- $BA $BE jeśli to RAM w $8000-$BFFF
- naprzemiennie $FF i $00 jeśli to jest RAM pod ROM w obszarze $C000-$FFFF (a właściwie w $D0xx)
- nr banku w pierwszym bajcie jeśli to EXTRAM (nie powinno się zdarzyć).

38

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

Dziękuję. W imieniu własnym i ludzkości.

39

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

@laborant: Dzięki! Czyli jest zgodnie z opisem - $83,$87,$8B,$8F włączają pamięć podstawową.
A czy mógłbyś jakimś XLF-em ustawić w komórce $D301 wartość $8F i zobaczyć co znajduje się w $4000 i w $5000?
SHIFT+CONTROL+4 włączasz wglądownicę,
<> przeskakujesz o stronę,
strzałkami przesuwasz kursor,
0-9 i A-F wpisujesz wartość do komórki.

Edit: Może jak interpretować wyniki tego MEMSCAN.OBX :)

Dwucyfrowe wartości reprezentują wartość wpisaną do PORTB. Wartości prezentowane są wierszami po 16 wartości. Czyli pierwszy wiersz to $00-$0F, drugi $10-$1F, i tak dalej aż do $F0-$FF.
Wpisywane są kolejno wszystkie wartości do PORTB i do komórki $4000 (bank włączany jest w obszarze $4000-$7FFF), jeśli więc kilka wartości włącza ten sam bank, to po przejściu całej tej procedury w każdym istniejącym banku dostaniemy ostatnią wartość która bank wybierała.
FF to bank pamięci podstawowej w obszarze $4000-$7FFF.

Dodatkowo w każdym banku pod adresem $4100 wpisywana jest taka dlista:

$C1 $00 $41 JVB+DLI $4100

a w pamięci podstawowej dla odmiany

$41 $00 $41 JVB $4100

co pozwala nam sprawdzić czy ANTIC czyta dlistę z banku podstawowego (DLI nie wystąpi nigdy), czy z dodatkowego (DLI wystąpi). Jeśli DLI wystąpiło, to dla danego banku malujemy pierwszą jego cyfrę w inwersie.

Dlista bez DLI jest w rzeczywistości umieszczana w pamięci podstawowej pod adresami $0100, $4100, $8100 i $C100, co pozwala jeszcze wytestować mapowanie pamięci podstawowej w obszarze okna $4000-$7FFF.

Jeśli więc w wierszu $0x i $1x, $4x, $5x, ... mamy DLI, a w $2x i $3x, $6x i $7x, ... nie mamy to znaczy, że mamy osobny dostęp ANTIC-a i CPU do pamięci dodatkowej (bit 5 to ANTIC, bit 4 to CPU).
A jeśli mamy DLI w $0x, $2x, $4x, ... a w $1x, $3x, $5x, ... nie mamy, to wtedy mamy wspólny dostęp CPU i ANTIC-a do pamięci dodatkowej (bit 4).

Jeśli na pozycji $xx mamy DLI i wartość $FF oznacza to że CPU widzi bank podstawowy, a ANTIC dodatkowy (bo jest DLI).
Jeśli na pozycji $xx jest wartość $xx i mamy DLI, to i CPU, i ANTIC widzi bank dodatkowy.
Jeśli na pozycji $xx jest wartość $xx i nie mamy DLI, to CPU i ANTIC widzą bank podstawowy.
Jeśli wartości się powtarzają n razy to bity niższe niż log(2,n) :D nie biorą udziału w wybieraniu banków.

Trochę to wygląda na skomplikowane, ale w gruncie rzeczy dość proste.

40

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

W Atariki wyczytałem o Newell Industries 256K co następuje:

Atariki napisał/a:

Dodatkowo pierwsze cztery banki (wartości PORTB $83,$87,$8B,$8F) są tożsame z ćwiartkami pamięci podstawowej i nie powinno się ich liczyć do rozmiaru pamięci rozszerzonej.

Czy to by oznaczało, że adresując bank $8F dostaniemy (wtem!) dostęp do schowanego 2KB RAM pod ROMem i MapRam nie jest wtedy potrzebny? Czy $8F zamapuje w $4000-$7FFF to co aktualnie podłączone jest w $C000-$FFFF (RAM/ROM/IO)?

Ktoś ma to rozszerzenie i mógłby potwierdzić używając nawet zwykłego XLF-a czy innego oka lub wglądownicy?

Edit: Dokument https://ia601901.us.archive.org/0/items … manual.pdf sumie by to w potwierdzał.

Edit: Poproszę jszcze o odpalenie programiku MEMSCAN.OBX i zaprezentowanie wyniku działania.

41

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

Czy ktoś dysponuje tym rozszerzeniem lub schematem?
Konkretnie to interesuje mnie jakimi kombinacjami PORTB włączane są jakie banki pamięci.

Edit: Poproszę jszcze o odpalenie programiku MEMSCAN.OBX i zaprezentowanie wyniku działania.

42

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

@takron27: Dzięki.

43

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

YERZMYEY/HOOY-PROGRAM napisał/a:

...informacja od Pana Mono:

Dely i Lizard podsyłają wersję, która rekurencyjnie zagląda do
podkatalogów i tam też generuje te pliki. Plik szablonu ma
być template.cfg.
W załączniku:
- .bash - linux
- .bat - dla łindołsa
- .ps1 - dla łindołsa skrypt power shell

https://www.sendspace.com/file/8060xa

No'ż do wuja wafla. Naprawdę nie można wrzucić pliku jako załącznik do posta tak, żeby był dostępny dla potomnych tylko koniecznie trzeba jakieś sendPEJSY? Kto ma ten skrypt i by mi udostępnił? Uprzejmie proszę...

44

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

32MB na partycję. 16MB na plik.

1. Mono - 2 szt.

46

(75 odpowiedzi, napisanych Bałagan)

Najbardziej chore jest to, że musisz zastrzegać swój nr PESEL.

Jak tego Baud Rate Selectora policzyłeś? Mnie też nie wychodziły prędkości, jakie tam wypisywano, ale wg wzoru:

baud=Fbase/2/(period+7)

wyszło mi tak dla PAL (Fbase=1773447):

800 (543) - 654,891802067947
900 (4BB) - 728,016009852217
1000 (45A) - 791,011150758252
1200 (3FA) - 865,096097560976
1400 (200) - 1708,52312138728

a dla NTSC (Fbase=1789772,5):

800 - 660,920420974889
900 - 734,717775041051
1000 - 798,292818911686
1200 - 873,059756097561
1400 - 1724,25096339114

W nawiasach są wartości okresu ustawione w AUDF.
A przypominam, że standardowa systemowa prędkość 600 baud jest podawana według zegara NTSC:

600 (5CC) - 600,191985244802

dla PAL wychodzi 594,717303822938.

Skąd te rozbieżności między Twoimi a moimi wyliczeniami?

W razie czego służę też wyliczeniami dla:

buldozer turbo
turbo copy r&r
baud rate selector
long file copy
casdup 2600
iron turbo
turbo tape casa
turbo charger xl

48

(5 odpowiedzi, napisanych Miejsca w sieci)

A ta https://barymag.slight.pl/ ?

Edit: I ta http://www.ataripreservation.org/websit … /megazine/ nie wspominając o http://grayscale.scene.pl/ ...

49

(82 odpowiedzi, napisanych Zloty)

Aaa, to on ma, a myślałem że to ja mam dwójkę. Chrapię, więc nie było dla mnie miejsca.

50

(82 odpowiedzi, napisanych Zloty)

Ja też dla formalności - czw-pon, ja samopas.