Co nowego: Różnice pomiędzy wersjami
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 1: | Linia 1: | ||
__NOTOC__ | __NOTOC__ | ||
=== 14 października 2012 === | |||
[[File:Dyskietka dekodowanie.png|thumb]] | |||
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 === | === 4 października 2012 === | ||
Wersja z 11:19, 14 paź 2012
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:
-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