Co nowego: Różnice pomiędzy wersjami

Z MERA 400 wiki
Przejdź do nawigacji Przejdź do wyszukiwania
Nie podano opisu zmian
Nie podano opisu zmian
Linia 1: Linia 1:
__NOTOC__
__NOTOC__
=== 30 kwietnia 2013 ===
[[ASSEM]], skrośny asembler dla MERY-400, poprawnie zbudował jądro systemu operacyjnego CROOK-5. To kolejny, po udanych testach procesora, ważny krok na drodze do uruchomienia systemu CROOK-5 w emulatorze [[EM400]].
=== 27 kwietnia 2013 ===
=== 27 kwietnia 2013 ===
W dziale [[Czytelnia]] pojawiły się teksty autorstwa Elżbiety Jezierskiej-Ziemkiewicz i Andrzeja Ziemkiewicza opowiadające o historii oraz budowie projektowanych przez nich komputerów K-202 i MERA-400.
W dziale [[Czytelnia]] pojawiły się teksty autorstwa Elżbiety Jezierskiej-Ziemkiewicz i Andrzeja Ziemkiewicza opowiadające o historii oraz budowie projektowanych przez nich komputerów K-202 i MERA-400.
=== 30 marca 2013 ===
=== 30 marca 2013 ===
Dostępny jest już [[Odczyt Winchestera|raport z odczytu Winchestera]] z informacją o tym, jakie oprogramowanie i inne dane udało się odnaleźć, oraz [[Czytelnia|slajdy]] z prezentacji na IV Seminarium Historii Informatyki.
Dostępny jest już [[Odczyt Winchestera|raport z odczytu Winchestera]] z informacją o tym, jakie oprogramowanie i inne dane udało się odnaleźć, oraz [[Czytelnia|slajdy]] z prezentacji na IV Seminarium Historii Informatyki.
=== 26 lutego 2013 ===
=== 26 lutego 2013 ===
Jest już działający assembler generujący kod binarny MERY-400, a pracujący na komputerze PC. Dzięki temu emulator mógł po raz pierwszy uruchomić program dla MERY-400 napisany i zasemblowany na zupełnie innej architekturze.
Jest już działający [[ASSEM|asembler generujący kod binarny MERY-400]], a pracujący na komputerze PC. Dzięki temu emulator mógł po raz pierwszy uruchomić program dla MERY-400 napisany i zasemblowany na zupełnie innej architekturze.
 
=== 15 lutego 2013 ===
=== 15 lutego 2013 ===
W trzeciej próbie [[Odczyt Winchestera|odczytany został]] dysk [[Winchester]] MERY-400. Szczegółowy przebieg procesu odczytywania danych oraz opis zawartości dysku pojawią się niebawem.
W trzeciej próbie [[Odczyt Winchestera|odczytany został]] dysk [[Winchester]] MERY-400. Szczegółowy przebieg procesu odczytywania danych oraz opis zawartości dysku pojawią się niebawem.

Wersja z 11:36, 7 maj 2013

30 kwietnia 2013

ASSEM, skrośny asembler dla MERY-400, poprawnie zbudował jądro systemu operacyjnego CROOK-5. To kolejny, po udanych testach procesora, ważny krok na drodze do uruchomienia systemu CROOK-5 w emulatorze EM400.

27 kwietnia 2013

W dziale Czytelnia pojawiły się teksty autorstwa Elżbiety Jezierskiej-Ziemkiewicz i Andrzeja Ziemkiewicza opowiadające o historii oraz budowie projektowanych przez nich komputerów K-202 i MERA-400.

30 marca 2013

Dostępny jest już raport z odczytu Winchestera z informacją o tym, jakie oprogramowanie i inne dane udało się odnaleźć, oraz slajdy z prezentacji na IV Seminarium Historii Informatyki.

26 lutego 2013

Jest już działający asembler generujący kod binarny MERY-400, a pracujący na komputerze PC. Dzięki temu emulator mógł po raz pierwszy uruchomić program dla MERY-400 napisany i zasemblowany na zupełnie innej architekturze.

15 lutego 2013

W trzeciej próbie odczytany został dysk Winchester MERY-400. Szczegółowy przebieg procesu odczytywania danych oraz opis zawartości dysku pojawią się niebawem.

11 stycznia 2013

Przeprowadzona została druga próba odczytu dysku Winchester działającego kiedyś w MERZE-400. Próba nieudana - dwa różne kontrolery odmówiły współpracy z dyskiem. Udało się natomiast namierzyć układ, który w minikomputerze użyty został do sprzęgnięcia Winchestera z systemem (na zdjęciu obok). To pozwoli ukierunkować toczące się już prace nad zbudowaniem kontrolera, dzięki któremu dane, miejmy nadzieję, uda się ostatecznie odczytać.

