26

(5 odpowiedzi, napisanych Bałagan)

Niektóre sondy mają taki potencjometr do kalibracji szczególnie jak mają dzielnik RC 1:10 i przełącznik.

27

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

Dobry ten program i dużo może!

Umożliwia nagrywanie bezpośrednio z magnetofonu Atari i ogrywanie cas-ów. (nie ma co prawda podglądu live na dane ale co blok pokazywana jest ilość ściągniętych bajtów)
Do tego obsługuje kilka rodzajów czeskich turbo - ma do nich specjalne typy bloków np. 'tr2t' (każde turbo ma swój typ bloków). Połączenie przez port RS jest schemat interfejsu ale sio2pc też wystarczy. do tego jest sterowanie magnetofonem.Umożliwia też edycję edycję i podgląd każdego bloku z osobna. Program to taki trochę "Borland Style"

Nie obsługuje 'fsk'  :(  Trzeba pogadać z autorem może poprawi albo samemu dopisać (źródła są w Turbo Paskalu)

--------------------------

Wracając do zgrywania kaset chciałem zmierzyć ile ma ten specjalny sygnał zero. Niestety oscyloskop mam tylko w robocie więc poszukałem jakiegoś Analizera sygnałów logicznych podpinanych do portu LPT. No i znalazłem efekt na obrazku.

https://www.codeproject.com/Articles/75 … c-Analyzer

28

(11 odpowiedzi, napisanych Fabryka - 8bit)

Da się ale to już wtedy będzie to samo co sio2pc.
Szybkość bez ograniczeń - transoptory są używane w impulsowych przetwornicach napięcia jako feedback więc nie mogą być wolne.

Chcę popróbować jak się sprawdza szybsza transmisja niż 600, więc zrobiłem na szybko przed dłuższym wolnym no i teraz testuje wszelkie programy i możliwości.


--------- 26.04.------ 
Zrobiłem wersję z obsługą 'fsk' na kilka gier wczytało się (Przemytnik,Włóczykij,Skarbnik) czyli na zabezpieczeniach Avalonu daje sobie radę (problem był z grą MV2 - od momentu gdy się zmienia częstotliwość  (jak kiedyś zamówiłem oryginalną kasetę to najpierw przysłali taką z długimi - podwójnie długimi - blokami to mi się nie wczytywała - odesłałem ją to przysłali taką z normalnymi z dopiskiem na karteczce kaseta nie zatrzymuje się po wczytaniu gry - ta była ok.))
----1.05----
Odkryłem że MV2 działa z cas2sio, ale na bardzo starym komputerze. Na nowszym sprzęcie jest problem przy zmieniającym się baudrate. Jak sam ją skompiluję to też nie działa.

Nie zrobiłem jeszcze wymuszenia szybszej prędkości, ewentualnie dodam jeszcze skracanie przerw.
Program ma jeszcze jeden mankament otóż gdy grę wczytuje się z dyskietki to co 3 sektory następuje odczyt co jeszcze opóźnia wgrywanie gry.

29

(11 odpowiedzi, napisanych Fabryka - 8bit)

Wie ktoś który z programów na pewno odgrywa poprawnie bloki 'fsk' z plików .cas ?

cas2sio(dos)   - nie
cascom(win)    - nie
ATART (dos)   - nie
ape(dos)        - nie
apewin      - ?


Z tego co testowałem to ani Ape118 ani cas2sio tego nie robi?
Jeśli żaden do spróbuję dodać obsługę tego i od razu wypróbuję. Przy okazji zamierzam poprawić casy-niedziałejące z cas-archive bo one nie maję tego bloku.

Jest jeszcze windowsowa wersja cas2sio bazująca na nim:
http://sdq.czweb.org/old_computers/atar … ts/cascom/

Appendix - definition of turbo data in .CAS images  (te bloki potrafi wysyłać Cascom.)
--------------------------------------------------
For the turbo data, new record types have been defined. All their ID begins
by tr and their list is

tr2k Turbo 2000             
trst Super Turbo
trbt B-Tape
trtt Turbo Tape
trks KSO Turbo
---------------------------------------------------
Potestuję w tym tygodniu to napiszę co ona umie.
Edit:   Cascom nie odsługuje fsk. wypisuje komunikat  Attention! Unknown Block i ładuje dalej. Ma do wybory 3 priorytety - na zwykłym czasem się zatnie i na atari słychać jakby się prędkość zmieniła co po chwili skutkuje errorem. Na 'środkowym' już było ok jedna gra weszła bez problemu.

Mój najnowszy program.
Miałem kilka niepewnych kaset, a ponieważ nie mam magnetofonu wymyśliłem że można podłączyć magnetofon od atari przez sio2pc do PC-ta i w ten sposób zgrać zawartość.

Połączenie:
Zasilanie +5 do magnetofonu brałem z wtyczki molex.(czerwony przewód to +5V) - na sygnał motor_on też trzeba dać +5V;
jedynie (biały przewód 'data' out) trzeba podłączyć do interfejsu sio2pc.

Dane zbiera odbieramy programem Terminal.
Brakowało tylko programu który sprawdzi sumę i zapisze same dane.
Program XC12BIN analizuje bloki (oblicza sumę) i je zapisuje wszystkie dane z bloku FC i odpowiednią ilość z bloku FA. Źródło

musi być plikiem hex a na wyjściu mamy plik bin (xex czy boot).

Program dostosowałem do plików "Hex" .log z terminala - wygodna edycja notepadem, choć zapis jest możliwy w binarnej formie.

Źródła dołączam.

https://sites.google.com/site/terminalbpp/ 
.

31

(11 odpowiedzi, napisanych Fabryka - 8bit)

Interfejs do ładowania CAS-ów na transoptorze.

Umożliwia transmisję z portu RS232 PC-ta do Atari. (tylko w jedną stronę)
Robi połowę tego co sio2pc, ale bez układu MAX232 i zapewnia izolację galwaniczną obu komputerów.

Działa tak "0" w RS232 to +12V -dioda przewodzi -  tranzystor na wyjściu transoptora przewodzi co daje "0" w Atari - czyli zwiera piny 3 i 4.  "1" to -12V -dioda nie przewodzi, więc na wyjściu zostaje 5V.

Miałem zajęty sio2pc, więc na szybko coś musiałem zrobić.
Testowałem programem cas2sio na kilku CAS-ach - 800 lub 1300 bodów działa.
Ścięty brzeg transoptora to "wejście" (dioda).
Części: rezystor 10k lub 15k, dowolny transoptor, wtyczka DB9 żeńska, wtyczka atari lub 2 piny żeńskie.


Przy okazji pytanie o CAS-y niedziałające z cas-archive.
1. Te pliki .cas nie mają bloków fsk po drugim sektorze ? Wiecie dlaczego?
    Jeśli ma ktoś ten blok z orginałek avalonu  to mogę je przerobić dodając go do nich i posprawdzać.

2. Czy  ape118 lub cas2sio potrafią obsłużyć poprawnie ten blok 'fsk '

32

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

Taki "MOD" do ustawiania głowicy - ponieważ magnetofon nagrywa w jednym kanale więc ustawienie skosu głowicy na słuch mija się z celem, chyba że na czas kręcenia połączyć oba kanały. Zrobiłem próbę - połączenie zrobiłem za rezystorami R17 i R22.Przy 2k słychać super głośno ale 20k też wystarczy.

Chętnie przyjadę.  Macie wystarczająco sprzętu bo mogę zabrać ze sobą 1 atari + 3 joy-e. ?

34

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

Jest taki program chkrom.exe , który pokaże ci jakie są adresy Run i Init dla cartridge'a.


http://mega-hz.dnshome.de/ATARI/ATARI%2 … ATA/ASOFT/

EDIT: a ten program zrobi ci gotowego xex-a

http://ftp.pigwa.net/stuff/collections/ … index.html

35

(3 odpowiedzi, napisanych Bałagan)

Wymieniałeś może kondensatory na płytce zasilacza? Na tej płytce może też być taki automatyczny bezpiecznik.

36

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

@Voy   Jesteś pewien, że poprawiłeś loader? 

Większość jego kodu jest ukryta za EOR #$FF. W kopierze od "Nudmehi..." wygląda na niezmieniony. A na ten Loader.cas jest w wersji oryginalnej czyli pod OS A. (czyli wiesza się gdy jest załączony BASIC.)
Jest jeszcze jeden bug (jeśli program ładowałby się od adresu xxFF to będzie źle załadowany - muszę sprawdzić to  - z analizy kodu tak wynika)

Dla ciekawskich podam co robią te pozmieniane adresy skoków:
OS B   OS XL/XE
F2ED   C5A7  chyba BOOT DISC - nieużyty adres - jest zamazywany przez JSR $089D
F381    C63E  wypisz BOOT ERROR 
F385    C642   wypisz własny tekst - początek tekstu w rejestrach X,Y (w Y starszy bajt)
F6A4    F2B0  out char -wypisuje 1 znak na ekran (po wysłaniu liczby 125 powinno zmazać ekran i ! by znikł co się nie dzieje  :)
F6E2    F302   odczyt klawiatury
F39C                RTS (adres ten wpisywany jest do CASINI)

Odkryte źródła są w innym moim poście gdyby ktoś chciał sobie go poskracać lub poprawić. Można by też ogłosić małe compo na napisanie nowego LOADERA! w 2 kategoriach 1.najkrótszy 2. z bajerami ale o max. tej samej długości (żeby zastąpić go na kopierach , kartridżach itp).

37

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

Naprawiam jeden XC12. płytka PM4401-4
Były błędy odczytu - po dźwięku wyraźnie źle mierzyło "szybkość transmisji". Po wymianie C7 dało się odczytywać to co się zapisało. Po wymianie dalszych C8 i C9 odczytuje loader i jedną grę taż wczytało (na 5 kaset w normalu). Ciekawostką jaką zauważyłem jest że "1" trwa krócej niż "0" (taśma testowa 101010.... na przemian) i tu chyba jest problem, płytka miała 2 pęknięte ścieżki. Są też dolutowane dodatkowe kondensatory od strony lutu. Naprawa trwa więc opiszę co uda się dalej zrobić.


Poza tym zrobiłem połączenie XC12 przez sio2pc do pc-ta - w terminalu z portu szeregowego da się odczytać dane z magnetofonu z prędkościami 575,580 oraz 585 a przy 600 bodów są błędy odczytu.


Scalak (u mnie AN6564) jest zasilany z Motor_on - tego nie ma na schemacie.

38

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

Byłem ciekaw dlaczego nie działa prędkość 3x. (w psiox002)

Po pierwsze - odczyt nie jest w połowie bitu tylko ... zależy od prędkości -przy  1x jest na początku,  2x,3x w połowie.
po drugie - (rozrzut jest taki że odczytuje sąsiednie bity).

ad1. - funkcja odczytu "sio_recv()" jest trochę źle napisana - obliczenie (TIMER_HZ/bps ... itd) odbywa się w czasie nadawania pierwszego bitu a zajmuje na tyle dużo czasu, że jest jak jest - przy prędkości 3x nie wyrabia się (takie moje podejrzenie). W sumie bez sensu bo to obliczenie powinno być tylko raz w programie.

ad2. - odmierzanie czasu jest przy pomocy timera 8253 - synchronizacja wymaga trzech odczytów timera a da się zrobić na jednym (jak wywaliłem "latch_timer" to już jako tako zaczęło działać)

Udało mi się zrobić wersję pod dos efekty takie same (1x,2x-ok; 3x-nie.)
Zrobienie finalnej wersji trochę mi zajmie (nie jestem programistą C) problem ciekawy, więc szkoda go zostawić nierozwiązanym)
EDIT. Zrobiłem wersję na której działa transfer x3.
(kilka filmików)

