OldComp.cz

Komunitní diskuzní fórum pro fanoušky historických počítačů


Právě je 27.04.2024, 08:59

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 2 ] 
Autor Zpráva
 Předmět příspěvku: TRS-80 mapper
PříspěvekNapsal: 07.08.2023, 12:22 
Offline
Kecálek

Registrován: 16.09.2022, 16:24
Příspěvky: 204
Has thanked: 8 times
Been thanked: 36 times
Pro TRS-80 existuje prepinac pametovych oblasti, aby tam slo rozjet CPMko (standardne je ROMka od 0x0000, nasledovana MMIO periferiemi, coz je nekompatibilni s CP/M, mapper tohle pretoci, ze ROM a MMIO da nakonec).

The Omikron Mapper http://www.trs-80.org/omikron-mapper/
MAPPA-1 for the Model I http://ianmav.customer.netspace.net.au/cpm/

Nemate prosim nekdo:

- schema mapperu
- ROM mapperu
- popis principu fce mapperu (jak se povoli inverze bitu adresy)

Nebo cokoliv z toho.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: TRS-80 mapper
PříspěvekNapsal: 14.08.2023, 10:58 
Offline
Kecálek

Registrován: 16.09.2022, 16:24
Příspěvky: 204
Has thanked: 8 times
Been thanked: 36 times
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


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 2 ] 

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 17 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz