Autor Wątek: konwersja TRD, SCL  (Przeczytany 16386 razy)

Szuwarek

  • **
  • Wiadomości: 80
  • Miejsce pobytu:
    Rabka-Zdrój
    • http://xxl.atari.pl/
konwersja TRD, SCL
« dnia: 2013.09.24, 15:52:41 »
potrzebuje metody na konwersje .TRD i .SCL na .TAP lub .SNA

przykladowe pliki: http://shiru.untergrund.net/1bit/pivot/entry.php?id=202#body


matofesi

  • *****
  • Wiadomości: 2049
  • Miejsce pobytu:
    Toruń/Poland
Odp: konwersja TRD, SCL
« Odpowiedź #1 dnia: 2013.09.24, 16:05:50 »
TRD i SCL to obrazy dyskietek dla TR-DOSa - mogą mieć (i często mają) pokręcone loadery, zabezpieczenia itp. W prostych przypadkach dałoby się to skonwertować na TAPa (który jest sekwencyjnym obrazem taśmy), w bardziej skomplikowanych da się to zrobić wyłącznie ręcznie a w tych najbardziej skomplikowanych (nieliniowe gry z doładowywaniem danych) nie da się wcale.

Jak znam życie na wschodzie mają jakieś konwertery do tych prostszych przypadków, ale na jakieś wypasione automaty, które przerobią ci wszystko raczej bym nie liczył, zwłaszcza, że ostatnio - od kiedy esxDOS dorobił się emulacji TR-DOSa - konwersja w dużej części przestała być potrzebna.

Tygrys

  • Administrator
  • *****
  • Wiadomości: 4540
  • Miejsce pobytu:
    Warszawa
  • mistrz ceremonii
Odp: konwersja TRD, SCL
« Odpowiedź #2 dnia: 2013.09.24, 17:12:15 »
'konwersja' do SNA jest prosta -- odpalasz pod emulatorem i robisz snapshot.

Dobrym programem do konwersji danych jest ZX Blockeditor  http://www.zxmodules.de/zxblockeditor/zxblockeditorframe.html
Na początku ilość opcji przytłacza, jednak po chwili treningu daje się nim dużo zrobić.

RafalM

  • *****
  • Wiadomości: 1133
  • Miejsce pobytu:
    Sulejówek
Odp: konwersja TRD, SCL
« Odpowiedź #3 dnia: 2013.09.24, 19:53:33 »
Jako rzekli koledzy - obrazu dyskietki na obraz taśmy nie da się automatycznie przenieść.

Zrobić wierny obraz, blok po bloku  niby można ale wtedy wszystko przestanie chodzić bo kod programu jest przystosowany do pracy z dyskiem. Równie dobrze możesz zmienić rozszerzenie pliku ;)

Mam niemniej jakieś tam narzędzie, które coś tam robi, zobacz na ile ci się przyda

Szuwarek

  • **
  • Wiadomości: 80
  • Miejsce pobytu:
    Rabka-Zdrój
    • http://xxl.atari.pl/
Odp: konwersja TRD, SCL
« Odpowiedź #4 dnia: 2013.09.27, 13:37:46 »
dzieki. probowalem. :/


nie poradzilem sobie. moze inaczej, jak uruchomic przykladowy program zapisany w formacie trd/scl na emulatorze (lopatologicznie).

:-)

trojacek

  • *****
  • Wiadomości: 6846
  • Miejsce pobytu:
    Warszawa
Odp: konwersja TRD, SCL
« Odpowiedź #5 dnia: 2013.09.27, 13:56:44 »
Jak masz problem z konkretnym TRD, to go po prostu załącz - zrobię Ci z niego snapshota (SNA).

Szuwarek

  • **
  • Wiadomości: 80
  • Miejsce pobytu:
    Rabka-Zdrój
    • http://xxl.atari.pl/
Odp: konwersja TRD, SCL
« Odpowiedź #6 dnia: 2013.09.27, 14:01:40 »
w pierwszym poscie jest link... tak jest sporo tych trd :/ dlatego chcialem sam sobie jakos z tym radzic.

