Autor Wątek: Menedżer plików dla obrazów dyskietek FDD3000 pod CP/M  (Przeczytany 4732 razy)

dely

  • ***
  • Wiadomości: 164
  • Miejsce pobytu:
    Radom
  • Trzcinowy Zakapior
    • atari.area
Wszedłem w posiadanie emulatora flopa od Zaxona do FDD3000. Emulator działa, obrazy się ładują, wszystko jest elegancko. W związku z tym, chciałbym mieć łatwą możliwość edycji obrazów DSK sformatowanych pod CP/M. Korzystam z obrazów dostępnych m.in. na babel.no-ip.pl:

terminal: /FDD3000 dsk/Radosław/03 Stacja FDD 3000 z 2 napędami w BOX/Dysk 1A MONITOR EMULATOR for TIMEX COMPUTER V P1.1.dsk
system: /FDD3000 dsk/Radosław/03 Stacja FDD 3000 z 2 napędami w BOX/Dysk 1B CP_M V2.2.dsk

...oraz z softu Steinblume, ale nie mogę nic skutecznie dodać, ani usunąć z tego obrazu. Tzn. mogę wylistować zawartość, dodawać i usuwać, niestety po jakiejkolwiek operacji obraz zostaje uszkodzony i są z nim problemy już na realnym komputerze.

W związku z tym mam pytanie: czego Wy używacie.

PS. Poprosiłbym również o namiar na oprogramowanie ze screenu w tym poście: https://www.speccy.pl/forum/index.php?topic=5684.msg86280#msg86280 (DSK Browser).
Z drugiej strony barykady ~ http://www.atari.org.pl/

tarhim

  • *
  • Wiadomości: 40
  • Miejsce pobytu:
    Bydgoszcz
Odp: Menedżer plików dla obrazów dyskietek FDD3000 pod CP/M
« Odpowiedź #1 dnia: 2024.06.11, 19:09:27 »

Ja od siebie dodam że cpmtools pod Linuksem działają tak, że tylko usuwanie plików jest trwałe. Dograć do obrazu można, ale CP/M ich nie widzi.

Z qtransem nie potrafię się dogadać, mam jeszcze javowy cpmdsktool.jar nie pamiętam już skąd, któremu nie potrafię ustawić parametrów tak żeby we wczytanym obrazie nie było śmieci.

tarhim

  • *
  • Wiadomości: 40
  • Miejsce pobytu:
    Bydgoszcz
Odp: Menedżer plików dla obrazów dyskietek FDD3000 pod CP/M
« Odpowiedź #2 dnia: 2024.06.12, 09:59:04 »
Znalazłem zakładkę od tego narzędzia w Javie:

https://forum.vcfed.org/index.php?threads/cp-m-dsk-tool.46217/

Nie wiem co wstawić przy opisie formatu w "skew".

steev

  • *****
  • Wiadomości: 1398
  • Miejsce pobytu:
    inode 42
Odp: Menedżer plików dla obrazów dyskietek FDD3000 pod CP/M
« Odpowiedź #3 dnia: 2024.06.12, 12:06:40 »
Dla CP/M :
# Timex FDD3000 3"
diskdef fdd3000_2
  seclen 256
  tracks 40
  sectrk 16
  blocksize 1024
  maxdir 128
  boottrk 2
  os 2.2
  skew 5
end

(dla TOS - 7)
Machines should work. People should think.

dely

  • ***
  • Wiadomości: 164
  • Miejsce pobytu:
    Radom
  • Trzcinowy Zakapior
    • atari.area
Odp: Menedżer plików dla obrazów dyskietek FDD3000 pod CP/M
« Odpowiedź #4 dnia: 2024.06.12, 12:19:24 »
Ja już próbowałem chyba wszystkich kombinacji, widzę że steev podał to, co jest w definicjach od CP/M Tools, niestety to nie działa :) Może te obrazy CP/M są jakieś niestandardowe? Na wszelki wypadek załączę ten, o który chodzi.

Program, który zamieścił tarhim ma takie opcje podczas otwierania pliku z obrazek .dsk, co wybrać żeby było dobrze:



Ustawienie parametrów, które podał steev (i innych też) nie powoduje poprawnego wyświetlenia katalogu.