https://youtu.be/79BoW8t2M-k
https://youtu.be/QUZG_wrVmKg
https://youtu.be/zgazTumCeFg

https://youtu.be/iXJVnohFhdg

Pod Freedosem działa tak samo :)
-----------------------------------------------
Edit: Zrobiłem małe badania - chciałem sprawdzić czy da się odczytać dwa razy tą samą wartość timera a jak nie to ile potrwa jego odczyt.
Napisalem wiec kilka programow testujacych aby to sprawdzić .Programy testowe w laciek.zip. Można je odpalić pod cmd jak ktoś nie ma Dosa.

Wyniki sa nastepujace:
Metoda 3 -3 bajty:latch timer + 2 bajty - 4 do 6 okresow zegara, (tak jest w oryginalnym programie)
metoda 2  -2bajty:bez latch timer 3-4 okresow zegara       
metoda 1 - 1bajt :bez latch timer 1-2 (tzn. nastepna wartosc jest o 1 lub 2 mniejsza)
metoda 4 - 2 bajty- latch timer + bajt LSB 3-4 okresy zegara
Przy okazji okryłem ciekawe zachowanie gdy ustawimy timer na BCD a wpiszemy liczbe hex to...-po testujcie sami.
(lsbbcd.exe)
Napisałem więc wersje wykorzystujaca metode 1 i okazuje się że jest gorzej.Potem sprawdziłem czy zadziała metoda 2 - tez nie dobrze.(czesto checksum error lub long frame)
No to zrobilem inaczej latch timer+1 bajt(LSB) -(metoda 4 ) tu o dziwo odczyt byl lepszy -zdarzal
sie czasem long frame(131) lub short frame(1). Nie wiem dokladnie dlaczego te
błędy byly ale jak wywaliłem linię if timeout... i dalem timeout=2 to nagle problemy zniknęły.
Najpierw spróbowałem czy działa prędkość x3 - odbiór przez stacje jest tylko przy 21 tickach co odpowiada 56600 bps (57600 daje 20 a to juz nie działa). Pozostało więc uslalenie czasu oczekiwania na pierwsz bit wyszlo 12 albo 13. Na tych wartosciach da się ściągnąć cały dysk bez błędów. Były za to problemy z mniejszą predkoscią przy sposobie wymyslonym przez "Shaggiego"-  to "TIMER_HZ/(bps*4/3)"/*wait to center of next bit */
Nie wiem jak on ten wzór wymyślił może próbował, aż zacznie działać(patrz film 1. tu widac bylo ze odczyt jest na początku bajtu a nie w połowie).
Jeszcze dziwniejsze ze "bit0" 46 poltora bity jest mniejszy niz 62 i działa.
Postanowiłem sprawdzić zakres wartości na jakich będzie bezbłędnie działac - 46 jest na skraju bezpiecznego odczytu.
Taka sama tabelke zrobilem dla nowej mojej metody i wyznaczajac prostą wyszedl wzor do obliczenia "bit0".

