forum speccy.pl

ZX Spectrum => PROGRAMOWANIE => Wątek zaczęty przez: KWF w 2021.04.10, 06:59:07

Tytuł: Kody źródłowe ROMów do ZXów
Wiadomość wysłana przez: KWF w 2021.04.10, 06:59:07
Zdeasemblowane źródła ROMów do:


Zebrane w jednym miejscu: https://github.com/ZXSpectrumVault/rom-disassemblies


P.S. Jeśli wątek jest w złej kategorii, proszę go o przesunięcie do odpowiedniej.
Tytuł: Odp: Kody źródłowe ROMów do ZXów
Wiadomość wysłana przez: tooloud w 2021.04.10, 13:49:00
Dzięki Klaud, wszystko w jednym miejscu, wg mnie kategoria dobra. Jak to Tygrys mawia - przyda się tym paru osobom w PL :)
Tytuł: Odp: Kody źródłowe ROMów do ZXów
Wiadomość wysłana przez: KWF w 2021.04.10, 14:11:45
Główną wadą tych źródeł jest użyty kompilator, archaiczny TASM (Telemark Cross Assembler). Na szczęście wersja 3.1 działa poprawne pod DOSboxem.

Na własny użytek na podstawie kodu ROMU 48K robiłem sobie źródło pod Timexa TC2048. TASM generuje poprawny ROM, taki sam jak zrzut z Timexa. Jakby ktoś był zainteresowany, mogę udostępnić.
Tytuł: Odp: Kody źródłowe ROMów do ZXów
Wiadomość wysłana przez: tapy w 2021.04.10, 17:56:33
Główną wadą tych źródeł jest użyty kompilator, archaiczny TASM (Telemark Cross Assembler).

Myślę, że coś Cię ominęło. Z powodzeniem do dziś go używam w Windows 10 x64, często z rozszerzoną tablicą symboli dla Z280 - z tym, że to wersja 3.2
Tytuł: Odp: Kody źródłowe ROMów do ZXów
Wiadomość wysłana przez: KWF w 2021.04.10, 18:01:54
Wersja 3.2 jest datowana na 2002r. Sorry, ale to prehistoria, co prawda działająca tylko z linii komend Windowsa i wymagająca środowiska 32 bitowego. Poza tym, nie każdy jest okienkowy.
Tytuł: Odp: Kody źródłowe ROMów do ZXów
Wiadomość wysłana przez: tapy w 2021.04.10, 19:40:13
Przepraszam, musiałem ;D Skoro 2002 to prehistoria, to co możemy powiedzieć o speecy, nie wspominając o procesorze z 1976 roku i jego niezmienionej ISA od tamtej pory.
TASM3.2 nadal doskonale sobie daje radę, pod CP/M używam assemblerów z 1984, które również wypluwają poprawny kod, choć obecnie rozwijany ZSM4 jest już naprawdę dobry. Użytkownicy Linuxa od lat mają doskonały assembler, zaś środowisko Windows ma niewielki ich wybór. Jedyna wada omawianego, to brak możliwości użycia znaku ";" w deklaracjach tekstowych, ale zastąpienie ASCII kodem 3Bh rozwiązuje problem. Warto o tym ograniczeniu pamiętać.
Tytuł: Odp: Kody źródłowe ROMów do ZXów
Wiadomość wysłana przez: matofesi w 2021.04.11, 14:55:17
Używanie czterdziestoletniego hardware'u i odpowiadającego mu software'u jest wyborem. Używanie na siłę na współczesnym sprzęcie dwudziestoletniego softu tylko dlatego, że nie ma wyboru jest rodzajem masochizmu ;)

edit: Tak na szybko ściągnąłem źródło ROMu 48... Z tym TASMem to przesadzacie - kod na oko jest bardzo standardowy a do kompilacji TASMem został na siłę dostosowany. Żeby się skompilował w PASMO trzeba wykomentować na samym początku 6 linii #define dostosowujących kod do TASMa oraz na samym końcu (w linii 20313) konstrukcję '#end' - również specyficzną dla TASMa. Po tych zmianach 'pasmo --bin Spectrum48.asm rom.bin' generuje binarkę identyczną z oryginalnym ROMem. Pozostałe źródła wydają się wymagać TASMa na tym samym poziomie - wywalamy #define na początku, .end albo inne konstrukcje na końcu i ewentualnie poprawiamy .org na org i wszystko ładnie się kompiluje PASMO ;)
Tytuł: Odp: Kody źródłowe ROMów do ZXów
Wiadomość wysłana przez: KWF w 2021.04.11, 16:11:59
mat: dzięki, ale nie każdy jest oblatany w tych wszystkich kompilatorach.