Autor Wątek: Nowy menedżer dyskietek Sama  (Przeczytany 134504 razy)

Antony/DTA

  • *
  • Wiadomości: 6
Odp: Nowy menedżer dyskietek Sama
« Odpowiedź #150 dnia: 2022.08.05, 14:58:42 »
Cytuj
Sam's SCREEN$ files compressed with SAVE MODE 3 are shows uncompressed. 
A few years ago I tried to figure out SAVE MODE 3 algorithm but failed. And then I forgot about it.
I will hopefully have it tomorrow for screen mode 4.
Unpack3 for ScrMode4 is in MasterBasic 1.7 at &62E9 (when paged in section B).

Sir David

  • Moderator
  • *****
  • Wiadomości: 391
  • Miejsce pobytu:
    Białystok
Odp: Nowy menedżer dyskietek Sama
« Odpowiedź #151 dnia: 2022.08.05, 21:25:23 »
Unpack3 for ScrMode4 is in MasterBasic 1.7 at &62E9 (when paged in section B).
I remember disassembling it and drawing schematics, but I can't remember why I quit.

Antony/DTA

  • *
  • Wiadomości: 6
Odp: Nowy menedżer dyskietek Sama
« Odpowiedź #152 dnia: 2022.08.05, 23:55:58 »
I already have it, I will send you the source code and description tomorrow.
If I hadn't looked at the MasterBasic disassembly, I probably wouldn't have figured out that the counter can be 3 or 7 bits.

skoti

  • *****
  • Wiadomości: 749
  • Miejsce pobytu:
    Polska
Odp: Nowy menedżer dyskietek Sama
« Odpowiedź #153 dnia: 2023.06.12, 22:07:41 »
Na wstępie Sir David - SCADM to naprawdę kawał solidnego oprogramowania.
Bawiłem się trochę obrazami dyskietek w formacie TOS. Przerzucałem sobie różne rzeczy z tap do dsk. Super.
Jest jakiś problem z eksportem do TOS 640kB. Tworzony obraz jest uszkodzony?
Otwieram w D2 obraz TOS 160kB. Przerzucam do D1 niczego nie zmieniając i eksportuję do TOS 640kB. SCADM w wersji 0.81

Sir David

  • Moderator
  • *****
  • Wiadomości: 391
  • Miejsce pobytu:
    Białystok
Odp: Nowy menedżer dyskietek Sama
« Odpowiedź #154 dnia: 2023.06.13, 08:08:35 »
Sprawdzę to. Cieszę się, że ktoś oprócz mnie mojego programu używa  :) Ja go używam praktycznie codziennie. Ostatnio bawię się w różne efekty w czasie ładowania z dyskietki (na SAM-ie). Udało mi się np. zrobić odgrywanie muzyki, co najlepsi SAM-owi koderzy uważali za niemożliwe, a teraz próbuję różnych animacji. Fajna zabawa  ;)

Przyznam, że poprawiając w ostatniej wersji kompatybilność z TOS-em nie próbowałem eksportu na dyskietkę 640k. Ostatnie próby były dawno temu, gdy tą funkcjonalność zrobiłem, więc może coś się od tego czasu popsuło przy okazji innych poprawek. Znalazłem już też dwa inne błędy, więc pewnie niedługo wypuszczę 0.82.

Tak przy okazji, nie wspominałem tutaj o wersji 0.81. Pełna lista nowości znajduje się w dołączonym z programem pliku tekstowym. Na przykład dodałem w niej jeszcze jedną funkcjonalność przy imporcie obrazków, czyli przekierowanie kolorów. Coś, o czym myślałem dawno temu, gdy zaczynałem pisać import, a potem zapomniałem. Co to daje? Taki praktyczny przykład: gdy przy konwersji przydałoby się więcej kolorów, bo jakieś istotne, ale mniej używane kolory zostały pominięte, a z automatu zostało wybranych kilka odcieni jednego koloru, można spróbować je przekierować do jednego/kilku wybranych odcieni i w ten sposób uwolnić możliwość użycia innych kolorów.

tdu

  • *****
  • Wiadomości: 926
  • Miejsce pobytu:
    Gdansk
    • Nasze Wędrowanie
Odp: Nowy menedżer dyskietek Sama
« Odpowiedź #155 dnia: 2023.06.13, 12:33:35 »
Ja również używam programu, bardzo często, głównie z TOsem,
jest nie do zastąpienia.

Z błędów to wychwyciłem takie sytuacje:

Linia REM komentarz, działa prawidłowo
ale praktycznie to w programie jak chcę wyłączyć z działania jakąś linię to piszę np. REM:PRINT AT....
i tu już wychodzi kaszana, wszystko po REM: jest popaprane.