Dlaczego nie działa metoda 1. nie wiem - ciekawostką jest, że da się złapać nieprawidłowe przejście - patrz program bezlatch.exe

Tabelka zawiera wartości wpisywane do Timera po lewej "prędkość odczytu" w nawiasie oczekiwanie na środek następnego bitu.
     Nowy        Stary   /wartości dla Amd-850MHz
60 [63-102]  [54-89]
61 [57-100]  [48-88]
62 [53-99]    [45-88]   19200 bps; jego program działał na 62[46]
63 [53-93]    [45-79]
64 [53-83]    [45-74]
65 [52-77]    [45-66]

30[27-38]   [16-28]
31[22-36]   [12-23]   38400
32[22-29]   [12-18]

21[12-13]     ------      56600 bps

Zrobiłem test na innym procesorze amd 3800+ i te wartości trochę odbiegają więc jeszcze mnie czekają dalsze testy tym razem na różnych sprzętach.

39

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

Napisałem do autora,  ale On też nie ma.


Well, it appears that I didn't save earlier versions of source code. That's a shame but I guess disk space was in shorter supply 25+ years ago.

I do have some earlier verisons of the executable program SIO2PC.COM

Program execution speed was never a problem. It would run fine on an original 4.77 MHz IBM PC. The problems began when DOS was running under Windows and the multitasking control wasn't allocating enough time to the DOS program.

