Elektroda.pl
Elektroda.pl
X
IGE-XAOIGE-XAO
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Re: komputer MIK CA80 - reanimacja zabytkowego komputerka

damik 08 Lut 2015 13:54 78846 289
  • #61
    Cris131
    Poziom 1  
    A może ktoś ma płytki do CA80? Chętnie kupię...
  • IGE-XAOIGE-XAO
  • #62
    hilo
    Poziom 11  
    Mam płytkę nowego CA80 - nie używana. Info na priv
  • IGE-XAOIGE-XAO
  • #65
    lombard1
    Poziom 12  
    andrzejlisek napisał:
    Ciąg dalszy....


    Czy to są te same dokumenty, które wcześniej były podlinkowane w poście z dnia 07 Lutego 2015 z godziny 18:54 ?
    pozdrawiam,
    J.S.
  • #66
    andrzejlisek
    Poziom 28  
    lombard1 napisał:
    andrzejlisek napisał:
    Ciąg dalszy....


    Czy to są te same dokumenty, które wcześniej były podlinkowane w poście z dnia 07 Lutego 2015 z godziny 18:54 ?
    pozdrawiam,
    J.S.

    Tak, to jest dokładnie to samo.
  • #67
    Simon79
    Poziom 18  
    andrzejlisek napisał:
    Niedawno zeskanowałem sobie książki MIK od 1 do 6, 8, 9, 11.

    Z wielką chęcią bym je udostępnił, ale chciałbym zapytać się szczególnie moderatorów, czy mogę to zrobić, bo nie chcę dostać warna za łamanie praw autorskich, czy żeby post był wyrzucony do kosza, ale z drugiej strony te książki są bardzo trudne do kupienia.

    Wykorzystując te książki i inne materiały na temat Z80 w wolnych chwilach tworzę emulator CA80. Wiem, że to nie będzie to samo, co prawdziwy CA80, ale pozwoli mi się pobawić. Jestem już na tym etapie prac, że emulator już mniej więcej działa (procesor, pamięć, wyświetlacz i klawiatura), ale jeszcze wyłapuje się błędy w implementacji, które objawiają się wadliwością funkcjonowania oprogramowania systemowego CA80. Emulator może symulować obie wersje CA80 i uruchamia obrazy oprogramowania do obu wersji znalezione w tym wątku. W tym wątku są dwa pliki do nowego CA80, jeden 8kB, drugi 32kB, ale tak naprawdę pierwsze 8kB pliku 32kB jest identyczne z plikiem 8kB, czyli można przyjąć, że są dwa obrazy ROM, jeden 8kB do starego CA80, drugi do nowego CA80.

    Jak będziecie zainteresowani emulatorem, to proszę pisać, wtedy go przygotuję do udostępnienia i go udostępnię. Program piszę w Qt Creator na Windows 32-bit.


    Przymierzam się do budowy CA82, ale z miłą chęcią zapoznałbym się z emulatorem CA80 Kolegi, jeśli takowy udostępni.
  • #68
    Menuet
    Poziom 16  
    Witam,

    Powiem szczerze, że trochę przypadkiem trafiłem na ten temat i aż mi się uśmiech na twarzy pojawił kiedy go zobaczyłem:) Od razu pomyślałem o moim poczciwym CA80 w pierwszej wersji, które gdzieś leży zapomniane. A zapomniane dlatego, że coś w nim kiedyś dłubałem i przestało działać, szukałem problemu, wszystko przemierzyłem, wszystkie ważniejsze scalaki podmieniłem i niestety nie śmiga. Moja diagnoza była taka, że coś się w EPROMie z programem monitora pomieszało (to jedyna kość której nie podmieniałem...). A tu teraz zobaczyłem ten wątek i nawet są wsady do pamięci, więc nie pozostaje mi nic innego jak reanimować mój mikrokomputerek jak tylko znajdę trochę więcej czasu.

    W tym miejscu mam również prośbę o udostępnienie tego emulatora CA80 może to być bardzo ciekawe rozwiązanie:)

    Dziękuje także wszystkim, którzy umieścili tutaj informacje o tym zabytkowym urządzeniu:)

    Pozdrawiam,
    Menuet
  • #69
    andrzejlisek
    Poziom 28  
    Załączam emulator CA80.

    W podfolderze CA80 jest właściwa aplikacja (plik CA80.exe) z plikami konfiguracyjnymi i bibliotekami Qt dołączonymi przez kompilator.

    Plik CA80.htm zawiera opis poszczególnych funkcji emulatora i sposób konfiguracji i użytkowania.

    Pliki CA80_old.rom i CA80_new.rom zawierają program monitora odpowiednio do starej i nowej wersji komputera. Przed pierwszym użyciem należy skonfigurować plik obrazu ROM jako jeden z tych plików wprowadzany od adresu 0000. Oczywiście, można próbować użyć innych obrazów ROM przeznaczonych do użytku w CA80.

    Co do wielkości pliku, to prorgam windeployqt to wszystko pozałączał. Jak usuwałem niektóre największe pliki, to program też się uruchamiał, ale na moim komputerze jest zainstalowany Qt, który nie jest ani na wyposażeniu Windowsa, ani dodatkiem instalowanym przez każdego użytkownika Windows.

    Przy okazji, zauważyłem, że w tym temacie jest obraz ROM do nowej wersji komputera o wielkości 32kB. W rzeczywistości jest to dwukrotnie powtórzony obraz o wielkości 16kB, Dodatkowo zauważyłem, że pierwsze 8kB jest identyczne z obrazem ROM o wielkości 8kB, reszta poza końcówką jest pusta. Końcówka od 3EE0 do 3FFC zawiera jakieś dane, ale nie jestem w stanie ustalić, czy to jest zamierzony kawałek kodu lub danych, czy bezużyteczne śmieci, co sprawia, że program do nowego CA80 również ma 8kB.

    Może ktoś posiada nowy CA80 i mógłby sprawdzić co znajduje się w zakresie od 3EE0 do 3FFC, czy jest to samo, co w załączonym pliku, czy coś innego, czy pusto?
  • #70
    Simon79
    Poziom 18  
    Dzięki :D andrzejlisek za udostępnienie emulatora.
    Pewnie stworzenie go kosztowało Cię sporo czasu....i zaparcia.
    Póki co pobawiłem się "systemem CA80" m.in. ustawieniem zegarka, przeglądaniem pamięci i rejestrów, własnych wsadów nie posiadam a przygotowanie choćby przykładów z książek MIK trochę potrwa...
    Na pewno używając takiego emulatora nie jednemu przypomną się "stare dobre czasy".
    Pozdrawiam.
  • IGE-XAOIGE-XAO
  • #71
    andrzejlisek
    Poziom 28  
    Zdecydowanie, napisanie takiego emulatora było bardzo czasochłonne, ale mając wystarczające materiały na temat CA80, coś mnie wciągnęło i byłem zdeterminowany, żeby taki emulator napisać i coś w nim uruchomić.

    Poprawiałem i sprawdzałem tylko te linie, w których suma kontrolna się zgadzała. Wydaje mi się, że bardzo mało prawdopodobna jest taka sytuacja, że OCR źle odczyta, wartości będą błędne, ale suma kontrolna będzie się zgadzać, a ja nie zauważę błędu.

    Wykorzystując http://www.onlineocr.net/ udało mi się utworzyć wsad C800 na podstawie MIK11. W samym emulatorze, celem zwiększenia kompatybilności, dorobiłem możliwość wyboru wielkości poszczególnych modułów pamięci. Np, w C800, jest zlecenie F, które wyświetla sumy kontrolne różnych obszarów pamięci ROM i tylko po zmniejszeniu modułów lub ewentualnie wielokrotnemu wczytaniu wsadów pod różne adresy uzyskałem poprawne sumy kontrolne.
  • #72
    andrzejlisek
    Poziom 28  
    Udostępniam nową wersję emulatora CA80. W nim jest poprawione kilka błędów symulacji Z80, które przypadkiem ujawniły się podczas testowania programów pisanych w SDCC na Z80. W konfiguracji jest dodana opcja "Cykle zegara do przerwania", która określa liczbę cykli zegara do przerwania niemaskowalnego, wartość 800 odpowiada prawdziwemu CA80, a w przypadku wartości 0, przerwanie niemaskowalne nie będzie wywoływane.

    Razem z emulatorem są dostarczone programy ROM:
    CA80+CA88, które pochodzą z niniejszego wątku, przy czym wersja do nowego CA80 jest zmniejszona do 8kB i różnice w starej i nowej wersji odpowiadają opisowi na stronach 45-47 MIK09.

    Ponadto jest C800 opisany na stronach 7-9 MIK09 i na stronach 140-171 MIK11, a sam plik obrazu sporządziłem na podstawie kodu maszynowego ze stron 169-171 MIK11.

    W MIK09 na stronach 9-13 jest opisany program C930, ale nie ma nigdzie obrazu pamięci ROM. Ten program zawiera gry i programy użytkowników opisane w MIK11. Pomimo, że same programy posiadam na podstawie kodów maszynowych z MIK11, to gdybym zdobył C930, to miałbym komplet oprogramowania wydanego przez producenta CA80. W takim razie prośba z mojej strony, jeżeli ktoś przypadkiem posiada lub ma dostęp do C930 to żeby udostępnić zawartość, forma nieistotna (kod źródłowy, maszynowy, nagranie magnetofonowe itp.).

    Dodatkowo załączam programy spisane z MIK06 i MIK11.
  • #73
    Adam9
    Poziom 10  
    Witam !
    Poszukuje skanu lub płytki MIK 89
    Może ktoś ma ?
  • #74
    andrzejlisek
    Poziom 28  
    Udostępniam następną wersję emulatora. Został zupełnie zmieniony sposób generowania dźwięku, teraz jest on tworzony w czasie rzeczywistym i ma rzeczywistą częstotliwość, co jest zauważalne między innymi w grach "Tor przeszkód" i "Kosmiczna bitwa". Oprócz tego zostały zmienione kolory wyświetlacza na bardziej realistyczny, czyli biały tekst na czarnym tle zamiast czarnego tekstu na białym tle.

    To się wiąże z dodatkowymi parametrami w ustawieniach, które są opisane w pliku CA80.htm. Ustawienia domyślne powinny być dobre, ale należy je dobrać samemu tak, żeby opóźnienie dźwięku było jak najmniejsze, ale też żeby dźwięk był odtwarzany prawidłowo bez zakłóceń.
  • #75
    Użytkownik usunął konto
    Użytkownik usunął konto  
  • #76
    Cordylus
    Poziom 2  
    Witam.
    Muszę zaświadczyć, że obraz EPROM C800 zawarty w emulatorze jest doskonały. Wgrałem go w kość i zainstalowałem w moim nowym CA80. Działa wyśmienicie.

    Posiadam dokumentację MIK 05b, jeśli ktoś potrzebuje, mogę przesłać.
  • #77
    phanick
    Poziom 28  
    Od dłuższego czasu obserwuje allegro pod kątem pojawiania się CA80 i jak raz na rok się pojawi CA80 to jest dobrze, ale w ostatnim tygodniu prawdziwy wysyp.
    Na aukcji dwa nowe w pełni złożone CA80 oraz PCB i potrzebne pamięci do złożenia własnego.
  • #78
    andrzejlisek
    Poziom 28  
    phanick napisał:
    Od dłuższego czasu obserwuje allegro pod kątem pojawiania się CA80 i jak raz na rok się pojawi CA80 to jest dobrze, ale w ostatnim tygodniu prawdziwy wysyp.
    Na aukcji dwa nowe w pełni złożone CA80 oraz PCB i potrzebne pamięci do złożenia własnego.


    Biorę udział w licytacji tych trzech pamięci, szczególnie dlatego, że tam jest C930, który jest na wagę złota (chodzi o zawartość niż samą kość EPROM). Jak uda mi się wygrać, to z całą pewnością zgram zawartość wszystkich tych pamięci. Mam nadzieję, że do dzisiaj zawartość jest prawidłowa, bo gdzieś czytałem, że EPROM (taka z okienkiem do kasowania przez naświetlanie UV) trzyma zawartość przez 10-15 lat, a nie wykluczone, że te kości już tyle mają.
  • #79
    Cordylus
    Poziom 2  
    Ja też biorę udział w aukcji tego C930, ale skoro licytuje kolega, to nie będę podbijał, bo w sumie też chciałem tutaj opublikować obraz jego pamięci.

    Kontaktowałem się ze sprzedawcą tego EPROMu, i powiedział mi, że testował go w swoim kompletnym CA80 i działa.
  • #80
    phanick
    Poziom 28  
    Trzeba było pisać wcześniej że tak Ci zależy, to bym udostępnił :)
    Poniżej wsad 930. Ale dobrze że kupiłeś od Pana P.K. tego EPROMA bo to złoty człowiek.

    W wolnym czasie też budowałem swojego CA80 w oparciu o nową płytke. Jednak z uwagi na brak obudowy, pod wyświetlacz i przyciski musiałem zrobić swoja PCB.

    Re: komputer MIK CA80 - reanimacja zabytkowego komputerka Re: komputer MIK CA80 - reanimacja zabytkowego komputerka

    Z nudów przeniosłem do EAGLA całą płytke MIK290 na podstawie schematów z książki p Gardynika. Płytka jest kopią 1-1 oryginalnej MIK290, umieszczenie wszystkich elementów, prowadzenie ścieżek, nazwy układów są takie same jak w oryginale. Jedynie ścieżki puszczałem pod kątem 45 stopni, bo p. Gardynika czasem poniosła fantazja i robil meandry :) Nawet schemat jest identyczny z tym w książce - symbole każdego z elementów zaprojektowałem od nowa, aby były identyczne z tymi w książce p Gardynika.
    Re: komputer MIK CA80 - reanimacja zabytkowego komputerka Re: komputer MIK CA80 - reanimacja zabytkowego komputerka
    Załączniki:
  • #81
    andrzejlisek
    Poziom 28  
    phanick napisał:
    Trzeba było pisać wcześniej że tak Ci zależy, to bym udostępnił :)
    Poniżej wsad 930. Ale dobrze że kupiłeś od Pana P.K. tego EPROMA bo to złoty człowiek.


    Dzięki za wrzutę, kilka postów wyżej napisałem grubą czcionką, żeby rzucała się w oczy, prośbę o udostępnienie C930, jakby ktoś miał, moim zdaniem nie ma sensu pisać prośby o to samo w każdym poście. Rozumiem, że przeoczyłeś. Sam długo szperałem w Internecie, nie było żadnego śladu po C930 poza jednym właścicielem CA80, z którym nie udało mi się skontaktować. A że nie było odzewu, to pomyślałem, że zakup kości jest jedyną możliwością :-)
  • #82
    andrzejlisek
    Poziom 28  
    Udostępniam kolejna wersję emulatora.

    Poprawiłem następujące błędy:
    1. Problemy z wyświetlaniem przy emulacji bez dźwięku
    2. Zawieszanie się emulatora po wejściu do pułapki podczas emulacji z dźwiękiem
    3. Zamykanie emulatora przy kliknięciu przycisku Stop przy zatrzymanej emulacji

    Oprócz powyższego, dodałem emulator zegara czasu rzeczywistego, który nie jest przewidziany w prawdziwym CA80. Dzięki temu można pobrać aktualną datę i godzinę.

    W emulatorze działa w następujący sposób:
    W celu odczytania pewnego elementu daty lub godziny, za pomocą rozkazu OUT należy wysłać na adres 0xFF wartość od 0 do 8 według poniższego zestawienia:
    0 - Dzień tygodnia (0 - niedziela, 1 - poniedziałek itd.)
    1 - Dzień miesiąca
    2 - Miesiąc
    3 - Rok (dwie ostatnie cyfry)
    4 - Stulecie (dwie pierwsze cyfry roku)
    5 - Godzina
    6 - Minuty
    7 - Sekundy
    8 - Setne sekund

    Po wysłaniu jednej z powyższych wartości należy odczytać wartość z adresu 0xFF za pomocą rozkazu IN. Odczytana wartość będzie w zakresie od 0 do 99, reprezentowana w kodzie BCD.

    Aby wykorzystać ten mechanizm, zmodyfikowałem nieco obraz pamięci ROM do nowego CA80.
    Pod adresem 3E00 umieściłem program, którego zadaniem jest wpisanie do pamięci operacyjnej CA80 następujących danych: Godzina, minuty, sekundy, setne sekund, dzień tygodnia, dzień miesiąca, miesiąc i dwie ostatnie cyfry roku. Wartości są pobierane z zegara komputera.

    W monitorze CA80 pod adresem 3E00 jest umieszczony wywołanie programu zakończone rozkazem RST 30. Właściwy program jest pod adresem 3E04, pod adres 3E04 jest skok z monitora przy uruchamianiu, żeby wywołać ustawienie daty i godziny przy uruchamianiu CA80. Było to możliwe dzięki 5-bajtowej luce znajdującej się oryginalnie w zakresie od 026B do 026F.

    Dodatkowo, zdefiniowałem wywołanie tego programu (skok do 3E00) pod zlecenie *8A, co powoduje, że w dowolnej chwili można zsynchronizować zegar poprzez naciśniecie klawiszy kolejno 8 i A przy wyświetlonym napisie CA80. Aby to uzyskać, wpisałem w bajty 0838 i 0839 odpowiednio wartości 00 i 3E.

    Pod zlecenie 8B podpiąłem program wyświetlający sumy kontrolne z MIK11. Program umieściłem pod adresem 3EC0, a podpiąłem wpisując C0 i 3E w bajty 083A i 083B.

    Generalnie, zlecenia 8C i 8D pozostały wolne, więc można jeszcze 2 dodatkowe programy podpiąć.
  • #83
    andrzejlisek
    Poziom 28  
    Próbowałem ostatnio uruchomić zlecenie *D z C800 (dzień tygodnia na podstawie podanej daty). Przyczyna nieprawidłowości działanie był błąd w wykonywaniu rozkazów ADD i SBC na liczbach 16-bitowych, błąd poprawiłem. Program daje błędne wyniki z powodu błędu w ustalaniu lat przestępnych (nie jest prawdą fakt, że każdy rok podzielny przez 4 jest rokiem przestępnym), jednak teraz uzyskiwane wyniki są identyczne z tymi na prawdziwym CA80.

    Potem próbowałem uruchomić zlecenie *D z CA88, przedstawione na tym filmiku: https://www.youtube.com/watch?v=xQA8LoUMmIY
    Okazało się, że aby program działał poprawnie, musi być regularnie wyzwalane przerwanie niemaskowalne. Ze względu na skomplikowanie i czasochłonność, mój emulator symuluje CA80 w wersji bez Z80ACTC. Jedynie, co wyczytałem, to fakt, że jedynym elementem wyzwalającym przerwanie niemaskowalne jest prosty cyfrowy licznik do 4 rozkazów używany w pracy krokowej. W związku z tym zaimplementowałem prosty licznik 4 rozkazów wyzwalający przerwanie niemaskowalne INT po odliczeniu 4 rozkazów. Umożliwiło to uruchomienie zlecenia *C z CA80, czyli praca krokowa. Okazuje się, że to zlecenie nie działa do końca dobrze, działa wykonywanie programu krok po kroku, ale nie działają klawisze przechodzące do zleceń *D i *F, prawdopodobnie nie uwzględniłem jakiegoś szczegółu, ale tym prawdopodobnie nie będę się zajmować.

    Gdzieś czytałem, że niektóre programy do CA88 wykorzystują pozytywkę, która oprócz odgrywania melodii wyzwala przerwania niemaskowalne. Być może do wspomnianego programu *D z CA88 jest wymagana ta pozytywka. Jeżeli tak, to w najbliższym czasie nie planuję jej implementacji ze względu na czasochłonność i skomplikowanie.

    Kolejną sprawą jest fakt, że CA80 dla komputerka nowszej generacji uruchamia tryb przerwań 2 bez względu na obecność układu Z80ACTC. W tym celu dokonałem modyfikacji obrazu EPROM zamazującej rozkaz IM 2 (zastąpienie rozkazami NOP). Załączam emulator, listę wszystkich zleceń z uwzględnieniem dodatkowych w CA80, zmodyfikowany obraz EPROM i opis modyfikacji.
  • #84
    Roman98
    Poziom 10  
    Witam,
    dzięki za poprawienie kalendarza, działa identycznie jak w CA80! Ja mam w swoim CA80 kalendarz bardziej rozbudowany (uwzględnia poprawkę wprowadzoną w 1582 r., oblicza również ilości dni między datami). Praca krokowa, przynajmniej w na moim komputerze /WIN7-64b/, działa poprawnie, również przejście do zlec*D i *F! Dzięki z poprawkę i udostępnienie symulatora.
  • #85
    andrzejlisek
    Poziom 28  
    Roman98 napisał:
    Witam,
    dzięki za poprawienie kalendarza, działa identycznie jak w CA80! Ja mam w swoim CA80 kalendarz bardziej rozbudowany (uwzględnia poprawkę wprowadzoną w 1582 r., oblicza również ilości dni między datami). Praca krokowa, przynajmniej w na moim komputerze /WIN7-64b/, działa poprawnie, również przejście do zlec*D i *F! Dzięki z poprawkę i udostępnienie symulatora.


    Faktycznie, masz rację, z czego bardzo się cieszę. Zlecenia *D i *F samodzielnie (uruchamiane z poziomu napisu CA80) działały poprawnie od zarania dziejów, natomiast myślałem, że nie działają dlatego, że po wciśnięciu cyfry lub kropki nie pojawiała się litera D lub F tak, jak przy samodzielnym uruchamianiu tych zleceń, cały czas była litera C. Przeszedłem przez przykład opisany na stronie 111 i 112 w MIK05 i wszystko zadziałało zgodnie z opisem. Wydaje mi się, że na pierwszy rzut oka nie widać, czy komputer pracuje w trybie pracy krokowej, czy w trybie modyfikacji pamięci, bo w obu trybach tak samo wyświetla C, adres i wartość.
  • #86
    andrzejlisek
    Poziom 28  
    Jakiś czas temu skontaktowałem się z samym Stanisławem Gardynikiem w sprawie CA80 i udało mi się otrzymać kody źródłowe monitorów CA80, CA88 i C800 oraz niektórych programów. Teraz zajmuje się zupełnie czymś innym http://www.esk.com.pl/

    Dzisiaj z nim rozmawiałem i potwierdził, że nie ma żadnych przeszkód, żeby udostępniać w internecie wszelkie materiały (kody źródłowe, książki MIK itp.) dotyczące CA80.

    Na końcu niektórych plików mogą być śmieci, które należy usunąć przed próbą kompilacji.
  • #87
    andrzejlisek
    Poziom 28  
    Wypróbowałem 3 kompilatory asemblera Z80, ale żaden nie potrafił skompilować monitora CA80, szczególnie był problem z wyrażeniami EQU.

    Odgrzebałem swój stary projekt, jakim był kompilator asemblera 8051 napisany do użytku z DSM-51, ponieważ oryginalny DSM51ASS nie kompilował kodu, który miał się znajdować w adresach od 8000h do FFFFh, w których jest przewidziana pamięć ROM i ja wymyśliłem zaprogramowanie własnej pamięci ROM, a także odmawiał kompilacji w przypadku próby użycia rejestrów, które są w 8052, a nie ma w 8051, szczególnie timer T2, a DSM-51 tak naprawdę zawiera 8052, przypuszczam, że 8051 bez elementów 8052 już się nie produkuje.

    Sam mechanizm parsowania ASM i zapisu do pliku ROM już miałem, tylko przez jeden wieczór zaimplementowałem zamianę rozkazów Z80 na kod maszynowy. Pomyślałem, że najlepszy test działania to będzie poprawna kompilacja monitora CA80, CA88 i C800. Musiałem poświęcić drugi wieczór, żeby zaimplementować obsługę wyrażeń arytmetycznych w definicji wartości stałych i kilka innych drobniejszych mechanizmów.

    Same pliki źródłowe też nieco dostosowałem uzyskując kompromis pomiędzy dostosowaniem kompilatora pod kody źródłowe, a dostosowaniem kodów źródłowych pod kompilator. Modyfikacje przede wszystkim polegały na zamianę na komentarz wszystkich fragmentów otoczonych tagiem ".COMMENT%" i "%" oraz informacji, które nie są kodem źródłowym, drugą sprawą jest dostosowanie składni wyrażeń pod kompilator trzymając się reguły, że w samym wyrażeniu nie może być spacji, wyrażenie AND jest wyrażone znakiem &, były tez zapisy "LOW X" i "HIGH X", które zamieniłem na odpowiednio "X&255" i "X/256", co zapewniło poprawną kompilację bez dalszej rozbudowy kompilatora.

    Kompilator działa mniej więcej dobrze, to znaczy, że w pewnych przypadkach błędów składniowych może się zawiesić lub skompilować bez komunikatu błędu. Generalnie, ważne jest, żeby kompilował prawidłowo poprawny i spójny kod.

    Załączam kompilator i dostosowane kody źródłowe, nazwy plików są zmienione tak, żeby było wiadomo, co zawierają (CA80 bazowy stary i nowy, rozszerzenie CA80, CA88 i C800). Oprócz zmian dostosowujących dokonałem drobnych modyfikacji głównie tablic zleceń na takie, jakie są zastosowane w obecnych obrazach pamięci ROM. W ten sposób skompilowany kod jest identyczny z oryginalnym obrazem pamięci ROM.
  • #88
    damik
    Poziom 15  
    Problemy z kompilacją wynikaja prawdopodobnie z tego, że pisane były na jakiś archaiczny macroassemler, prawdopodobnie pod ZX Spectrum lub inny 8-bitowy komputer z tych czasów może pracujący pod systemem CP/M.
    Można by też na emulatorze takiego komputerka kompilować te programy.

    Znalazłem też jakieś kompilatory pod PC w sieci, można by je sprawdzić.
    http://www.z80.info/z80sdt.htm#SDT_ASM_W32
    lub ten
    http://members.shaw.ca/gp2000/zmac.html
  • #89
    vania
    Poziom 23  
    damik napisał:
    Problemy z kompilacją wynikaja prawdopodobnie z tego, że pisane były na jakiś archaiczny macroassemler, prawdopodobnie pod ZX Spectrum lub inny
    W MIK-02 str 136 podane jest że to MACRO-80 3.44 Microsoftu. To chyba ten, pod CP/M: Makroassembler M80
  • #90
    Stanisław Gardynik
    Poziom 2  
    Witam,
    Gratuluję i dziękuję Panu Andrzejowi iż zajął się zeskanowaniem wszystkich Mik-ów.
    CA80 to oczywioście historia, moja przygoda sprzed 30 lat.
    Byłem wtedy świeżo po elektronice na Politechnice Warszawskiej. Cel Mików to przekazanie fundamentów elektroniki i techniki mikroprocesorowej w sposób zrozumiały dla ucznia I klasy LO - myślę, że to się udało. Dowodem jest tu 120 autentycznych recenzji na końcu MIK11.
    CA80 to rok 1986, zupełnie inne czasy komputerowe niż obecnie, jednak szczególnie podręczniki MIK01,02,03 nadal mogę polecić wszystkim początkującym elektronikom - to jest wiedza podstawowa, która nigdy się nie zestarzeje.

    Pozdrawiam wszystkich,
    Stanisław Gardynik