Z drugiej strony barykady ~ http://www.atari.org.pl/

damik

  • Fresh rosin sniffer ;)
  • *****
  • Wiadomości: 2518
  • Miejsce pobytu:
    Generalnie Polska, głównie Bytom czasem Bielsko-Biała oraz okolice
  • ZX'owy i nie tylko...
Odp: Menedżer plików dla obrazów dyskietek FDD3000 pod CP/M
« Odpowiedź #5 dnia: 2024.06.12, 12:28:32 »
A może w tej konfiguracji z obrazka jest źle ustawiony przeplot sektorów (Sector Soft Skew) ?
To by mogło tłumaczyć śmieci w liście dodanych plików.
Tylko nie wiem jak ma to być poprawnie a kombinacji jest wiele... ;)


Wszystkiego po trochu: Schwarz, mydło i powidło... konsole, stare i nieco nowsze komputery oraz akcesoria i duperele.

steev

  • *****
  • Wiadomości: 1398
  • Miejsce pobytu:
    inode 42
Odp: Menedżer plików dla obrazów dyskietek FDD3000 pod CP/M
« Odpowiedź #6 dnia: 2024.06.12, 17:36:19 »
dyskietka z FDD ma 16 sektorów (0 do 15) po 256B na 40 ścieżkach. TOS zajmuje 4 pierwsze ścieżki, CP/M dwie.
Przeplot dla CP/M to 5, czyli sektory są zapisywane w serii 0,5,10,15,4,9,14,3,8,13,2,7,12,1,6,11
Przeplot dla TOS to 7, czyli seria wygląda tak 0,7,14,5,12,3,10,1,8,15,6,13,4,11,2,9
Machines should work. People should think.

dely

  • ***
  • Wiadomości: 164
  • Miejsce pobytu:
    Radom
  • Trzcinowy Zakapior
    • atari.area
Odp: Menedżer plików dla obrazów dyskietek FDD3000 pod CP/M
« Odpowiedź #7 dnia: 2024.06.12, 18:22:44 »
Dziękuję steev.

Otóż okazało się, że żeby CPM DSK Tool poprawnie otwierał obraz należy go wyczyścić z nagłówka (pierwsze 256 bajtów), a następnie 256 bajtów danych o ścieżce, pobrać 4 KB danych, pominąć 256 bajtów danych o ścieżce itp.

Napisałem sobie do tego skrypt w Pythonie, zamieszczam - może się komuś przyda:

import os
import sys

def process_file(filename):

    with open(filename, 'rb') as f:
        data = f.read()
   
    # destination data
    new_data = bytearray()
   
    # 256 bytes of header, 256 bytes of trackinfo
    i = 256 + 256
    while i < len(data):
        # Add 4 KB of data
        new_data.extend(data[i:i+4096])
        # Move index
        i += 4096
        # Skip 256 bytes of trackinfo
        i += 256
   
    # Save destination data
    new_filename = filename + ".strip"
    with open(new_filename, 'wb') as f:
        f.write(new_data)

if __name__ == "__main__":
    if len(sys.argv) != 2:
        print("Usage: python skip_trackdata.py <filename>")
    else:
        process_file(sys.argv[1])

Po obcięciu wspomnianych danych można załadować bez problemów obraz do CP/M Disk Toola z takimi parametrami:



Efekt:

Z drugiej strony barykady ~ http://www.atari.org.pl/

steev

  • *****
  • Wiadomości: 1398
  • Miejsce pobytu:
    inode 42
Odp: Menedżer plików dla obrazów dyskietek FDD3000 pod CP/M
« Odpowiedź #8 dnia: 2024.06.12, 18:48:41 »
Dziękuję steev.
Otóż okazało się, że żeby CPM DSK Tool poprawnie otwierał obraz należy go wyczyścić z nagłówka (pierwsze 256 bajtów), a następnie 256 bajtów danych o ścieżce, pobrać 4 KB danych, pominąć 256 bajtów danych o ścieżce itp.
Tja, pewnie rozpoznaje tylko pierwszy format DSK (MV - CPC), a drugi (EXTENDED) traktuje jako zrzut zawartości dyskietki...
Machines should work. People should think.

