Komputery z Z80 > JUPITER ACE
Jupiter ACE - programowanie w ASM (TASM/ZASM)
KWF:
Większość materiałów na temat programowania w asemblerze odnosi się do archaicznego TASM (Telemark Assembler) i pod niego są szablony (templates) do generowania plików TAP dla Jupitera ACE. Co prawda TASM w do wersji 3.1 działa całkiem sprawnie pod DOSboxem, jednak jego używanie jest archeologią stosowaną. Ostatnia wersja TAMSa o numerze 3.2 działa z lini komend Windowsa, ale nie działa pod DOSboxem, więc poza kręgiem moich zainteresowań.
Osobiście do gustu bardziej przypadł mi ZASM, który jest ciągle rozwijany (najnowsza wersja pochodzi z września tego roku). Dlaczego ZASM? Ponieważ z automatu potrafi dodać sumę kontrolną do generowanych bloków TAP (na odpowiednim miejscu), a także dokleić odpowiedni nagłówek oraz dodać długość następnego bloku w pliku TAP. Aha, no i jest dla nieokienkowych.
Dokumentacja ZASM opisuje w jaki sposób generować pliki TAP (https://k1.spdns.de/Develop/Projects/zasm/Documentation/z92.htm) dla ZX Spectrum i Jupitera ACE. Opisuje ona różnicę między tymi formatami, ALE opis jest do wersji starszej niż 4.2 i nie działa poprawnie w nowszych wersjach kompilatora. Generowane tą metodą TAPy mają za długi nagłówek (o dwa bajty). Dla własnych celów stworzyłem sobie dwa szablony pod ZASMa 4.2.x, aby łatwo i wygodnie generować poprawne pliki TAP, które można wczytać do emulatora (w moim przypadku ZXSP).
DICT_template - szablon dla TAPa z definicjami nowych słów w FORTH; wczytywanie przez:
--- Kod: ---LOAD nazwa
--- Koniec kodu ---
BIN_template - szablon TAPa z kodem binarnym wczytywanym pod zadany adres w pamięci RAM; wczytywanie przez:
--- Kod: ---0 0 BLOAD nazwa
--- Koniec kodu ---
W ZIPie są dwa przykładowe pliki DICT.TAP i BIN.TAP wygenerowane z tych szablonów. Są to wersje rozwojowe i można je sobie dowolnie modyfikować, np. przez dodanie autostartu, czy łączenie wielu bloków w jeden plik.
Szablony przeniosłem na GitHuba, aby łatwiej nimi zarządzać.
https://github.com/McKlaud76/JACE-TAP-templates
Tygrys:
Dzięki wielkie, przyda się!
tooloud:
fajnie fajnie! jeszcze tylko to wczytać na Jupitera :)
KWF:
Eee, to już jesteśmy w domu ;) tap2tzx przeskaluje TAPa do TZXa z timingami ZX Spectrum i można wczytywać przez TZXduino :)
KWF:
Do kompletu dołożyłem autostart:
AUTOSTART_template - szablon TAPa z autostartem; wczytywanie przez:
--- Kod: ---0 0 BLOAD autostart
--- Koniec kodu ---
Oraz przykładowe TAPy wygenerowane z tych szablonów.
Nawigacja
[#] Następna strona
Idź do wersji pełnej