12 grudnia 2012

Zdigitalizowana została wypożyczona, brakująca dokumentacja kanału pamięciowego i znakowego, AWP, oraz kilku innych elementów systemu. Łącznie około 50 dokumentów, które obecnie są w fazie obróbki. Tym samym kompletna jest już dokumentacja pozwalająca na stworzenie funkcjonalnej emulacji MERY-400.

Kontroler, dzięki któremu będzie można odczytać zawartość Winchestera jest w drodze zza Wielkiej Wody. Prace nad odczytem zostaną podjęte na początku stycznia.

1 grudnia 2012

Powstał zestaw prostych narzędzi pozwalających zinterpretować zawartość systemu plików systemu CROOK-5. Przykładowy rezultat wywołania narzędzi:

amo:tools> ./label.py ../varia/cn 96
 Disk image    : ../varia/cn
 LABEL sector  : 96
-----------------------------------------------
 Label         : SYS
 DICDIC offset : 96
 FILDIC offset : 99
 MAP offset    : 106
 MAP end       : 107
 Disk end      : 760
 Disk name     : ......
amo:tools> ./dicdic.py ../varia/cn 96 98
 Disk image    : ../varia/cn
 DICDIC start  : 96
 DICDIC end    : 98
 data len      : 1536
-------------------------------------------------------------
  Name  Code Sect. Pas Budg.   Top  Acc.    OSL OSLarg
LIBRAR     0     1 ... 32767     0 32767 ...... ......
BOSS..    32     0 ... 32767    32 32767 ...... X2....
MAGAZ1 65532     0 ...     0     0     0 ...... ......
KSIEMA 65532     0 ...     0     0     0 ...... ......
EMPTY
amo:tools> ./fildic.py ../varia/cn 99 105
 Disk image    : ../varia/cn
 FILDIC start  : 99
 FILDIC end    : 105
 data len      : 3584
-------------------------------------------------------------
  name   dir typ typei  arg1  arg2   acc  attr   mem  user   res   beg   end   len
SYSTEM    48 P8G 27007     0     0    OW     0     0     4     0     1    96    95
FILDIC    48 SYS 31419     0     0    OR     0     0     4     0    99   106     7
CH....    32 1F. 45040     0  1799    AR    19     3    32  3323   202   210     8
COPFIL    32 27C 47763     0  2450    AR    19     5    32  3176   210   220    10
INIT1.    32 CHR  5138 65213     0    OR    32     0    32 10070   392   393     1
LIST..    32 16G 46127     0  1605    AR    16     0    32  3323   406   413     7
OSL...    32 7D. 54560     8  3073    AR    19     0    32  3323   428   441    13
PINF..    32 1C. 44920     0   475    AR     8     0    32  3323   445   447     2
BOOTL.    48 L5. 20480     0   255    LR     8     0    32  3323   459   460     1
BOSS..    48 4E. 49800     8  4542    LR    19     3    32  3323   460   478    18
CLEAD.    48 12A 45961     0  1349    LR    19     3    32  3323   478   484     6
EXM...    32 55C 52483     0  6938    AR    48     3    32 10070   484   551    67
MWORDS    32 CHR  5138 65145     1    AR     0     0    32 10070   551   553     2
...

16 listopada 2012

Przeprowadzona została pomyślna próba uruchomienia dysku Winchester używanego w jednej z MER-400. Dysk, po dwudziestu z górą latach, okazał się być sprawny. Talerze się kręcą, głowice pracują bez zarzutu, a elektronika dysku odpowiada na polecenia. Próba odczytu danych będzie miała miejsce jak tylko zestaw uruchomieniowy zostanie wyposażony w odpowiedni kontroler.

21 października 2012

Debuger emulatora em400 został wyposażony w nowy, wygodny interfejs użytkownika (zrzut ekranu obok). Pozwala on na bieżąco oglądać zawartość pamięci, wykonywany program i rejestry, pozostawiając przestrzeń linii poleceń do celów sterowania. Układ okien automatycznie dostosowuje się do rozmiarów terminala. Dalsze usprawnienia będą obejmować n.im.:

  • zawartość okna dynamicznie dostosowaywaną do jego rozmiarów
  • automatyczne przesuwanie obszaru pamięci do miejsc, w których nastąpił zapis/odczyt
  • graficzne wyróżnianie słów/bitów w pamięci i rejestrach, które w wyniku działania instrukcji zostały zmienione lub ocztytane

16 października 2012

Zawartość odczytanej dyskietki jest następująca (w kolumnach kolejno: początkowy i końcowy sektor zbioru, nazwa zbioru, opis):