Nick

40

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

Ma ktoś źródła do sio2pc w wersji 4.14 - ostatnia wersja przed dodaniem "dźwięku" podczas transferu. (starsze 4.19 4.21 znalazłem)

----------------------------
Mała ciekawostka.
Podłączyłem kabelkiem dwa komputery i w jednym odpaliłem sio2pc a w drugim Prosystem w wersji 3.0.2. Nie wykrywa dysku w sio2pc (a z Ape118 wykrywało). Przyczyną jest stale ustawiony sygnał command (żółty) podczas wysyłania komendy status - robi to 4 razy a sio2pc czeka na stan low.

Schemat kabelka 2 wtyczki żeńskie
2-3
3-2
7-9
9-7
5-5.
--------------
edit:
Chciałem porównać kod tej wersji z następnymi bo między 4.19 a 4.21 jest dużo różnic. Wersje z dźwiękiem dostają zadyszki szczególnie 4.19 przy szybkim odczycie (jak testowałem siocopy to zauważyłem) w 4.21 jest już lepiej trochę pomaga zmiejszenie T7 na 0000 i wyłączenie dźwięku.
Zrobiłem wersję 4.22 dodałem opcje , których nie było w menu.

Jeśli ktoś by chciał się  "pobawić" transmisją po RS-232 to polecam ten program https://sites.google.com/site/terminalbpp/

