Doplnim, ze info uz jsem ziskal, je tam tedy par otazniku (schema neodpovida uplne fci). Bohuzel nemohu zverejnit.
Mohu ale zverejnit popis jak to funguje:
Na karte je ROM, registr (2x flipflop), dekodujici logika pri ROM + flipflop (write only port adresa 0x00), logika invertujici A14/A15.
Zavadec, ktery je pri bootu mapovan na 0x0000, ten se zepta zda chcete TRS nebo CPM mod.
- V TRS modu zakaze vnitrni BIOS, nic nepremapovava
- V CPM modu je inverze adresnich linek A14/15, puvodni BIOS se pouziva - je premapovan na 0xC000 (tou inverzi), oblast 0x000-0x3FFF se mapuje na 0xC000-0xFFFF, tzn. napr. VRAM je 0xFC00
Pozdeji jsem zjistil, ze BIOS se da ziskat z binarky emulatoru trs80gp-2.5 , zde se prepinacem -omikron da i vyzkouset.
Takhle vypada zapnuti translace:
Kód:
ROM:003C loc_3C: ; CODE XREF: ROM:0002j
ROM:003C 21 47 00 ld hl, loc_47
ROM:003F
ROM:003F loc_3F: ; DATA XREF: sub_C1AF:loc_C1BFr
ROM:003F ; sub_C1AF+62w ...
ROM:003F 11 47 40 ld de, loc_4047
ROM:0042
ROM:0042 loc_42: ; DATA XREF: sub_C1AF+17r
ROM:0042 ; sub_C1AF+5Dw ...
ROM:0042 01 05 00 ld bc, 5
ROM:0045
ROM:0045 loc_45: ; DATA XREF: sub_C2EA+19w
ROM:0045 ED B0 ldir
ROM:0047 ; cast nahrana do RAM
ROM:0047
ROM:0047 loc_47: ; DATA XREF: ROM:loc_3Co
ROM:0047 D3 00 out (0), a
ROM:0049 C3 4C C0 jp loc_C04C
a takhle skok do TRSkove ROMky:
Kód:
seg002:C070 loc_C070: ; CODE XREF: seg002:C05Dj
seg002:C070 3E 08 ld a, 8
seg002:C072 21 D3 00 ld hl, 0D3h ; 'Ë' ; instrukce D3 00 out (0), a
seg002:C072 ;
seg002:C075 22 6D 00 ld (6Dh), hl ; ulozime do RAM kam pak skocime
seg002:C078 C3 6D 00 jp 6Dh ; +2 = adresa v ROMce pres jumpem na 0