000 2f8 GLOBAL : cały dysk
000 001 LABEL  : etykieta dysku
001 060 SYSTEM : jądro systemu
060 063 DICDIC : słownik skorowidzów
063 06a FILDIC : słownik zbiorów
06a 06b MAP    : mapa zajętości dysku
06b 076 NDIREC
076 0a6 XOSL   : interpreter zleceń
0a6 0b8 ASSK   : assembler K-202
0b8 0ca ASSM   : assembler MERY-400
0ca 0d2 CH     : porównywanie zbiorów
0d2 0dc COPFIL : szybkie kopiowanie zbiorów (dużymi rekordami)
0dc 0e1 COPY   : znakowe kopiowanie zbiorów
0e1 109 DEBU   : debuger
109 165 HELP   : pomoc systemu
165 176 INI
176 188 INI5
188 189 INIT1
189 196 LIF    : listowanie zawartości skorowidzu
196 19d LIST   : wyświetlanie zawartości zbioru
19d 1a0 LOAD   : wczytanie taśmy binarnej
1a0 a18 MACRO
1a8 a1c MAIL
1ac 1b9 OSL
1b9 1bd PER    : utrwalanie zbiorów
1bd 1bf PINF
1bf 1c9 SET
1c9 1ca TM     : wyświetl czas
1ca 1cb BOOT   : bootloader (zapisywany na taśmie perforowanej)
1cb 1cc BOOTL  : bootloader (zapisywany na pierwszym sektorze dysku)
1cc 1de BOSS   : interpreter zleceń administatora
1de 1e4 CLEAD  : zlecenie kompresji zbiorów
1e4 227 EXM    : edytor tekstowy
227 229 MWORDS
229 22b NWORDS
22b 22d MNAMES
22d 22f NNAMES
22f 231 MAGIC
231 233 NOMAG
233 234 COPEXM
234 238 COPLIB
238 239 REWR
239 23b X2
23b 23d MBWG

14 października 2012

Dyskietka "CROOK-5" faktycznie zawiera system operacyjny. Wskazują na to zarówno łańcuchy znaków, disassemblacja, jak i analiza struktury systemu plików. Na załączonym zrzucie ekranu proces odkrywania jej zawartości. Od lewej do prawej widać:

  • binarny podgląd fragmentu
  • ten sam fragment, zdekodowany z kodu R40 do ASCII, pokazujący część opisu systemu plików
  • disassemblacja wcześniejszego obszaru

4 października 2012

Serwis mera400.pl został przeniesiony na nowy sprzęt.

3 października 2012

Emulator ma już funkcjonalny, podstawowy debuger. Przykład użycia:

Pokazanie zawartości rejestrów procesora (rejestr zgłoszeń przerwań pokazuje przerwanie timera):

em400 [0 00 0x0000]> regs
           iiiiiiDAAABBBCCC             RM________QBNB__
IR: 0x0000 0000000000000000  SR: 0x0000 0000000000000000
IC: 0x0000 P: 0

    01234567012345670123456701234567      ZMVCLEGYX.......
RZ: 00000100000000000000000000000000  R0: 0000000000000000

     hex... dec...  bin.....|.......       hex... dec...  bin.....|.......
R00: 0x0000      0  0000000000000000  R01: 0x0000      0  0000000000000000
R02: 0x0000      0  0000000000000000  R03: 0x0000      0  0000000000000000
R04: 0x0000      0  0000000000000000  R05: 0x0000      0  0000000000000000
R06: 0x0000      0  0000000000000000  R07: 0x0000      0  0000000000000000

Deassemblacja trzech kolejnych rozkazów, od bieżącej pozycji IC:

em400 [0 00 0x0000]> dasm 3
0x0000: (2) LWI r1, 16
0x0002: (2) AWI r1, 17
0x0004: (2) RWD r1, 18

Wyświetlenie zawartości pamięci pod adresami 16 do 17:

em400 [0 00 0x0000]> mem 0 0x10 0x12
  addr: +000 +001 +002 +003 +004 +005 +006 +007 +008 +009 +00a +00b +00c +00d +00e +00f 
0x0010:  202  202   15                                                                   ......

Wykonanie trzech kolejnych instrukcji:

em400 [0 00 0x0000]> step
em400 [0 00 0x0002]> step
em400 [0 00 0x0004]> step

Ponowne pokazanie zawartości pamięci:

em400 [0 00 0x0006]> mem 0 0x10 0x12
  addr: +000 +001 +002 +003 +004 +005 +006 +007 +008 +009 +00a +00b +00c +00d +00e +00f 
0x0010:  202  202  404                                                                   ......

Deasemblacja kolejnego (nieprawidłowego) rozkazu i próba jego wykonania:

em400 [0 00 0x0006]> dasm
0x0006: (1) ILLEGAL: 0x0002 (dec: 2, bin: 0000000000000010)
em400 [0 00 0x0006]> step

