Autor Wątek: Hmm, jak zapisać program?  (Przeczytany 5217 razy)

sikor

  • ***
  • Wiadomości: 139
  • Miejsce pobytu:
    Warszawa
Hmm, jak zapisać program?
« dnia: 2012.01.15, 11:52:06 »
Na emulatorze "Eighty One". Ściągnąłem testowo, udało się utworzyć TZX (zapis taśmy - NEW, a potem zapis), jednak przy zapisie taśmy - nie działa zapis zawartości. Oczywście snapshot działa.
Przypuszczam, że trzeba użyć SAVE z Basica. Ale jaki format komendy?
Przepraszam za zamieszanie, ale ZX81 to dla mnie nowa zabawa, niestety - póki co na emulatorze...
Pozdrawiam i z góry dzięki za odpowiedzi i pomoc ;)
Sikor

matofesi

  • *****
  • Wiadomości: 1966
  • Miejsce pobytu:
    Toruń/Poland
Odp: Hmm, jak zapisać program?
« Odpowiedź #1 dnia: 2012.01.15, 13:33:21 »
Jak pamiętam ZXa sprzed jakichś 25 lat (moja jedyna styczność fizyczna) zapis robiło się tak jak na Spectrum - SAVE "NAZWA".

sikor

  • ***
  • Wiadomości: 139
  • Miejsce pobytu:
    Warszawa
Odp: Hmm, jak zapisać program?
« Odpowiedź #2 dnia: 2012.01.15, 21:46:39 »
Niestety, ten sposób nie działa. Też się doczytałem, że ten sposób - ale tu nie poszło :(

matofesi

  • *****
  • Wiadomości: 1966
  • Miejsce pobytu:
    Toruń/Poland
Odp: Hmm, jak zapisać program?
« Odpowiedź #3 dnia: 2012.01.15, 22:36:33 »
No dobra... Ściągnąłem EightyOne... Odpalam, wpisuję kawałek programu. Ustawiam w opcjach Destination na TZX Manager, z BASICa robię SAVE "TEST" i daję enter. Emulator odpala zapis i dostaję 0/0 a w managerze TZXów pojawia się pozycja "Program: TEST". Robię restart emulatora, wybieram tę pozycję, wpisuję LOAD "" i daję enter - odpala się ładowanie i po chwili mój programik jest w pamięci i działa. Na koniec klikam na dyskietkę w managerze, podaję nazwę pliku i zapisuję mojego TZXa. Zamykam emulator, otwieram na nowo, otwieram manager TZXów, klikam na ikonkę otwierania, wybieram mojego TZXa, emulator sam robi LOAD "", ładuje, mam 0/0 i program w pamięci...

To co ci nie działa? ;)


sikor

  • ***
  • Wiadomości: 139
  • Miejsce pobytu:
    Warszawa
Odp: Hmm, jak zapisać program?
« Odpowiedź #4 dnia: 2012.01.16, 09:07:10 »
No dobra... Ściągnąłem EightyOne... Odpalam, wpisuję kawałek programu. Ustawiam w opcjach Destination na TZX Manager, z BASICa robię SAVE "TEST" i daję enter.
Tak mam ustawione, do tego momentu działa to tak samo... Nie pyta o nazwę taśmy, co ciekawe...
Emulator odpala zapis i dostaję 0/0 a w managerze TZXów pojawia się pozycja "Program: TEST".
To udało mi się wymusić ręcznie (nazwa)
Robię restart emulatora, wybieram tę pozycję, wpisuję LOAD "" i daję enter - odpala się ładowanie i po chwili mój programik jest w pamięci i działa. Na koniec klikam na dyskietkę w managerze, podaję nazwę pliku i zapisuję mojego TZXa. Zamykam emulator, otwieram na nowo, otwieram manager TZXów, klikam na ikonkę otwierania, wybieram mojego TZXa, emulator sam robi LOAD "", ładuje, mam 0/0 i program w pamięci...
A u mnie efekt jak na załączonym obrazku

To co ci nie działa? ;)
Jak widać na załączonym przykładzie - nie działa poprawnie zapis. Być może jakiś błąd w konfiguracji emulatora, być może nie lubi się z Vistą. Co ciekawe, zapis stanu emulatora działa o.k.

matofesi

  • *****
  • Wiadomości: 1966
  • Miejsce pobytu:
    Toruń/Poland
Odp: Hmm, jak zapisać program?
« Odpowiedź #5 dnia: 2012.01.16, 09:39:20 »
No dobra... Ściągnąłem EightyOne... Odpalam, wpisuję kawałek programu. Ustawiam w opcjach Destination na TZX Manager, z BASICa robię SAVE "TEST" i daję enter.
Tak mam ustawione, do tego momentu działa to tak samo... Nie pyta o nazwę taśmy, co ciekawe...

Nie pyta, bo ma zdaje się coś domyślnie. A pyta jak klikniesz w managerze na zapis - wtedy zrzuca do podanego pliku.

Emulator odpala zapis i dostaję 0/0 a w managerze TZXów pojawia się pozycja "Program: TEST".
To udało mi się wymusić ręcznie (nazwa)

Ale co wymusić? "TEST" to nazwa pliku programu zapisanego z emulatora - jakbym dał SAVE "COS" to pojawiłoby się "Program: COS".