41

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

2. Na jakość odczytu w normalu też wpływa ustawienie głowicy,  nawet jest bardziej czuły na kręcenie głowicą (ćwierć obrotu +-) niż w Turbo Blizzardze (tu czasem jeden obrót nie szkodził), no i w normalu nie było programów do ustawiania głowic (a by się przydał). Przekonałem się o tym jak kupowałem kasety z Avalonu.
Kilkukrotne próby aby się dała gra wczytać, aż wpadłem na pomysł pokręcenie głowicą i polepszyło się (tak na 99%)
2. Czy problem jest na kasetach nagranych u kogoś ?(giełda itp). Kilka kaset które dostałem miały gry które zawsze wchodziły oraz takie które nigdy (jedna miała licznik rekordów do wczytania błąd często w tym samym miejscu 002 od końca). Przydałby się kopier-analizer, który pokazywał na każdym bloku prędkość i jaki rodzaj błędu się zdarza (tych programów z T.A. "100%" itd nie sprawdzałem bo już byłem wtedy w erze turbo).

42

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

Program pod dos-a na PC. Służy do zgrywania obrazów dyskietek z Atari. Podłączenie jest prostym kabelkiem do portu LPT (bez dodatkowej elektroniki).

Jakieś 20 lat temu znalazłem ten program i próbowałem go użyć na 486DX80 oraz pentium 100 - na obu stacja ani drgnęła. Autor programu testował program tylko na procesorze 33Mhz.

Przypomniałem sobie o tym programie i sprawdziłem dlaczego nie działał.Podłączyłem więc oscyloskop do komputera aby zobaczyć co program wysyła. Okazało się że przebieg jest zbyt szybki niż powinien.
Winna była pętla opóźniająca - liczba pętli zawarta w zmiennej data_valid była tylko 8-bitowa, zwiększyłem ją do 16 bitów - program powinien działać dobrze na procesorach od 50 MHz do 2000 MHz.

Program działa w następujący sposób:

1.Pobiera status stacji
2.Wysyła Percom aby ustawić stację w podanej gęstości
3.Odczytuje pierwszy sektor
4.Pobiera Percom - sprawdza gęstość i ustala ile sektorów pobrać
5.Pobiera wszystkie sektory.


kompilowane borland c 3.1

option/ compiler / code generation  -> zaznaczyć unsigned character

Nie mam stacji do atari więc program testowałem poprzez sio2pc i trzy programy typu "ape". Przy okazji odkryłem że te programy źle wysyłają status (piąty bajt nie jest sumą czterech poprzednich a chyba powinien być.)

Aktualna wersja:
- nie mam pewności czy "Percomy" przełączą stację na odpowiednią gęstość. (nie testowałem na  prawdziwej stacji tylko na różnych "ape")
- może nie ściągnąć całej dyskietki w sytuacji gdy gęstość różni się od podanej
- po napotkaniu uszkodzonego sektora zapisuje wcześniejsze i dalej już nie czyta


UWAGA !!! port LPT należy stawić na SPP czyli "normal".

Dlaczego? 
Zapis i odczyt odbywa się na jednym i tym samym bajcie (port 37A) - odczyt polega na ustawieniu +5V na liniach i połączeniu ich do masy jeśli sygnałem jest zero.
W SPP popłynie 3mA a w nowszych ponad 40mA. Chodzi o to że w nowszych trybach wydajność prądowa jest większa (zastosowanie np. zasilanie kamery internetowej).

