2,301

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

turbo 2000F nie wymaga żadnego kabelka. Tylko przełącznik turbo/normal. I na pewno nie wymaga taj płytki dodatkowej jaką widać na twoich fotach. Zrób zdjęcie z drugiej strony płytki tam gdzie są scalaki, są na nich jakieś napisy czy zostały zatarte? Ale patrząc na to co widać to wygląda mi to na "czeskie turbo 2000". Czyli układ '741 oraz jakiś 7400 lub 7401. Dodatkowy kabelek idzie prawdopodobnie od linii COMMAND w gnieździe SIO i służy do przełączenia magnetofonu Turbo/Normal.

Co do braku przewijania... Magnetofon powinien przewijać bez względu na istnienie turbo czy nie (nawet jak by płytka turbo była uszkodzona) więc wszystko wskazuje na uszkodzony silnik (nie spotkałem się z tym nigdy), albo co wielce prawdopodobne tranzystor Q1 nim sterujący. Jeżeli jest tak jak piszesz, czyli POKE 54018,52 i wciśnięcie PLAY nie powoduje działania silnika, to wszystko wskazuje że uszkodzony jest Q1. Gdyby nie działało samo przewijanie można by podejrzewać styki sterujące przewijaniem (są pod klawiszami REW i FWD).

Seban

2,302

(403 odpowiedzi, napisanych Scena - 8bit)

Mikey... 15 lecie nie okrągłe?!?... zależy jak na to patrzeć ;)

15(dec)=%1111(bin) ;P ewentualnie poczekaj jeszcze rok i będzie okrągła $10 rocznica :P

seban

2,303

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

Lotharek - jeżeli mówisz to C1,R9 to tak ma być przecież...

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

a cytując dokładniej:

Wykryte błędy:

1. Przeciąć ścieżkę idącą od 2 pinu układu U5 74HCT74 biegnącą do 6 pinu układu U6 74HCT245 i połączyć przewodem 2 pin układu u5 74HCT74 z 3 pinem układu U4 6116.

Ta mała modyfikacja usunie jeden mały błąd - objawiający się zwisem podczas próby wyjścia z programu KMKDIAG.

2. PCB zawiera jeden błąd w miejscu R9 wlutowujemy kondensator C1 (+ od strony C2) a w miejsce C1 rezystor R9.

A ten błąd i tak dotyczy układu generującego RESET dla HDD, więc nie ma znaczenia w przypadku komunikacji z RAM.

pozdrawiam
Seban

2,304

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

Dely, Piguła dzięki za testy raz jeszcze. Mamy więc do rozwiązania dwa problemy :)

1) dlaczego nie działa z niczym oprócz 6116 (i to niektóre modele)
2) dlaczego się sypie w niektórych Atari

Powalczymy z Candle i jak dojdziemy do jakichś konstruktywnych wniosków damy znać.

pozdrawiam
Seban

2,305

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

Hej!

Dla zainteresowanych źródełko tego prymitywnego testu, już w formacie XASM: idea_pbi1.asx

sądząc po filmie od Dely-ego i grubości pasków to u niego error-rate jest sporo mniejszy :) ale przekłamania są i dotykają wszystkich komórek idea ram.

UPDATE: Uwaga!!! Zrobiłem knota zarówno w żródle jak i w binarce. Poprawione już. Przy wyjściu robiłem mądre:

lda #$ff
sta $d1ff

czyli włączałem wszystkie podpięte PBI ;) Zamiast wszystkie wyłączyć ;)

pozdrawiam
Seban

2,306

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

Hej!

Test jest na tyle prymitywny że operuje tylko na jednym banku RAM (lokacje $DE00-$DFFF) po włączeniu PBI#0 (lda #$01, sta $D1FF). Zaraz dokonam konwersji źródła z formatu QA to jakiegoś czytelnego formatu i zapodam, może się komu przyda do dalszego wnikania ;)

pozdrawiam
Seban

2,307

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

dzięki Piguła! Czyli mamy problem z pamięciami tak jak podejrzewaliśmy od początku... tylko teraz musimy dojść dlaczego tak się dzieje ;)
Jeszcze jedno pytanie... czy długo ten test u Ciebie działał? rozumiem iż górne linie w trybie graficznym wykazują aktywność? (tzn. coś tam się dzieje). Pytam bo na zdjęciu jakoś biało wyszło :) Jakby same $FF były ;)

pozdrawiam
Seban

2,308

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

Hej!