tarhim

  • *
  • Wiadomości: 40
  • Miejsce pobytu:
    Bydgoszcz
Odp: Menedżer plików dla obrazów dyskietek FDD3000 pod CP/M
« Odpowiedź #9 dnia: 2024.07.05, 11:09:22 »

Czy mogę prosić o pomoc?

Po potraktowaniu obrazów skryptem kolegi dely rzeczywiście ładują się one bezproblemowo do cpmdisktoola. Jednak po przeniesieniu na goteka CP/M ich nie widzi poprawnie, tylko wywala się z bdos err bad sector. Czy robię coś źle?

tarhim

  • *
  • Wiadomości: 40
  • Miejsce pobytu:
    Bydgoszcz
Odp: Menedżer plików dla obrazów dyskietek FDD3000 pod CP/M
« Odpowiedź #10 dnia: 2024.07.25, 23:36:00 »

Jak na razie mam zero problemów w kopiowaniu plików z CP/M na peceta - dwie ścieżki: cpmtools albo  skrypt kolegi dely i CP/M disk tool.

Zdecydowanie gorzej jest w drugą stronę, to znaczy wcale. W przypadku cpmtools wkopiowanych w obraz plików nie widać od strony CP/M, a w przypadku potraktowanych skryptem obrazów CP/M się kompletnie poddaje (BDOS Err on A: Bad Sector).

Coś tu ewidentnie nie gra, ale gdzie popełniam błąd?

skoti

  • *****
  • Wiadomości: 775
  • Miejsce pobytu:
    Polska
Odp: Menedżer plików dla obrazów dyskietek FDD3000 pod CP/M
« Odpowiedź #11 dnia: 2024.07.28, 18:21:24 »
Tu masz program do edycji obrazów wraz z przygotowaną definicją formatu dyskietki.
W środku jest też przykładowy obraz. W obrazie jest zork. Po nagraniu na dyskietkę wczytał się poprawnie.


tarhim

  • *
  • Wiadomości: 40
  • Miejsce pobytu:
    Bydgoszcz
Odp: Menedżer plików dla obrazów dyskietek FDD3000 pod CP/M
« Odpowiedź #12 dnia: 2024.07.29, 09:46:25 »
Wielkie dzięki @skoti.

Niemniej jednak efekt jest podobny jak dla cmdline cpmtools: jeśli manipuluję istniejącym obrazem, FDD nie widzi dogranych plików (skasowane znikają). Obraz z zorkiem się natomiast nie otwiera (BDOS Err).

Zaczynam myśleć, że to raczej problem softu goteka niż softu do obrazów.
Zobaczę co będzie na drugim goteku jak już wpadnie mi w ręce.

skoti

  • *****
  • Wiadomości: 775
  • Miejsce pobytu:
    Polska
Odp: Menedżer plików dla obrazów dyskietek FDD3000 pod CP/M
« Odpowiedź #13 dnia: 2024.07.30, 16:45:27 »
Aby flashfloppy w goteku poprawnie obsłużyło surowe obrazy dyskietek trzeba mu podać ich definicję.
Robi się to w pliku IMG.CFG, który dodatkowo zawiera definicję tagów po których rozpoznaje do których plików IMG przypisać którą konfigurację.
W załączonym przykładzie pliki muszą nazywać się wg schematu dowolna_nazwa.cpm.img i mieć rozmiar 163840.
Plik IMG.CFG wrzucamy do katalogu FF na pendrive. Przetestowane na szybko wygląda, że działa OK.
Poniżej zawartość pliku IMG.CFG

[cpm::163840]
cyls = 40
heads = 1
secs = 16
bps = 256
id = 0
rate = 250
« Ostatnia zmiana: 2024.07.30, 17:09:22 wysłana przez skoti »

tarhim

  • *
  • Wiadomości: 40
  • Miejsce pobytu:
    Bydgoszcz
Odp: Menedżer plików dla obrazów dyskietek FDD3000 pod CP/M
« Odpowiedź #14 dnia: 2024.07.30, 17:47:41 »

Potwierdzam, działa. Mam ścieżkę do przerzucania plików w drugą stronę.

Dzięki, skoti!