-----------------
Jest jeszcze wzorowany na tym programie odpowiednik pod linuxa , patrz psiox002.

http://umich.edu/~archive/atari/8bit/Di … /Transfer/

Nie działa po kompilacji poleceniem make - wisi (zbadałem tyle, że odczyt timera stoi w miejscu). Prawdopodobnie jest to spowodowane jednym z bugów gcc przy optymalizacji (-02).
Gdy skompiluję poleceniem gcc .... działa, a do tego program ma mniej bajtów.

Psiox dobrze działa do prędkości 38000 (2x) przy 3x jest przekłamuje odebrane odpowiedzi (invalid response).
Siocop19 działa dobrze na prędkości 3x 62000 do 65000.
Problem sprawia za to sio2pc przy prędkości 2x muli na co drugim sektorze (w 4.14i pomaga ustawienie T7 na 0000, w 4.19i już nie - pod psiox-em jest ok więc badam aktualnie co jest powodem)

Przerobiłem kabel, przeniosłem żyłę z pinu 17 na 11 aby odczyt był z portu tylko do odczytu (jest mniej błędów przy szybszym transferze no i bezpieczniej). Dopracuje oba programy i dołączę je niebawem.

43

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

Podczas prac nad poprawieniem SIOCOPY natrafiłem na taką ciekawostkę.

Gdy wysyła się blok Percom z wadliwą sumą kontrolną to pojawia się komunikat "błąd sumy kontrolnej ramki danych", wartości jakich oczekuje oraz ta wadliwa ramka. Gdy suma jest ok to nie ma żadnego komunikatu, że ten blok przyszedł. ( Podejrzewam że Percom i tak nic tutaj nie robi. )

Odczyt PERCOM jest OK (ale widać ma w oknie komunikatu jakie bajty wysyła)
Jeśli ramka rozkazu ma błędną sumę to podobnego komunikatu nie ma. ( Jest tylko "prędkość ustawiona na 19200")

Komanda get status $53 pobiera 5 bajtów bez sumy kontrolnej (nie wiem co wysyła prawdziwa stacja bo nie mam).


------
SIOCOPY to taki program do połączenia stacji Atari z PC przez port LPT (kabel nie wymaga scalaka) i zgrania obrazu na pc-ta.

44

(46 odpowiedzi, napisanych Programowanie - 8 bit)

W tym katalogu masz kolorowe plansze z opcodami dla 6502 oraz x86.

Edit;2022: Link poniżej wygasł, więc wkleiłem obrazki z naszym procesorem.
http://sasq.comyr.com/Stuff/Elektronika/

http://i.imgur.com/xfeWv.png

Czy w tych Turbo 2000... jest TAPE DOCTOR do ustawiania głowicy?
Bo jeśli Turbo działa przez wtyczkę SIO, a przeróbka daje możliwość odczytu PWM to Tape Doctor powinien działać na każdym z nich - tzn. pokazywać "trzy linie" (najlepszy tester był chyba z kartidżu Phoenix Blizzard)

Można by sprawdzić jak już masz tyle typów.

46

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

@voy - a sprawdzałeś później działanie samego loadera?

Patche poprawiają sam kopier a w loaderze oprócz jednego skoku -nieużywanego -  zmian nie widzę.

W tym artykule na atariki nie napisali, że kod programu jest częściowo zaszyfrowany metodą EOR #$FF; Procedura deszyfrująca wydłuża kod o 44 bajty :( oraz zamienia skok JMP $F2ED na JSR $089D. Pozostałe 4 skoki są w części zaszyfrowanej. Natrafiłem jeszcze na drugą wersję ! tą która jest na atarionline (oraz w kopierze w moim kartridżu).




W załączniku porównanie tych "!!"

PS. Na pomysł przeanalizowania ! wpadłem analizując kod kartridża - natrafiłem na pewne krzaki które okazały się kodem tego loadera.

Analiza i kod po hiszpańsku jest na stronach:

http://franco.arealinux.cl/2014/03/carg … odificado/

https://www.dropbox.com/sh/t0wrzfkub4ne … pd9vwtdsHa