Wyświetlenie zawartości rejestrów (rejestr zgłoszeń przerwań pokazuje przerwanie generowane przy próbie wykonania niewłaściwiej instrukcji):

em400 [0 00 0x0007]> regs
           iiiiiiDAAABBBCCC             RM________QBNB__
IR: 0x0002 0000000000000010  SR: 0x0000 0000000000000000
IC: 0x0007 P: 0

    01234567012345670123456701234567      ZMVCLEGYX.......
RZ: 00000110000000000000000000000000  R0: 0000000000000000

     hex... dec...  bin.....|.......       hex... dec...  bin.....|.......
R00: 0x0000      0  0000000000000000  R01: 0x0404   1028  0000010000000100
R02: 0x0000      0  0000000000000000  R03: 0x0000      0  0000000000000000
R04: 0x0000      0  0000000000000000  R05: 0x0000      0  0000000000000000
R06: 0x0000      0  0000000000000000  R07: 0x0000      0  0000000000000000
em400 [0 00 0x0007]> 

4 września 2012

EM400 - emulator MERY-400, jeszcze w zupełnych powijakach (1694 linie), wykonuje poprawnie pierwszy, testowy kod maszynowy, który w assemblerze wygląda tak:

LWI     r1, 16
AWI     r1, 17
RWI     r1, 18

23 sierpnia 2012

Pod adresem http://mera400.pl powstaje wiki poświęcone MERZE-400. Powstaje też disassembler kodu maszynowego, który pozwala zweryfikować, że na dyskietce faktycznie są binaria dla MERY-400 (fragment zdissassemblowanego INSTALL.EXE):

0x0125: BCD     r4, 256         # 0  100 000 000 (4 0 0)  m=100      # Branch if not all Conditions
0x0127: IRB     r1, -12         # 1  001 001 100 (1 1 4)  t=-c       # Increment Register and Branch
0x0128: LWD     r6, 65522+r3    # 0  110 011 000 (6 3 0)  m=fff2     # Load Word                   
0x012a: CWT     r4, 0           # 0  100 000 000 (4 0 0)  t=0        # Compare Word to parameTer   
0x012b: JER     r7              # 0  010 000 111 (2 0 7)  m=0        # Jump if Equal               
0x012c: LWT     r3, 16          # 0  011 010 000 (3 2 0)  t=10       # Load to Word paremeTer      
0x012d: SRZ     r4              # 1  100 001 000 (4 1 0)             # Shift Right, add Zero       
0x012e: JYS     1               # 0  110 000 001 (6 0 1)  t=1        # Jump if Y Short             
0x012f: DRB     r3, -3          # 1  011 000 011 (3 0 3)  t=-3       # Decrease Register and Branch
0x0130: LWI     r3, [4569+r3]   # 1  011 011 000 (3 3 0)  m=11d9     # Load Word                   
0x0132: UJD     730             # 0  000 000 000 (0 0 0)  m=2da      # Unconditional Jump

31 lipca 2012

Udało się odczytać dyskietkę 5.25" opisaną "CROOK-5". Zawartość wygląda obiecująco: Późniejsze prace pokazały, że ta lista plików nie ma nic wspólnego z faktyczną zawartością dyskietki

-rwxr-xr-x 1 amo amo  1572 Aug  4 20:22 E14X8.PAK
-rwxr-xr-x 1 amo amo 32060 Aug  4 20:22 HASLA.PAK
-rwxr-xr-x 1 amo amo  8496 Aug  4 20:22 INSTALL.EXE
-rwxr-xr-x 1 amo amo  9496 Aug  4 20:22 KLUCZE.PAK
-rwxr-xr-x 1 amo amo    72 Aug  4 20:22 KOLORY.DTA
-rwxr-xr-x 1 amo amo    72 Aug  4 20:22 KOLORYH.DTA
-rwxr-xr-x 1 amo amo    72 Aug  4 20:22 KOLORYM.DTA
-rwxr-xr-x 1 amo amo  9034 Aug  4 20:22 MAKEPLIK.PAK
-rwxr-xr-x 1 amo amo 24384 Aug  4 20:22 PTV.SKR
-rwxr-xr-x 1 amo amo 89164 Aug  4 20:22 PTVX.PAK
-rwxr-xr-x 1 amo amo 16442 Aug  4 20:22 TEKSTY.PAK
-rwxr-xr-x 1 amo amo 21406 Aug  4 20:22 UNPAK.EXE
-rwxr-xr-x 1 amo amo 12715 Aug  4 20:22 UNSKR.EXE
-rwxr-xr-x 1 amo amo  1649 Aug  4 20:22 V16X9.PAK
-rwxr-xr-x 1 amo amo 76277 Aug  4 20:22 ZAKLADY.SKR