Druga sprawa kody sterujące np Bright w listingu, w oryginale komputer ich nie wyświetla tylko
rozjaśnia listing, tutaj odwrotnie wyświetla i nie rozjaśnia.
Tworzy to bałagan i jest mylące, już lepiej żeby ich nie wyświetlało, a rozjaśniać nie musi.
(chodzi o kod uzyskiwany przez ext mode + 9)

Miałem też problem z przeniesieniem TAP do obrazu dyskietki, wychodziła jakaś lipa,
dopiero program tap2tos napisany przez Steeva, dał radę.
No ale to było już miesiąc temu i nie jestem w stanie wrócić do kontekstu w którym to wystąpiło.


ZX81/ZX 48k/Zx48k+/ZX +2/ZX +2A/+3/TC2048/FDD3000/FDD5000/3"/3,5'/5,25'/Beta 48k Apina/D+/GP50s/DIVIDE CF/Masterface/Polbasic SamCoupe QL CPC6128/N100 MSX-SVI738  MSX2-VG8235

Sir David

  • Moderator
  • *****
  • Wiadomości: 391
  • Miejsce pobytu:
    Białystok
Odp: Nowy menedżer dyskietek Sama
« Odpowiedź #156 dnia: 2023.06.13, 15:30:33 »
Linia REM komentarz, działa prawidłowo
ale praktycznie to w programie jak chcę wyłączyć z działania jakąś linię to piszę np. REM:PRINT AT....
i tu już wychodzi kaszana, wszystko po REM: jest popaprane.
Niestety, żeby zrobić to tak jak na Spectrum, musiałbym bardzo mocno kombinować i zupełnie inaczej napisać edytor. Prawie jak emulator Spectrum. Według mnie nie warte zachodu. Dlaczego to nie jest proste? Na przykład, jeżeli wyświetlając program zdekoduję rozkazy po REM na tekst, to potem jak je traktować przy zapisie? Z powrotem przerobić na rozkazy? A może tu był tekst pisany po literce? Skąd w momencie zapisu program ma to wiedzieć? Jeszcze gorzej z kodem maszynowym w linii REM. Jakakolwiek zmiana choć jednego bajtu sprawi, że program przestanie działać. Dlatego wymyśliłem sposób przechowywania wszystkich kodów dla znaków spoza ASCII w postaci krzaków z myślą, żeby tego przy edycji nie ruszać, a wtedy zapisze się tak jak było w oryginale. To samo dotyczy następnej sytuacji:
Cytuj
Druga sprawa kody sterujące np Bright w listingu, w oryginale komputer ich nie wyświetla tylko rozjaśnia listing, tutaj odwrotnie wyświetla i nie rozjaśnia.
Tworzy to bałagan i jest mylące, już lepiej żeby ich nie wyświetlało, a rozjaśniać nie musi. (chodzi o kod uzyskiwany przez ext mode + 9)
Niestety nie mogę zmieniać kolorów w edytorze. Nie mogę też kodów sterujących kolorem nie pokazywać, bo jak pominę, to po zapisie już ich nie będzie. A tak przynajmniej widać, że coś tu jest.
Wpadłem na pomysł pewnego rozwiązania - opcja w menu do wyczyszczenia z listingu wszelkich kodów - krzaków, tak tylko dla oka, dla poprawy widoczności właściwego kodu. Z ostrzeżeniem, że zapisanie takiego pliku sprawi usunięcie ważnych informacji.
Cytuj
Miałem też problem z przeniesieniem TAP do obrazu dyskietki, wychodziła jakaś lipa,
dopiero program tap2tos napisany przez Steeva, dał radę.
No ale to było już miesiąc temu i nie jestem w stanie wrócić do kontekstu w którym to wystąpiło.
No to szkoda, że nie pamiętasz szczegółów. Ciekaw jestem na czym polegała ta lipa.

Sir David

  • Moderator
  • *****
  • Wiadomości: 391
  • Miejsce pobytu:
    Białystok
Odp: Nowy menedżer dyskietek Sama
« Odpowiedź #157 dnia: 2023.06.13, 15:39:45 »
Jest jakiś problem z eksportem do TOS 640kB. Tworzony obraz jest uszkodzony?
Jeszcze nie sprawdziłem, ale może obraz jest dobry, a SCADM otwierając źle rozpoznaje typ takiej dyskietki (tutaj grzebałem i tak może być) i dlatego pisze, że jest uszkodzona? Przydałoby się sprawdzić, czy taka dyskietka działa np. pod emulatorem.

skoti

  • *****
  • Wiadomości: 749
  • Miejsce pobytu:
    Polska
