atarionline.pl nagrywanie gier z kasety na dyskietkę lub z pc na dyskietkę - Forum Atarum

    Jeśli chcesz wziąć udział w dyskusjach na forum - zaloguj się. Jeżeli nie masz loginu - poproś o członkostwo.

    • :
    • :

    Vanilla 1.1.4 jest produktem Lussumo. Więcej informacji: Dokumentacja, Forum.

      • 1: CommentAuthors2325
      • CommentTime6 Jan 2014 04:01 zmieniony
       
      Pewnie wiesz o możliwości wsadzenia do magnetofonu Atari samochodowego adapteru kasetowego do którego wpinasz MP3 jackiem stereo i w ten sposób wczytujesz gry?
      • 2: CommentAuthordavero
      • CommentTime6 Jan 2014 10:01 zmieniony
       
      Tak i przez to wczytuje, zanim poświęcę weekend na zgranie gier na kasety. Nie będę rozkręcał magnetu. Działa to najwazniejsze :-). Turbo i tak nie wylutuje. Kostki zewn. nie mam. Była taka firma w Krk jak mapasoft oni przerabiali w latach 80 i 90 te magnety. Mieli 30 swoich zestawów gier w turbo. ->link<-

      może ktoś odpowie :-)

      Na zdjęciach z zestawami zauważylem TURBO ROM PLUS - tylko, że to przy kartdridzach
      • 3: CommentAuthorQTZ
      • CommentTime6 Jan 2014 13:01 zmieniony
       
      Tak myślę, żę te błędy z DOS-a mogą sugerować jak mówi Bluki, że ten DOS nie daje rady, ale aby się upewnić spróbuj wczytać te programy (gry) bez stacji (Start+Option). Jeżeli się wczytają bez DOS-a to będzie potwierdzenie, że DOS jest "winny". Wtedy już nie ma co kombinować z głośnością.

      Ja do adaptera nie rozkręcam magnetofonu - wyjmuję tylko klapkę, która i tak mi przeszkadza... wystarczy przy otwartej klapce odgiąć zaczepy z obu stron do wewnątrz (tylko żeby nie połamać) i sama wyskoczy. W CA12 klapka jest gorszej jakości niż w XC12 i wyskakuje łatwiej.
      • 4: CommentAuthors2325
      • CommentTime6 Jan 2014 13:01
       
      Magnetofon od C64 domyka się mimo wychodzącego kabla.
      • 5: CommentAuthorQTZ
      • CommentTime6 Jan 2014 13:01 zmieniony
       
      (Już gdzieś tu to pisałem, ale miałem tak, że obraz robił się zielony i zauważyłem, że przyczyną jest wtyczka od zasilacza - w środku we wtyczce zasilacz->Atari były zimne luty, wymieniłem wtyczkę i jest OK. Mam też problem z klawiaturą - gdzie Start + Option nie zawsze działają razem, a osobno tak - to jest spowodowane utlenieniem się ścieżki na folii klawiatury - i stąd było moje pytanie o zimne luty, a widziałem też zdjęcie).
      • 6: CommentAuthordavero
      • CommentTime6 Jan 2014 13:01
       
      wszystko sie wczytuje z magnetu bez dosa. Chyba mam dwie opcje, alboo zdobędę dyskietkę z dosem nowym, albo sio2sd
      • 7: CommentAuthorQTZ
      • CommentTime6 Jan 2014 14:01 zmieniony
       
      Ja jeszcze bym spróbował prosty kopierek z Basic-a, choć nie gwarantuję że da radę, ale to będzie tylko kilka linijek do przepisania, więc można jeszcze spróbować. Jednak tak czy inaczej skoro ten DOS nie obsługuje poprawnie magnetofonu potrzebny będzie nowszy, (czy z dyskietki, czy przez SIO2SD).
      • 8: CommentAuthordavero
      • CommentTime6 Jan 2014 14:01 zmieniony
       
      Znaczy się nowszy dos ? i te komendy co podawałeś ? Nie mam innego dosa tylko te stare. Universal copy wczytał plik z kasety no ale nie da radę na stacje zapisać.
      • 9: CommentAuthorQTZ
      • CommentTime6 Jan 2014 15:01
       
      Oj, podałem tylko "komendę" odczytu z magnetofonu, i obsługę UC, inny DOS może mieć inne komendy (chć ten podany przez Blukiego wygląda podobnie) - poczytaj instrukcję dla konkretnego DOS-a (Bluki załączył swój opis). Możesz popróbować na emulatorze. Ja spróbuję napisać krótki programik dla Basic-a, ale to może potrwać...
      • 10: CommentAuthorQTZ
      • CommentTime6 Jan 2014 18:01 zmieniony
       
      No i wystrugałem coś takiego:
      5 REM SIMPLE DCOPY BY QTZ
      10 MAX=30720:DIM F$(15),D$(MAX),E$(6):E$=CHR$(253):E$(2)="*BLAD"
      15 POKE 764,255:CLOSE #1:TRAP 40:? "LOAD":INPUT F$
      20 IF F$(1,1)="C" THEN OPEN #1,4,128,F$:GOTO 30
      25 OPEN #1,4,0,F$
      30 ? "ODCZYTUJE":FOR W=1 TO MAX:GET #1,A:D$(W,W)=CHR$(A):NEXT W
      35 ? E$;" ZA DLUGI PLIK"
      40 IF D$="" THEN ? E$:RUN
      45 ? "ODCZYTANO:";LEN(D$)
      50 POKE 764,255:CLOSE #1:TRAP 100:? "SAVE":INPUT F$
      55 IF LEN(F$)=0 THEN ? E$:GOTO 50
      60 IF F$(1,1)="C" THEN OPEN #1,8,128,F$:GOTO 70
      65 OPEN #1,8,8,F$
      70 ? "ZAPISUJE":FOR W=1 TO LEN(D$):A=ASC(D$(W,W)):PUT #1,A:NEXT W
      75 ? "ZAPISANO"
      80 ? "ZAPISAC PONOWNIE (T/N)":POKE 764,255
      85 IF PEEK(764)=45 THEN 50
      90 IF PEEK(764)=35 THEN RUN
      95 GOTO 85
      100 ? E$:GOTO 80

      Na emulatorze Atari800WinPLus 4.0 działa (na 4.1 nie!?), ale użyłem prawdopodobnie innego DOS-a, więc nie wiem jak będzie u Ciebie na realnym sprzęcie i sofcie.

      Aby go użyć - włącz Atari ze stacją dysków i dyskietką z DOS-em, nie wciskając niczego - powinien pojawić się Basic.
      Włóż dyskietkę na której będziesz mógł nagrywać dla testu napisz jedną linijkę
      5 REM SIMPLE DCOPY BY QTZ
      zapisz na dysk
      SAVE"D:DCOPY.BAS"
      i spróbuj wczytać
      LOAD"D:DCOPY.BAS
      LIST
      Jeżeli to się uda, to znaczy, że dyskietka jest prawidłowo sformatowana i że da się nagrywać i wczytywać z Basic-a.
      Teraz przepisz cały listing, zapisz go jak wyżej i spróbuj uruchomić
      SAVE"D:DCOPY.BAS"
      RUN
      Aby wczytać go później możesz od razu wpisać
      RUN"D:DCOPY.BAS"

      Generalnie podajesz skąd dokąd kopiować, więc najpierw C:, a potem D:NAZWA.COM. I jeżeli się uda to możesz spróbować uruchomić nagrany na dyskietkę program (UC).

      Uruchamiasz Atari z dyskietką z DOS-em i wciśniętym Option, po wczytaniu DOS-a zmienisz dysk na ten na który skopiowałeś program i uruchamiasz go L i "D:NAZWA.COM".

      Program jest bardzo powolny więc przy wczytywaniu trzeba czekać, nie sygnalizuje numeru błędu, może się też zdarzyć, że odczyta tylko część pliku i nie zasygnalizuje tego, ale jeżeli udało by się nim przenieść UC na dyskietkę to by już był sukces :)
      • 11: CommentAuthormrroman
      • CommentTime6 Jan 2014 18:01
       
      To raczej nie zadziała na prawdziwym Atari. BASIC jest za wolny żeby czytać z kasety przez GET #1,X. Trzeba użyć CIO. Pisało się chyba jaką procedurkę w asemblerze:

      PLA
      PLA
      PLA
      TAX
      JMP CIOV (chyba $E456)

      i wypełniało IOCB (od adresu 832 + 16*nr_kanału).

      Na pewno jest w jakiejś książce, np "Poradnik Programisty Atari".
      • 12: CommentAuthormrroman
      • CommentTime6 Jan 2014 18:01
       
      Tzn nie jest za wolny jak są długie przerwy między blokami (czyli OPEN #1,4,0,"C:") ale jak są krótkie to jest za wolny.
      • 13: CommentAuthorQTZ
      • CommentTime6 Jan 2014 18:01 zmieniony
       
      To poproszę o listing Basica sprawdzony na real Atari :)

      Sam kiedyś używałem BGET (był chyba w dziale kruczki i sztuczki?), który był umieszczony w zmiennej... może poszukam...

      Ten sposób kopiowania używałem kiedyś na prawdziwym Atari, ten kopierek to okrojona wersja programu, który napisałem bardzo dawno temu... ale nie pamiętam, żeby oprócz powolności były jakieś problemy, może sprawdzę później...

      W turbo magnetofon się zatrzymywał między blokami, więc program wyrabiał, ale kopiowałem też z normalu...
      • 14: CommentAuthormrroman
      • CommentTime6 Jan 2014 23:01
       
      Ta procedurka powinna wczytać plik. Tylko nie wiem, długość powinna być w IOCB w BUFL z tego co pamiętam. Niestety nie miałem czasu żeby to sprawdzić ;).

      5 AD=1536:TRAP 10
      6 READ A:POKE AD,A:AD=AD+1:GOTO 110
      7 DATA 104,104,104,10,10,10,10,170,104,104,157,66,3,104,157,69,3,104,157,68,3,104,157,73,3,104,157,72,3
      8 DATA 76,86,228
      10 MAX=30000:DIM F$(15),D$(MAX),E$(6):E$=CHR$(253):E$(2)="*BLAD"
      15 POKE 764,255:CLOSE #1:TRAP 40:? "LOAD":INPUT F$
      20 IF F$(1,1)="C" THEN OPEN #1,4,128,F$:GOTO 30
      25 OPEN #1,4,0,F$
      30 ? "ODCZYTUJE":I=USR(1536,5,ADR(D$),MAX)
      40 CLOSE #1

      Faktycznie, chyba w turbo to działało, ale raczej takim z blokami (np tym z TA), ale z tego co pamiętam to w normalu nie, bo za krótkie przerwy między rekordami były i pewnie nie zdążyłoby wyhamować magnetofonu.
      • 15: CommentAuthors2325
      • CommentTime6 Jan 2014 23:01
       
      Twoja procedura rozwaliła ramkę i poszła dalej ;)
      • 16: CommentAuthordavero
      • CommentTime6 Jan 2014 23:01
       
      Będę w piątek miał na to czas potestuje :), ale watek robi się coraz ciekawszy :-)
      • 17: CommentAuthorQTZ
      • CommentTime6 Jan 2014 23:01 zmieniony
       
      @mrroman: Nie mam już czasu, żeby teraz sprawdzić...

      Patrząc na listing procedura kończy działanie, gdy osiągnie koniec pliku, rozumiem, że tak jak rozmiar, kod błędu będzie w jakimś rejestrze?

      Ja znalazłem bget i bput, wprawdzie to nie te, których używałem, ale działają identycznie (tamte były osobne, te są dwa w jednym) - pisałem kiedyś o nich tu.

      Dane binarne zamieniłem na linie DATA:
      199 REM BGET, BPUT by Raster - Magazyn Flop 36a
      200 DIM BGP$(48):FOR Z=1 TO 48:READ T:S=S+T:BGP$(Z)=CHR$(T):NEXT Z:IF S<>4532 THEN ? "POPRAW DANE":END
      205 DATA 104,104,104,10,10,10,10,170,160,7,104,104,201,4,240,2,160,11,152,157,66,3,104,157
      210 DATA 69,3,104,157,68,3,104,157,73,3,104,157,72,3,32,86,228,132,212,169,0,133,213,96

      300 REM BGET
      305 REM A=USR(ADR(BGP$),KANAL,4,ADR(DO$),ROZMIAR)
      310 REM BPUT
      315 REM A=USR(ADR(BGP$),KANAL,8,ADR(SKAD$),ROZMIAR)
      Tu też zupełnie nie wiemy ile trzeba odczytać i nie wiem jak się zachowa ta procedura gdy plik się skończy...
      Sprawdzenie rozmiaru pliku z dyskietki zaproponował kiedyś Mono (w wątku o grze 64 figury), ale z tego co pamiętam odczytywał cały plik, więc w takiej postaci dla taśmy chyba odpada.

      Fajnie mieć taki mały kopier - taka procedurka może się przydać w wielu programach Basic-a.

      PS. Aby umieścić kod w ramce zobacz Wątek do testów - tam m.in. Kaz opisuje co i jak.

      @Davero: Mam jeszcze jeden pomysł.

      Może z poziomu Basic-a z załadowanym DOS-em uda się po prostu wczytać plik bas przez adapter (wyeliminuje to pisanie).
      Na początek można spróbować z moim kopierkiem, nawet jak nie zadziała, to jak się wczyta to już będzie dobrze.
      Jeżeli nie zadziała, ale się wczyta to będzie wiadomo, że można tą metodą wgrać np. listing kopiera np. z Tajemnic Atari lub ten poprawiony.

      W załączniku mój program (w niezmienionej wersji) w pliku bas - do wczytania spod Basic-a komendą
      RUN"C:
      (jak opisałem wyżej, tylko że z taśmy).

      I to tyle na razie muszę zająć się innymi sprawami, pozdrawiam i zajrzę tu chyba dopiero za kilka dni.
      • 18: CommentAuthordavero
      • CommentTime7 Jan 2014 17:01
       
      ok w piątek będe walczył dzięki za pomoc :)
      • 19: CommentAuthormrroman
      • CommentTime7 Jan 2014 23:01
       
      @QTZ: W sumie też nie miałem czasu. Może jutro przysiądę. Wydaje mi się że w ICBUFL(IOCB+8 i IOCB+9) będzie długość a jak się skończy plik to błąd będzie o kodzie 136. Ten kod chyba będzie pod adresem 195.

      To jest błąd końca pliku i jest zupełnie normalny. Jak się pojawi to trzeba pobrać z ICBUFL długość. W sumie to chyba nawet można ją zostawić i tylko otworzyć nowy plik na tym samym kanale. Nie powinien zmienić tych komórek w pamięci.

      Nie przeglądałem dokładnie twoich BGET i BPUT, ale chyba z USR zwracany jest kod błędu. Czyli rozmiar trzeba wziąć z ICBUFL dla danego kanału czyli np dla kanału #1 będzie to PEEK(832+16+8)+PEEK(832+16+9)*256.
      • 20: CommentAuthormrroman
      • CommentTime10 Jan 2014 11:01 zmieniony
       
      Wypociłem :). Powinno zadziałać.

      5 CLR :DIM A$(7):A$="hhh LV ":A$(4,4)=CHR$(170) :A$(7,7)=CHR$(228)
      10 ST=4:MSIZ=FRE(0)-512:DIM F$(13),BUF$(MSIZ):IOCB=848:SIZ=MSIZ:? CHR$(125);"BUFFER SIZE: ";MSIZ
      15 BUFAH=INT(ADR(BUF$)/256):BUFAL=ADR(BUF$)-256*BUFAH
      20 IF ST=4 THEN ? :? "FROM:",
      25 IF ST=8 THEN ? :? "TO:",
      30 INPUT F$:ON F$="" GOTO 70:OPEN #1,ST,(F$(1,1)="C")*128,F$
      35 POKE IOCB+2,(ST=4)*7+(ST=8)*11:POKE IOCB+4,BUFAL:POKE IOCB+5,BUFAH
      40 SIZH=INT(SIZ/256):SIZL=SIZ-256*SIZH
      45 POKE IOCB+8,SIZL:POKE IOCB+9,SIZH:X=USR(ADR(A$),16):ERR=PEEK(IOCB+3)
      50 IF ERR<>1 AND ERR<>136 THEN ? "ERROR ";ERR:END
      55 CLOSE #1
      60 IF ST=4 THEN ST=8:SIZ=PEEK(IOCB+8)+256*PEEK(IOCB+9):? "READ ";SIZ;" BYTES":GOTO 20
      65 IF ST=8 THEN ST=4:SIZ=MSIZ:GOTO 20
      70 END
      • 21: CommentAuthordavero
      • CommentTime11 Jan 2014 18:01
       
      a możesz ten programik zapisać najlepiej do basica ? albo wav :P z góry dzięki
      • 22: CommentAuthorBluki
      • CommentTime11 Jan 2014 18:01
       
      Skopiuj do schowka to co w ramce i wklej do Altirry pod BASIC-em. Zatwierdź RETURN-em. Tylko zrób to w dwóch częściach, cały programik od razu się nie zmieści.
      • 23: CommentAuthordavero
      • CommentTime11 Jan 2014 20:01 zmieniony
       
      Nie wiem jak to tam wkleic, widze tylko dyskietkę ...
      Jak ktoś umie to poproszę o wav, albo inny plik

      pozdrawiam
      • 24: CommentAuthors2325
      • CommentTime11 Jan 2014 20:01 zmieniony
       
      Skopiuj do schowka, kliknij na zakładkę View i kliknij na Paste będąc w Basicu. Wklepuje się jakby ktoś usiadł na Atari.
      • 25: CommentAuthordavero
      • CommentTime11 Jan 2014 21:01 zmieniony
       
      Ok skopiowało mi , ale teraz jak to zapisać i przenieśc na atari. Pokazuje mi sie bufer size po run co mam tam wpisac :-)
      • 26: CommentAuthorpin
      • CommentTime11 Jan 2014 21:01
       
      wszystkie pliki, które chcesz skopiować na Atari zgraj sobie na coś i jak się u mnie zobaczymy do otrzymasz to w wersji zapisanej na dyskietkach ;)
      • 27: CommentAuthordavero
      • CommentTime11 Jan 2014 22:01
       
      Ok :)
      • 28: CommentAuthormrroman
      • CommentTime11 Jan 2014 23:01
       
      Tu jest na dyskietce w pliku COPY.BAS. Za chwilę podeślę też plik .cas. Wygenerowałem z Atari800.
      • 29: CommentAuthormrroman
      • CommentTime11 Jan 2014 23:01 zmieniony
       
      Jest jakiś program którym można zamienić na wav.
      • 30: CommentAuthorpin
      • CommentTime11 Jan 2014 23:01
       
      Inaczej jeszcze zapytam. Bo temat dotyczy kopiowania z kaset. Ok, rozumiem. Ale rozumiem tylko w stosunku do programów, które w dziejach historii w wyniku dziwnego splotu niesprzyjających okoliczności zaginęły. Resztę jednak można zassać z sieci i zrzucić na wspomniane dyski, bo jest z tym mniejszy problem (choć by i czasowy) w stosunku do danych zassanych z sieci i zrzuconych na real sprzęt i np. fdd. Jak to jest tak ostatecznie? ;)
      • 31: CommentAuthorpin
      • CommentTime12 Jan 2014 21:01
       
      Gierki skopiowane ;)

      QTZ - rozgrzebałem tego ATR, co go przygotowałeś i mam pytanie. Jak udało Ci się zrobić ATR na 180k z 128B/sec i na 2880 sektorów? :D Nie widziałem jeszcze hardware'u, który byłby w stanie to przetrawić bez czkawki ;)
      • 32: CommentAuthorBluki
      • CommentTime13 Jan 2014 00:01
       
      Mnie coś podobnego się zdarzyło, gdy ustawiłem niewłaściwe parametry formatowania w MyDOS-ie.
      • 33: CommentAuthorpin
      • CommentTime13 Jan 2014 01:01
       
      ale na jakim urządzeniu "wyjściowym" wykonałeś taki format?
      • 34: CommentAuthorBluki
      • CommentTime13 Jan 2014 01:01
       
      CA 2001 z TOMS TURBO DRIVE (jak dobrze pamiętam). Można np. ustawić pojemność dysku na 2MB. Realny format to będzie 180kB DD, ale VTOC będzie takie jakby były 2 MB.
      • 35: CommentAuthorQTZ
      • CommentTime13 Jan 2014 16:01
       
      Atr-a utworzyłem na emulatorze - prawdopodobnie bazując na dyskietce turbo, którą też tam podlinkowałem, ale teraz już dokładnie nie pamiętam. Działa z Atari przez SIO2PC, niestety nie mam fizycznej stacji dysków, więc nie przejmowałem się formatem... (i niestety nie wiem jakie formaty są standardowe, a jakie nie).

      Dzięki za kopier mrroman, postaram się go przetestować na Atari, ale na razie jeszcze nie mam czasu...