Tygrys

  • Administrator
  • *****
  • Wiadomości: 4540
  • Miejsce pobytu:
    Warszawa
  • mistrz ceremonii
Odp: konwersja TRD, SCL
« Odpowiedź #7 dnia: 2013.09.27, 14:20:22 »
Na przykładzie ZX Spin:
- Wybierasz komputer Pentagon 128
- File -> Insert Disks -> unit0 - wybierasz obraz dysku, naciskasz OK
- w menu emulowanego komputera wybierasz TR-DOS
- klawisz K - pokazuje sie polecenie LIST, następnie ENTER
- LOAD "cototam chcesz"

RafalM

  • *****
  • Wiadomości: 1133
  • Miejsce pobytu:
    Sulejówek
Odp: konwersja TRD, SCL
« Odpowiedź #8 dnia: 2013.09.27, 16:35:45 »
Cytuj
Moze inaczej, jak uruchomic przykladowy program zapisany w formacie trd/scl na emulatorze (lopatologicznie).

Łapiesz plik i przeciągasz go na emulator?  Albo wybierasz w emulatorze "Open" i wskazujesz plik?  ;)

Powinno działać na sensownych emulatorach w 90% przypadków (jak nie, to sprawdź czy masz zaznaczone "autoboot disks" czy coś takiego)

W pozostałych istotnie musisz zrobić LIST i potem LOAD "nazwa" albo RUN "nazwa". Szukasz plików które są oznaczone jako nazwa <B> - są to pliki wykonywalne, odpowiednik .exe

Szuwarek

  • **
  • Wiadomości: 80
  • Miejsce pobytu:
    Rabka-Zdrój
    • http://xxl.atari.pl/
Odp: konwersja TRD, SCL
« Odpowiedź #9 dnia: 2013.09.28, 16:10:34 »
Swietnie! pomoglo.

wielkie dzieki

Abrimaal

  • *****
  • Wiadomości: 965
  • Miejsce pobytu:
    Lemmingrad
  • Zamulator
    • Games for ULA plus
Odp: konwersja TRD, SCL
« Odpowiedź #10 dnia: 2014.01.10, 20:56:37 »
Czy da sie bez utraty danych przejść z TR-DOS do Basic?
Gdzie znaleźć listę instrukcji TR-DOS?
AY Music, ULA plus.

matofesi

  • *****
  • Wiadomości: 2049
  • Miejsce pobytu:
    Toruń/Poland
Odp: konwersja TRD, SCL
« Odpowiedź #11 dnia: 2014.01.10, 21:34:38 »
Czy da sie bez utraty danych przejść z TR-DOS do Basic?

RETURN

Cytuj
Gdzie znaleźć listę instrukcji TR-DOS?

ftp://ftp.worldofspectrum.org/pub/sinclair/hardware-info/Beta128DiskInterface_Manual.txt

RafalM

  • *****
  • Wiadomości: 1133
  • Miejsce pobytu:
    Sulejówek
Odp: konwersja TRD, SCL
« Odpowiedź #12 dnia: 2014.01.11, 00:43:29 »
Cytuj
Czy da sie bez utraty danych przejść z TR-DOS do Basic?

Istotnie RETURN, ale tylko wtedy jeśli wcześniej byliśmy w Basicu. Jeśli mieliśmy w Basicu wpisany jakiś program to po wejściu i wyjściu z Tr-Dosa powinien dalej tam być.

Do Tr-Dosa można wejść z głównego menu Pentagonu, albo z Basica poprzez RANDOMIZE USR 15616

Jak weszliśmy z menu to RETURNem nie przejdziemy do Basica.

Jeszcze może ci się przydać jak z Basica uruchomić plik Tr-Dosu

Ja znam metodę o dość dziwacznej składni ale działającą:

RANDOMIZE USR 15619:REM:RUN "MojProgram"

Phonex

  • *****
  • Wiadomości: 1261
  • Miejsce pobytu:
    Warszawa