Odp: Nowy menedżer dyskietek Sama
« Odpowiedź #158 dnia: 2023.06.13, 16:05:34 »
Fuse rzuca błędem Failed to open disk image: Cannot open disk image.

W SCADM w oknie D1 jest to co poszło do eksportu a w D2 wyeksportowany obraz 640kB. Brakuje plików.

Sir David

  • Moderator
  • *****
  • Wiadomości: 391
  • Miejsce pobytu:
    Białystok
Odp: Nowy menedżer dyskietek Sama
« Odpowiedź #159 dnia: 2023.06.14, 13:02:37 »
Fuse rzuca błędem Failed to open disk image: Cannot open disk image.

W SCADM w oknie D1 jest to co poszło do eksportu a w D2 wyeksportowany obraz 640kB. Brakuje plików.

Zlokalizowałem błąd. W wyeksportowanym obrazie dyskietki 640k było w nagłówku 40 ścieżek i 1 strona, tak jak dla dyskietki 160k. Błąd musiał być od początku, bo korzystałem z błędnego obrazu pustej dyskietki, który nie pamiętam skąd miałem (to było 9 lat temu). Wcześniej tego nie zauważyłem, bo do niedawna miałem inny sposób detekcji typu dyskietki - po długości pliku. Dlatego SCADM takie wyeksportowane dyskietki odczytywał dobrze, a w emulatorze nie sprawdzałem. Teraz nie patrzy na długość, a odczytuje parametry i traktuje dyskietkę 640k jako 160k. Poprawiłem. Dzięki za zwrócenie uwagi!
Zanim puszczę nową wersję, są dwa rozwiązania. Obraz 640k w formacie .img jest prawidłowy, bo tam nie ma żadnych parametrów, a czyste dane. A w obrazie .dsk można czymś poprawić 2 bajty: bajt 48 (licząc bajty od 0) zmienić z 40 na 80, a bajt 49 z 1 na 2 i dyskietka zacznie działać.

skoti

  • *****
  • Wiadomości: 749
  • Miejsce pobytu:
    Polska
Odp: Nowy menedżer dyskietek Sama
« Odpowiedź #160 dnia: 2023.06.17, 18:27:06 »
Grzecznie czekam na nową wersję. Dzięki

Sir David

  • Moderator
  • *****
  • Wiadomości: 391
  • Miejsce pobytu:
    Białystok
Odp: Nowy menedżer dyskietek Sama
« Odpowiedź #161 dnia: 2023.08.01, 10:03:05 »
Wrzuciłem nową wersję SCADM. Nie ma w niej nowych funkcjonalności, ale poprawiłem kilka błędów, w tym eksport dyskietki TOS 640kB.

tdu

  • *****
  • Wiadomości: 926
  • Miejsce pobytu:
    Gdansk
    • Nasze Wędrowanie
Odp: Nowy menedżer dyskietek Sama
« Odpowiedź #162 dnia: 2023.08.01, 11:33:38 »
Jak można znaleźć program scadm w archiwum, w jakim dziale on jest?
ZX81/ZX 48k/Zx48k+/ZX +2/ZX +2A/+3/TC2048/FDD3000/FDD5000/3"/3,5'/5,25'/Beta 48k Apina/D+/GP50s/DIVIDE CF/Masterface/Polbasic SamCoupe QL CPC6128/N100 MSX-SVI738  MSX2-VG8235

matofesi

  • *****
  • Wiadomości: 2048
  • Miejsce pobytu:
    Toruń/Poland
Odp: Nowy menedżer dyskietek Sama
« Odpowiedź #163 dnia: 2023.08.01, 11:40:30 »
Jak można znaleźć program scadm w archiwum, w jakim dziale on jest?

A zajrzałeś do pierwszego postu w tym wątku? Tego w którym Sir David informował, że jest program i podawał linka gdzie go wrzucił? ;)

tdu

  • *****
  • Wiadomości: 926
  • Miejsce pobytu:
    Gdansk
    • Nasze Wędrowanie
Odp: Nowy menedżer dyskietek Sama
« Odpowiedź #164 dnia: 2023.08.01, 15:20:26 »
W archiwum mógłby być dział np. Programy na PC,
A tak trzeba kombinować.
Wyszukiwania też nie ma.
ZX81/ZX 48k/Zx48k+/ZX +2/ZX +2A/+3/TC2048/FDD3000/FDD5000/3"/3,5'/5,25'/Beta 48k Apina/D+/GP50s/DIVIDE CF/Masterface/Polbasic SamCoupe QL CPC6128/N100 MSX-SVI738  MSX2-VG8235