Edit:
Po analizie kodu zauważyłem że "!" xle rozpoznaje nagłówek pliku tzn jeśli tylko jeden z bajtów jest FF to uznaje ze oba są FFFF. czyli jeśli program ładuje się od adresu xxFF to powinien być crash. Nie mam żywego sprzętu więc nie sprawdzę czy tak na pewno jest.

L07FD       ldx #$10
            lda L0930
            sta IOCB0+ICBAL,X
            pha
            lda L0931
            sta IOCB0+ICBAH,X
            tay
            pla
            iny
            bne L0830   ;nie sprawdzi drugiego FF
            tay
            iny
            bne L0830   ;jak drugi jest FF

47

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

Jak wpiszesz Run 8000 to się pojawi ramka z poleceniami tego Turbodosa (taki mały help). Działa tylko w wersji z kartem.(z plikiem.exe też) Dos po instalacji na dyskietce nie ma już tej ramki.
Kolor tła jest można zmienić zmieniając $070B, Była też komórka odpowiedzialna za rodzaj ramdysku, oraz można było przemapować numery napędów (komórki zgodne z DosII+) nie podam jakie bo nie jestem pewien.

Romek w Gliwicach miał tego "Big-a" i używał go na co dzień. Miał pomarańczową nalepkę.

Czech Jindrousch Kubec chciał kiedyś zrobić bazę wszystkich kartridży i napisał kilka programów do ich zgrywania. Niestety nie ułatwił pracy tym którzy by sami chcieli mieć ich zawartość dla siebie.
Czy macie jakieś doświadczenia a tym programem? Nikt na forum nie wspomina o nim.

Natrafiłem na ten program 15 lat temu - niestety jego przydatność okazała się wtedy żadna, gdyż zapisywał w nieznanym formacie. Inną ciekawostką była możliwość "załączenia" zawartości carta przyciskiem "reset" co od razu było widać na ekranie (reset na obudowie kartridża.) Najbardziej mnie interesowało dlaczego ten reset nie zwiesza komputera. Poczytałem trochę zajrzałem w te programy i już wiem, ale o tym później.

Okiem usera:
Mam kart.blizzarda w 65XE, odpalam program, naciskam reset - pojawia się zawartość - naciskam RETURN a tu zawartość znika. Pomaga przytrzymanie restetu w czasie naciskania return wtedy zapisuje się na dysk.
(Return wpisuje rejestr D5xx co w tych rodzajach powoduje wyłączenie) Program w sumie dwa razy wpisuje D5xx najpierw po uruchomieniu programu potem po Return.

Istnieje kilka wersji programu:

Wersja pierwsza z  1999. Tylko ona zapisuje do pliku D:ROM16 całe 16kB.

Wersja 2.00 ma możliwość wyboru 8kB,16kB,cart XEGS, we FREE MODE można wybrać adres i bajt jaki się wpisze do rejestru D5xx, zapisze się 16 kB.

    2.06 dodano tryb OSS  dla Cartów z systemem operacyjnym.
    2.07 - jest to wsad Epromu dla karta SDX,

Wersje 2.0x zapisują dane na dysk w kolejnych sektorach - w sektorze $0E informacja:
"CARTDUMPER 2.06 MBXA----------------"
gdzie M wybrany tryb pracy (0-freemode, 1-8kb, 2-16kb, 3-XEGS 4-OSS)
B ile banków nagrano (w trakcie zapisu program odlicza tam banki do nagrania)
X adres D500+X
A wartość wpisana w powyższy adres,
w kolejnych sektorach dyskietki są dane  - kart XEGS od najwyższego banku, kart OSS wszystkie banki 0-F.


Są jeszcze programy sdxdump i casgen nagrywający na kasetę w normalu.
(Są dwa źródła *.m65) - raczej do tych dwóch powyższych.

Pytania:
Czy ma ktoś program odczytujący ATRy ze zdumpowanymi Cartami i zapisujący do pliku?
Jak działa kart XEGS w normalnej atarce? Czy rzeczywiście ostatni bank jest jednocześnie widoczny w 8000 i A000?
Źródła?(W sumie sam je wrzucę jak skończę analizę programów).

Skąd pobrać.