Panowie jak powiedzial Dely, chill-out :) Tu nie chodzi robienie zadymy tylko o wyjaśnienie, znalezienie i rozwiązanie problemu. Dzięki motywacji Candle zmontowałem interface do końca, i zaczołem go uruchamiać, więc dorzucę parę groszy ode mnie... zrobiłem parę prostych testów:

test #1: włączyłem sobie ROM i RAM IDEA w adresie $D800-$DFFF (ram mapowany jest w lokacjach $DE00-$DFFF).  Po włączeniu IDEA skonfigurowanego jako PBI#0, wypełniłem lokacje $DE00-$DFFF wartościami $FF po czym pokazałem to na ekranie jako linie trybu ANTIC $02 na wąskim ekranie, efekt poniżej... czyli masa błędnych i losowych odczytów, a do tego w momencie gdy zbliżałem rękę do PCB IDEA zjawisko się nasilało, widać to na załączonym filmiku: IDEA RAM VIEW

test #2: następnym krokiem było napisanie prymitywnego programu. Tester wypełnia lokację $DE00-$DEFF wartościami od $00 do $FF, lokalizację $DF00-$DFFF wartościami $FF do $00. To samo robi z lokacjami $BE00-$BFFF. Potem kolejno zwiększa każdą z lokacji zarówno IDEA RAM jak bufor testowy. Po czym porównuje wyniki, jeżeli jest błąd zwiększa licznik błędów danej komórki reprezentowany na ekranie jako linie trybu graficznego ANTIC $02. do tego pisze do rejestru koloru oczekiwaną wartość oraz aktualizuje ją w przypadku niezgodności w IDEA-ram.

Wynik w przypadku mojego interface tutaj: IDEA RAM TEST

W przypadku prawidłowo działającego interface linie trybu ANTIC $02 powinny być czyste (wartości $00). Jak widać u mnie jest totalna kaszana. Co ciekawe trochę pomaga reset co widać na filmie ;) Interface przez chwilę działa "niby" trochę lepiej :) Mam prośbę do posiadaczy interface-ów KMK/IDEA o uruchomienie testu i sprawdzenie czy wszystko jest OK. IDEA/KMK musi być ustawione jako PBI Device #0.

Plik z testem do pobrania tutaj: idea_pbi1.xex

dely napisał/a:

Piguła, chillout. Rozmawialiśmy przecież nie raz o śmieceniu w katalogach przez IDEa, ale odkąd dowiedziałem się, że to design-fault to po prostu nie zawracałem Ci gitary i nie mam w związku z tym żadnego żalu.

Dely a można wiedzieć skąd informacje że to "design fault"? I może w dodatku ktoś wie coś więcej i zna problem? Bo zaraz się okaże że my z wiatrakami tu walczymy :)

pozdrawiam
Seban

2,309

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

próbowałem już chyba w 5 atarkach... różnych.... 65, 130, 800XE/XL, rozbudowane, gołe, itd. efekt na każdej identyczny. styki i zasilanie dobre w 100% (bo działa np. Karen Maxi Drive). Jedynie pamięć RAM mam inną jak widać na focie, z braku 6116 użyłem 6264 produkcji ZMD wraz z adapterem. Adapter+RAM działa i przetestowany w programatorze/testerze pamięci.

lotharek napisał/a:

Zamontowalem ok 5-6 KMK do srodka ATAREk...i niegdy nie mailem problemow jak piszecie.

Ja używam tego adaptera ECI+CART + taśmy długości może z 10cm... może tu jest problem? Do środka nie mam za bardzo czasu montować. Co nie zmienia faktu że kurka wodna powinno działać bez problemu :(


seban

2,310

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

Hej!

To i ja się dołączę do wątku. Również zmontowałem sobie IDEAa na PCB nabytym od Piguły jakieś wieki temu :) i mam identyczne problemy jak Candle. Tzn. Ja testowałem interface IBM-owskim 1GB micro-drive. Wszystko wydaje się działać OK, oprócz RAM-u na płytce z IDEA. Byłem zmuszony użyć 6164 z braku 6116, ale KMK diag pisze mi o problemach RAM. Wersja biosu to hdb111nc.

http://seban.slight.pl/aa/kmk2.jpg
http://seban.slight.pl/aa/kmk1.jpg

Poniżej wyniki z KMK-DIAG:

http://seban.slight.pl/aa/kmk_diag1.png

http://seban.slight.pl/aa/kmk_diag2.png

http://seban.slight.pl/aa/kmk_diag3.png

http://seban.slight.pl/aa/kmk_diag4.png

http://seban.slight.pl/aa/kmk_diag5.png