Robię restart emulatora, wybieram tę pozycję, wpisuję LOAD "" i daję enter - odpala się ładowanie i po chwili mój programik jest w pamięci i działa. Na koniec klikam na dyskietkę w managerze, podaję nazwę pliku i zapisuję mojego TZXa. Zamykam emulator, otwieram na nowo, otwieram manager TZXów, klikam na ikonkę otwierania, wybieram mojego TZXa, emulator sam robi LOAD "", ładuje, mam 0/0 i program w pamięci...
A u mnie efekt jak na załączonym obrazku

No na załączonym obrazku masz zrzut działającej procedury ładowania danych - emulator próbuje coś wczytać. Pytanie czy przed LOAD "" kliknąłeś na zapisany blok danych? Manager TZX działa jak magnetofon - kliknięcie na konkretnym zapisie na liście przewija taśmę do tego miejsca. I zdaje się nie ma automatycznego przewijania do początku jeśli więc zapisałeś plik na wirtualnej taśmie, to jest ona ustawiona na jej końcu i po LOAD "" widzisz to co widzisz, bo tak właśnie wygląda ZX81 przy oczekiwaniu na dane z taśmy.

To co ci nie działa? ;)
Jak widać na załączonym przykładzie - nie działa poprawnie zapis. Być może jakiś błąd w konfiguracji emulatora, być może nie lubi się z Vistą. Co ciekawe, zapis stanu emulatora działa o.k.

Jakoś nie czuję, żeby emulator, który działa u mnie - pod Wine pod Linuksem - miał mieć problemy na prawdziwym Windowsie. Zwłaszcza, że wg opisu na stronie autora program pisany był na XP...

Co do konfiguracji - to, co opisałem zrobiłem na domyślnej konfiguracji po rozpakowaniu emulatora. Przestawiłem tylko w wyświetlaniu na 200%, żebym był w stanie coś tam zobaczyć.

m.


sikor

  • ***
  • Wiadomości: 139
  • Miejsce pobytu:
    Warszawa
Odp: Hmm, jak zapisać program?
« Odpowiedź #6 dnia: 2012.01.16, 12:49:29 »
No na załączonym obrazku masz zrzut działającej procedury ładowania danych - emulator próbuje coś wczytać. Pytanie czy przed LOAD "" kliknąłeś na zapisany blok danych? Manager TZX działa jak magnetofon - kliknięcie na konkretnym zapisie na liście przewija taśmę do tego miejsca. I zdaje się nie ma automatycznego przewijania do początku jeśli więc zapisałeś plik na wirtualnej taśmie, to jest ona ustawiona na jej końcu i po LOAD "" widzisz to co widzisz, bo tak właśnie wygląda ZX81 przy oczekiwaniu na dane z taśmy.
Jakoś nie czuję, żeby emulator, który działa u mnie - pod Wine pod Linuksem - miał mieć problemy na prawdziwym Windowsie. Zwłaszcza, że wg opisu na stronie autora program pisany był na XP...
Co do konfiguracji - to, co opisałem zrobiłem na domyślnej konfiguracji po rozpakowaniu emulatora. Przestawiłem tylko w wyświetlaniu na 200%, żebym był w stanie coś tam zobaczyć.

m.
Wielkie dzięki, właśnie tej informacji mi brakowało, jak się okazało - konieczność przewinięcia taśmy. Przepraszam za upierdliwość, ale ZX81 dopiero poznaję.
Co do widoku - też mam na 200% ;)
pozdrawiam,
Sikor

YERZMYEY/HOOY-PROGRAM

  • *****
  • Wiadomości: 1187
  • Miejsce pobytu:
    Rubber Planet
  • AY RIDERS
    • ZX Spectrum demos/games
Odp: Hmm, jak zapisać program?
« Odpowiedź #7 dnia: 2012.01.16, 12:55:33 »
Ciekawe.

Ja mam tak:


- Piszę program. Oczywiście jest to klasyczne
1 PRINT "HUJ"
2 GOTO 1

- daje SAVE "HUJ"

- w managerze plików (dodatkowe okienko po prawej) pojawia się
Program: "HUJ" i wielkośc bloku.

- naciskam ikonkę Save Tape File - i zapisuję TZXa.

- sprawdzam potem - i działa normalnie.


Tip: żeby na ZX81 program zastartował sam, komenda >> SAVE "HUJ" << musi być umieszczona na końcu kodu, jako jedna z ostatnich linii, w osobnej pętli BASICa, a po niej powinno być RUN albo GOTO 1. Wtedy samiast "SAVE" dajesz GOTO linia z tą komendą, program save'uje siebie, a potem idzie do początku i podejmuje działanie.
Gdy następnym razem go wgrasz - ruszy automatycznie.
Poza tym, jeśli piszesz program na 1K, to staraj się możliwie jak najdłużej pisać na komputerze (lub konfiguracji emulatora) z 1K ramu, bowiem ZX81 zrzuca także obraz i program napisany na 16K nie pójdzie na 1K, nawet jeśli będzie miał tylko parę linii.

sikor

  • ***
  • Wiadomości: 139
  • Miejsce pobytu:
    Warszawa
Odp: Hmm, jak zapisać program?
« Odpowiedź #8 dnia: 2012.01.16, 13:00:38 »
@Yerz, podobny program pisałem na próbę ;P Tylko zamiast HUJ miałem Yerz... Znaczy się ATARI I ZX81 ;P
To o 1KB to cenna informacja, może się przydać kiedyś ;P Thx.