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 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 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 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
     
    Magnetofon od C64 domyka się mimo wychodzącego kabla.
    • 5: CommentAuthorQTZ
    • CommentTime6 Jan 2014 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
     
    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 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 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
     
    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 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
     
    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
     
    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 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
     
    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
     
    Twoja procedura rozwaliła ramkę i poszła dalej ;)
    • 16: CommentAuthordavero
    • CommentTime6 Jan 2014
     
    Będę w piątek miał na to czas potestuje :), ale watek robi się coraz ciekawszy :-)
    • 17: CommentAuthorQTZ
    • CommentTime6 Jan 2014 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
     
    ok w piątek będe walczył dzięki za pomoc :)
    • 19: CommentAuthormrroman
    • CommentTime7 Jan 2014
     
    @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 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
     
    a możesz ten programik zapisać najlepiej do basica ? albo wav :P z góry dzięki
    • 22: CommentAuthorBluki
    • CommentTime11 Jan 2014
     
    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 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 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 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
     
    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
     
    Ok :)
    • 28: CommentAuthormrroman
    • CommentTime11 Jan 2014
     
    Tu jest na dyskietce w pliku COPY.BAS. Za chwilę podeślę też plik .cas. Wygenerowałem z Atari800.
    • 29: CommentAuthormrroman
    • CommentTime11 Jan 2014 zmieniony
     
    Jest jakiś program którym można zamienić na wav.
    • 30: CommentAuthorpin
    • CommentTime11 Jan 2014
     
    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
     
    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
     
    Mnie coś podobnego się zdarzyło, gdy ustawiłem niewłaściwe parametry formatowania w MyDOS-ie.
    • 33: CommentAuthorpin
    • CommentTime13 Jan 2014
     
    ale na jakim urządzeniu "wyjściowym" wykonałeś taki format?
    • 34: CommentAuthorBluki
    • CommentTime13 Jan 2014
     
    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
     
    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...