Odp: konwersja TRD, SCL
« Odpowiedź #13 dnia: 2014.01.11, 11:22:14 »
Cytuj
Czy da sie bez utraty danych przejść z TR-DOS do Basic?

Jak weszliśmy z menu to RETURNem nie przejdziemy do Basica.
...

Jak weszliśmy z menu to RETURNem wracamy do nie-wiadomo-czego z komunikatem OK, 0:1. Wtedy po naciśnięciu spacji wracamy do menu i możemy wybrać 128 BASIC. I program tam jest.

sect0r

  • *****
  • Wiadomości: 698
  • Miejsce pobytu:
    Oltedal/NO
  • speccyholic
Odp: konwersja TRD, SCL
« Odpowiedź #14 dnia: 2014.01.11, 12:07:24 »
Ja nie za bardzo pojmuje poniższy fragment obsługi TR-DOS w kodzie maszynowym.
O co chodzi z tym BASIC'iem pod adresem 49000 / 49500
Dla mnie prostego człeka to albo ładujemy z poziomu BASICA, albo z poziomu kodu maszynowego.
Albo ja tu czegoś nie pojmuje, albo przerobienie softu z TR-DOS na esxDOS,TAP wydaje się dziecinnie proste, bo wyszukam tylko w programie/grze skok pod 15363 i już wiem gdzie są procedury :D

15   MACHINE CODE PROGRAMMING

The inclusion of TRDOS  routines  in  machine  code  programs  are
relativey straightforward.

There are 3 elements required for the program:

(1) The machine code equivalent of the BASIC TRDOS command.
(2) The machine code routine to implement 1 above.
(3) The machine code routine to restore the system to its original
    state before calling and executing the command.

The actual memory locations used will depend upon the program as a
whole. For the  purpose  of  this  example  the  location  of  the
routines  will be at 49000 for the SAVE, at 49500 for the LOAD and
at 50000 for the instructions calling them. Thus item 1 will be at
either 49000 or 49500 and items 2 and 3 at 50000.

EXAMPLE:

Address     Code     Basic   Comment

49000       234      REM     Codes as in Appx A of Spectrum
49001        58       :      manual
49002       248      SAVE
49003        34       "
49004        69       E
49005       120       x
49006        97       a
49007       109       m      File name "Example"
49008       112       p
49009       108       l
49010       101       e
49011        34       "
49012        13      ENTER   Always end with ENTER

The  code for the LOAD commences at  49500 and is eaxctly the same
as above except that address 49502 will contain 239 (LOAD) instead
of 248 (SAVE).

These two  routines, LOAD, and  SAVE can be  located anywhere, but
the  initiator which we are locating at 50000 requires changing at
addresses  50007-50008 (Save  routine address)  and 50025  - 50026
(LOAD routine address) to point to the new addresses.

                              page 39
 
To relocate, the  initiator itself  requires reassembly.  For that
reason the Z80 mnemonics only are given below.

CHADD  EQU   23645         Location of SOS variable CHADD
       ORG   XXXXX         XXXX=address of this code
       LD    HL,(CHADD)    Start to save true CHADD
       LD    (TEMP), HL    Temporary store of true CHADD
       LD    HL,49000      Address of SAVE routine
       LD    (CHADD),HL    CHADD now points to our routine
       CALL  15363         ENTER TRDOS SAVE via chadd
       JP    BACK          Jump to program point from which
                           the whole routine was called
       LD    HL,(CHADD)   
       LD    (TEMP),HL     The routine for LOAD now repeats
       LD    HL,49500      the above with just the address
       LD    (CHADD),HL    changed.
       CALL  15363         
BACK   LD    HL,(TEMP)     Start to restore CHADD
       LD    (CHADD),HL    Reload original CHADD
       RET                 Return from where you came
TEMP                       Label allocating memory for
                           temporary storage

The whole routine  pointing to  both the  SAVE and  LOAD routines,
together with the  "return  to  point  of  entry"  ending  routine
occupies only 47 bytes.
Szarak # DivIDE+ # MasakratorFM DeluXe by Zaxon