Doceniam oczywiście wysyłki Pasia w udoskonalenie i zbudowanie nowej wersji interface, jednak kurka wodna musi być jakieś sensowne wytłumaczenie takiego a nie innego zachowania się tego interface w ten sposób. Być może jest jakiś błąd w założeniach/projekcie???

pozdrawiam
Seban

2,311

(35 odpowiedzi, napisanych Programowanie - 8 bit)

tj jesli masz binarke w foo/bar/ a jestes w / i wpiszesz /foo/bar/bin to okej, uruchomi sie, ale katalog aktualny to / wiec pojdzie w krzaczory i to jest ok

zgadza się taka uroda MyDOS-a. Rozwiązania takie jak pisałem:

1)  przed załadowaniem binarki, wciskasz "R" (set working directory), w programie masz odwołania do tylko do napędu "D:", czyli np. "D:DUMMY.DAT"
2) po załadowaniu binarki, dodajesz w programie opcję set path, i gdy user poda w jakim katalogu zainstalował program zmieniasz set working directory za pomocą CIO/XIO 41. Tutaj pewnie dało by się odczytać z bufora MyDOS skąd binarka została uruchomiona (pełną ścieżkę). Tu może się okazać iż różne wersje MyDos, a konkretnie DUP.SYS mają w innym miejscu pamięci tą informację.
3) napisać Menu/Loader takie które przed uruchomieniem binarki automatyczne wywoła CIO/XIO 41. ew. sprawdzić czy Toms Navigator tego przez przypadek nie czyni
4) napisać własny command.com dla MyDos-owego DOS.SYS :)

wszystkie 4 opcje wymagają aby twój program wykonywał wszelakie operacje dla "D:". W przypadku "set working dir" możesz oczywiście ustawić set worlking dir łącznie z napędem, np. "D4:FOO>BAR". Wtedy odwołanie do "D:DUMMY.DAT", spowoduje odczytanie pliku z "D4:FOO>BAR>DUMMY.DAT"

Seban

2,312

(35 odpowiedzi, napisanych Programowanie - 8 bit)

Z tego co ja rozumiem, ale być może źle pojmuję to chodzi Ci o to aby program uruchomiony z dowolnego katalogu, z dowolnego napędu pod MyDOS. Mógł sobie doczytać różne pliki które znajdują się w tym katalogu. Tak? Czy ja coś źle rozumiem?

Jeżeli o to Ci dokładnie chodzi to wystarczy tak jak pisałem wcześniej aby odwoływać się do "D:", a przed uruchomieniem programu z menu MyDos, wybrać opcję "R", pick directory. Lub jako opcję w programie zrobić coś w rodzaju opcji "SET PATH", gdzie user podawałby katalog i napęd w którym umieszczony jest uruchamiany program. Jest to oczywiście rozwiązanie pośrednie, taka proteza związana z ograniczeniami MyDOS-a.

Jeszcze jeden pomysł który mi przychodzi do głowy to coś w rodzaju MENU do uruchamiania programów z dyskietki. Takie menu miałoby za zadanie przed uruchomieniem programu ustalenie "set working dir", i załadowanie wskazanej binarki.

Tak jak sugerował Draco, sprawdzę jeszcze czy DUP.SYS pozostawia jakiś ślad na podstawie którego można by określić skąd był wywołany program.

Jeszcze jeden pomysł to sprawdzenie czy jakaś nakładka na DOS.SYS (np. TOMS navigator) nie zmienia "working dir" przed uruchomieniem programu.

Seban

2,313

(35 odpowiedzi, napisanych Programowanie - 8 bit)

Jedno pytanie, czy jako H: masz na myśli opcję "H-PATCH" z emulatora? czy może jakiegoś dużego ATR-a widzianego przez MyDOS jako duży dysk i oznaczony przez MyDOS jako napęd z literką H?

Pytam bo nie wiem jak działa H-PATCH, bo "set working dir", czy "make dir" z poziomu emulatora nie działają (ERROR 146 - zwracany przez CIO czyli Function Not Implemented), działa natomiast bezpośrednie odwołanie się do katalogów typu "H1:FOO:BAR:DUMMY.DAT".