wersja 1999   dos2.43N + info w autorun.sys
http://atari.fox-1.nl/atari-400-800-xl- … ge-dumper/
wersja 1999  dos2.5
http://ftp.pigwa.net/stuff/collections/ … ge%20Hack/
wersja 2.00 + inne programy (Strona główna z opisem)
https://sites.google.com/site/ataripal/cartdump    - tu cały zestaw programów
źródła i 2.06
http://mega-hz.de/ATARI/ATARI%208Bit/JI … TA/ACARTS/
http://ftp.pigwa.net/stuff/mirror/jindr … TA/ACARTS/

Są też inne programy do zgrywania z Atari 400/800
ftp://ftp.pigwa.net/stuff/collections/h … OM/008.ATR



Na koniec to jak program zapobiega przed zwisem komputera po załączeniu kartridża.
wersje 1999, 2.00 robią tak:
lda #$00
STA MNIEN
STA IRQEN  <-- to nic nie daje
a 2.06 tylko STA NMIEN, ale na czas zapisu
LDA #$C0
STA MNIEN
po zapisie znowu go zeruje.
2.07 jest to wersja do zaprogramowania epromu w zasadzie 8x8kb w każdej to samo. Na początku kopiuje zawartość do ramu a działa tak samo jak poprzednia (jeszcze wyłącza kartridż sdx)

Wystarczyłoby wpisać niezerową wartość do CRITIC $42 i efekt byłby ten sam.
Zastanawiałem się co robią te rozkazy pomiędzy zaznaczonymi w ramce( na phase2.png) - one sprawdzają czy ustawiona jest flaga I - ustawiona też blokuje drugą fazę przerwania vblank.

Wersja 1999 nie wyłącza Basica (pozostałe tak). Jest mały błąd w kodzie (nie przeszkadza w sumie)
W programie jest niewyświetlana linia tekstu 'not yet implemented' co znaczy że coś chciał jeszcze dodać do programu.

49

(0 odpowiedzi, napisanych Bałagan)

Witam .

Gdyby ktoś potrzebował, a nie miał jak  to mogę pomóc w programowaniu Epromów. (EEpromów itd)
Mam w robocie programator Dataman Mempro. (Poznań)
Lista układów jakie on umie zaprogramować jest tu:

https://www.dataman.com/downloads/dl/fi … e_list.pdf


Nie mam adapterów oprócz SIOC 8 (smd 8 pin).
Więc tylko mogę zaprogramować układy z nóżkami.

50

(3 odpowiedzi, napisanych Kolekcjonowanie)

...za "serwer" SIO2PC aż mu się dysk popsuł.

Dawno temu dostałem starego laptopa - teraz może jest to grat(ka) dla kolekcjonerów - ze sąsiedniej stajni Commodore 386sx-LT  (wtedy mnie zdziwiło że robili pc-ty) nie bardzo wiedziałem do czego go użyć bo już wtedy procesory pod 1GHz podchodziły aż trafiłem na projekt SIO2PC - w tym zastosowaniu pracował wyśmienicie - jego 20MB dysk był prawie zapchany atarowskimi obrazami dysków. No niestety pewnego dnia pojawił się problem z odczytem dysku no i koniec. (Dysk się kręci tylko przy próbie odczytu robi trrrrr)

Tak się skończyła kariera tego laptopa. uruchamiałem go wtym miesiącu dos dało się załadować. Niestety nie odpaliłem do końca dyskietkowego linuxa - może 1 MB RAM-u to za mało.

------------ Edit  (X.2018)

Zrobiłem mały serwis tego sprzętu. Wymieniłem 19 kondensatorów w płytce zasilającej (zasilacz wewnątrz lapka) Ze starych syczało i wylewał się elektrolit, a przy nastawieniu kontrastu na maxa następował reset -  teraz jest ok. Co do dysku to nie padł tylko nie ma siły oderwać ramienia głowicy od pozycji "parkowania".
Po zrobieniu zasilacza to nie zanikło, ale popchnę ramię to dysk działa ok.
Zgrałem swoje obrazy atr co miałem na tym dysku a dodatkowo pograłem sobie w elektroBody
Postaram się znaleźć jakiś sposób na trwałą naprawę tego dysku.

Ogólnie są to typowe usterki tego sprzętu - często opisywane na niemieckich forach.