W całym zamieszaniu z MyDOS i jego nieprofesjonalności/inności/prostocie w porównaniu ze SpartaDOS... podejrzewałbym prawdopodobny brak obsługi "set default/work dir" oraz "make directory" poprzez kod obsługujący "H-PATCH". Wygląda na to iż handler "H" w przypadku Atari800WIN ma minimalną funkcjonalność :(

Oczywiście cały czas mówię o archaicznym Atari800WIN_Plus_4.0. Oczywiście nie wiem jak jest pod spartą, nie sprawdzałem także ostatniej wersji Atari800. Na real sprzęcie z KMK/IDE chyba powinno działać bez problemu. Tak jak w przypadku dużego 16-megowego ATR-a którego "podmountowałem" MyDos-owi.

Seban

2,314

(35 odpowiedzi, napisanych Programowanie - 8 bit)

możesz mieć relatywną, jeżeli ustawisz ten "working dir", a potem będziesz się odwoływał we wszystkich open do "d:plik.dat". Warunkiem jest iż musisz mieć "D:" a nie "D1:", za chwilę przykład na szybko z BASIC-em.

UPDATE #1:

Oto BASIC-owy przykład, zakładam iż masz skonfigurowanego MyDOS-a z ramdyskiem na D8:, bo na tym będzie bazował ten przykład ;)

10 XIO 34,#1,8,0,"D8:FOO" : REM tworzy katalog FOO na D8:
20 XIO 34,#1,8,0,"D8:FOO:BAR" : REM tworzy katalog BAR w katalogu FOO na D8:
30 XIO 41,#1,0,0,"D8:FOO:BAR" : REM ustawia working directory na "D8:FOO:BAR"
40 OPEN #1,8,0,"D:DUMMY.DAT" : REM otwiera dummy.dat do zapisu (odwołanie do D: spowoduje iż MyDOS odwoła się do "working dir" więc stworzy plik w katalogu D8:FOO:BAR)
50 PRINT #1;"BLA, BLA, BLA..."
60 CLOSE #1

po wywołaniu tego kodu w katalogu "D8:FOO:BAR" pojawi się plik o nazwie "dummy.dat". Jego zawartość to "BLA, BLA, BLA...",$9B

Teraz przykład jak się do niego dobrać stosując "working DIR"

10 XIO 41,#1,0,0,"D8:FOO:BAR": REM ustal working DIR na "D8:FOO:BAR"
20 OPEN #1,4,0,"D:DUMMY.DAT": REM otwórz DUMMY.DAT do odczytu (MyDOS odwoła się do lokacji: D8:FOO:BAR:DUMMY.DAT"
30 DIM A$(100): REM deklarujemy zmienną tekstową (string)
40 INPUT #1,A$: REM zasysamy z pliku wiersz do A$
50 PRINT A$: REM wypisujemy na ekranie
60 CLOSE #1: REM zamykamy kanał

BASIC-owe przykłady są tylko po to aby wyjaśnić działanie mechanizmu working dir (default directory). Wywołanie XIO z poziomu ASM to po prostu normalny skok do CIO z odpowiednim kodem operacji (np. jak w przypadku OPEN). Jak będzie potrzeby real ASM kod, daj znać.

Seban

2,315

(35 odpowiedzi, napisanych Programowanie - 8 bit)

drac030 napisał/a:

sikor/seban: mnie się wydaje, że candle chce mieć funkcję dokładnie odwrotną, to znaczy odczytującą bieżącą ścieżkę, a nie zmieniającą ją.

tak by winikało ponieważ Candle pytał o PWD, jednak później pisze:

Candle napisał/a:

nie chce w programie wpisywac bezwzglednych sciezek i chcialbym zachowac jakas przenoszalnosc calosci miedzy sdx a mydosem

więc jeżeli w programie miałby odwołanie np:

"D:PLIK.DAT", a przed wywołaniem programu lub w jego kodzie ustawiał by sobie "working directory" na katalog w którym pracuje, np: "D1:FOO:BAR"

to każde późniejsze odwołanie spod "D:PLIK.DAT" dałoby fizycznie dostep do pliki "D1:FOO:BAR:PLIK.DAT". Mówie oczywiście o przypadku MyDOS. O SpartaDOS się nie wypowiadam bo jestem laikiem w tym temacie. Zaproponowane przeze mnie rozwiązanie mało jest eleganckie, ale działa np. we wpsominanym przykładzie z MegaMagazine Collection ;)

pozdrawiam
Seban

2,316

(35 odpowiedzi, napisanych Programowanie - 8 bit)

Kiedyś w amoku po kupnie upragnionego TOMS720 zrobiłem taki "MegaMagazine Pack". Prosty loader bazujący na Mna DOS.SYS od MyDos. Funkcją XIO ustawiałem "working directory" potem już tylko wywoływałem Binary Load "D:" i ładowało co trzeba z wybranego katalogu.

Tutaj przykład:

Mega Zine Collection Disk #1. ATR (720k) zawiera części 1-6 MegaZine.
Mega Zine Collection Disk #2. ATR (720k) zawiera część 7 MegaZine (liczyłem że powstanie więcej ;P)

Candle jeżeli o to Ci mniej więcej chodzi i jak będziesz chciał jakiś realny kawałek kodu, daj znać.

2,317

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

w przypadku gier o których wspomniał simius trzeba pamiętać iż kiedyś na kasetach lub dyskietkach występował format BOOT. Obecnie wersje tych gier na które natknąłem się u Fandala lub AtariOnline to jakieś przeróby na format XEX. Oczywiście ładują się najczęściej w obszar powyżej $4000 aby się potem przepisać grzecznie w dolne lokacje pamięci. Na AtariMania leży gra DIAMONDS w formacie CAS... w środku CAS-a jednoblokowy BOOT który ładuje się nisko, więc ma szansę na działać na 16K po załadowaniu z kasety lub spreparowaniu ATR-a na który można nagrać to sektorami. Ale, ale... z tego co pamiętam to chyba niemiecki inicjalizer (loader) co się SPEED nazywał umożliwiał ładowanie plików w formacie BOOT.

2,318

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

to samo co pisałem wyżej... ładuje się w obszar $8000-$BFFF. Odpali tylko z carta w przypadku 16K RAM.

2,319

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

nigdy nie miałem 600XL, ale rozumiem iż RAM w tych komputerach znajduje się w obszarze $0000-$3FFF.

Wspomniana Abracadabra, ma następującą strukturę pliku:

ChkExe v2.71 (c) 1998-2000 Jindrich Kubec <kubecj@asw.cz>
Binary file:  Abracadabra!.xex
[0002] Block:  7000-70AF (00B0)
[00B6] Block:  0230-0231 (0002)
[00BC] Run  :  7000
[00C2]      :  Unexpected second 0xffff format header
[00C4] Block:  8000-BFFF (4000)
Ok!

Tak więc na 600XL nie uruchomi się nigdy jako program ładowany z dowolnego nośnika, nie ma szans. Jedynie wersja na CAR-cie ma szansę działać.Drugie pytanie to jakie obszary pamięci wykorzystuje loader?

Tak samo wspomniany River Raid :) W życiu się nie uruchomi na 600XL z 16KB RAM.No chyba że z cartridge.

ChkExe v2.71 (c) 1998-2000 Jindrich Kubec <kubecj@asw.cz>
Binary file:  River Raid.xex
[0002] Block:  9FF0-BFFF (2010)
[2016] Run  :  9FF6
Ok!

W przypadku 600XL z 16KB RAM, jak mogę się domyslić w obszarach $4000-$BFFF nie ma żadnej pamięci :) Więc cokolwiek wczytane w ten obszar bezpowrotnie znika ;)

seban

2,320

(50 odpowiedzi, napisanych Bałagan)

no to powinienem napisać iż Monster-SID w założeniach i tak miał nie mieć filtrów LP,BP,HP :)
Ale niezła wtopa z tym C-ONE i emulacją C64 ;)

2,321

(12 odpowiedzi, napisanych Scena - 8bit)

fakt ;) pogrążam się coraz bardziej :) zachciało mi się burzyć się o commodore to mam ;P

2,322

(12 odpowiedzi, napisanych Scena - 8bit)

no dobra... widzę tam jeszcze datasette od commodore ;P

2,323

(50 odpowiedzi, napisanych Bałagan)

a do tego Monster-SID emulowany przez C-ONE nie posiada filtrów ;) Czyli cała potęga tego układu poszła w ...

2,324

(12 odpowiedzi, napisanych Scena - 8bit)

piszesz że nie obejrzałem, ale prawdą to nie jest. Obejrzałem od deski do deski i nadal oprócz tego znaczka C64 i ludzików z International karate uważam że to bardziej NES-owe klimaty ma. SID tak nie brzmi, tak brzmi NES. C64 nie ma tak szerokich ramek, to dwa. Klimaty z mario, pady od NES-a, sam nes w niskiej rozdzielczości itd... nawet napis NES się w trakcie przewija, dla mnie EOT :)

[trol mode ON]ale ponieważ musisz mieć swoje ostatnie zdanie to zapewne coś jeszcze dopiszesz do tego wątku :P[/trol mode OFF]


;)

2,325

(12 odpowiedzi, napisanych Scena - 8bit)

no niech Ci będzie... ale to jeden z dwóch akcentów :P nawet tego wcześniej nie zarejestrowałem :P