OldComp.cz

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


Právě je 27.04.2024, 08:49

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 27 ]  Přejít na stránku Předchozí  1, 2
Autor Zpráva
PříspěvekNapsal: 08.11.2023, 19:57 
Offline
Óm Nejvyšší

Registrován: 16.06.2014, 12:23
Příspěvky: 3677
Bydliště: Jesenice u Prahy
Has thanked: 28 times
Been thanked: 280 times
Nějak jsem nepochopil, jak to suksoft myslí.

PDS-1Z je stránkování 64k na 256k po 16k stránkách, DMA je jedna 16k stránka.

Třeba řešení MEMEXT pro SHARP je mapa 64k na 1024k po 4k stránkách.
16 byte registrů, 2x74F219 se hůř sháněj, 74LS219 též a 74HCT219 neexistuje.
V CPLD bych potřeboval na realizaci XC95144TQ100

_________________
Diagnóza: Touretteův syndrom, Koprolálie, Dyslexie, Obsedantně kompulzivní porucha.
Kalkulačky: Privileg PR56, TI51-III, TI57, TI58, TI59, TI83, TI-83 Premium CE, TI89
Počítadla: BOBO64, ZX48 plus, DG-88, Didaktik-M, C16, C64C, Amiga 500+, MZ800, MUPID C2A2


Nahoru
 Profil  
 
PříspěvekNapsal: 08.11.2023, 22:44 
Offline
Pan Generální

Registrován: 19.07.2013, 15:54
Příspěvky: 2735
Has thanked: 147 times
Been thanked: 423 times
Danharde jestli se to ma vejit do nejakeho maleho cpdl tak bude vhodne mit velikost stranky 16KB. Takze budou 4 banky (0 az 3) po 16KB. Pak pro 512KB ram by pro kazdou stranku bylo potreba 5 bitu (32x16=512). Takze celkem 20 bunek pro bank registry. Pak potrebujes 5 bunek jako multiplex smerem k ram. Po resetu jsou vsechny bity uvnitr cpld v log 0. Takze bude vybrana stranka0. To bude znamenat pro system at se pouziva realna pamet. Jako kdyz by rozsireni nebylo vubec zapojene. V pripade ze by v registru banky0..3 bylo cislo 1 az 31 tak by to znamenalo ze se ma pouzit externi pamet. Obvod 245 by zablokoval pristup pocitace k cpu a aktivoval by externi ram. Je velmi pravdepodobne ze by se to mohlo vejit i do 32 bunek.


Nahoru
 Profil  
 
PříspěvekNapsal: 08.11.2023, 23:39 
Offline
Óm Nejvyšší

Registrován: 16.06.2014, 12:23
Příspěvky: 3677
Bydliště: Jesenice u Prahy
Has thanked: 28 times
Been thanked: 280 times
No a proč bych měl mapovat celý adresní prostor ?
A 16kB už nemusí každému vyhovovat, hůř se to umisťuje v programu, než třeba 8kB.

_________________
Diagnóza: Touretteův syndrom, Koprolálie, Dyslexie, Obsedantně kompulzivní porucha.
Kalkulačky: Privileg PR56, TI51-III, TI57, TI58, TI59, TI83, TI-83 Premium CE, TI89
Počítadla: BOBO64, ZX48 plus, DG-88, Didaktik-M, C16, C64C, Amiga 500+, MZ800, MUPID C2A2


Nahoru
 Profil  
 
PříspěvekNapsal: 09.11.2023, 00:28 
Offline
Pan Generální

Registrován: 19.07.2013, 15:54
Příspěvky: 2735
Has thanked: 147 times
Been thanked: 423 times
Drive jsem take premyslel o 8KB velikosti banku ale strasne rychle se spotrebovavaji bunky, proto jsem ted spise pro velikost 16KB.

takto by mohl vypadat odskok do hlavni casti jadra systemu
adresa 38h:
ld a,5
out (50h),a ; mapovani bank1 na 5 stranku
jp 4000h ; odskok na zacatek banky1

Na pate strance ktera by byla bezne vyhrazena pro obsluhu systemu by bylo 16KB klicovych dat. Pro CP/M by zde byla obsluha biosu. V pripade ze by byl spusteny Basic tak by se udelalo co by bylo potreba a pak by se program vratil do basicu presne jako original.

Jinak proc chci mapovat kompletni pametovy rozsah je ten aby bylo mozno soucasne spustit treba 4 programy. Jedna se o to ze napr. stranka 8 az 11 by se pouzila pro jeden program. 12 az 15 pro dalsi atd. Pak jen zmena 4 registru pomoci out prikazu by nastavila cely pametovy prostor. Takze zmena programu by byla rychla. Samozrejme by se ocekavalo ze bios pro vsechny programy by byl spolecny.


Nahoru
 Profil  
 
PříspěvekNapsal: 09.11.2023, 09:52 
Offline
Óm Nejvyšší

Registrován: 16.06.2014, 12:23
Příspěvky: 3677
Bydliště: Jesenice u Prahy
Has thanked: 28 times
Been thanked: 280 times
Ale na co je to dobré, že máš v paměti procesoru "zahnízděné" 4 programy, když procesor může pracovat současně jen na jednom ?
Na takové přepínání programů se používá právě přemapování, kde systém přidělí uživatelskému programu prostor programu a dat v rozšířené paměti a to bez nějakého přesouvání dat.
Ostatní služby musí zajišťovat systém, stejně jako při obsluze přerušení, jenom musí vědět, který program spustil a kde má systémová data.

Ale nejde mi ani o nějaký multitask, ale jen o to, aby hlavní program mohl pracovat na větší paměti než 64k co vidí CPU.
A na to stačí, aby tam mohl "zahnízdit" spustitelné programové moduly a mohl pracovat přes datové okno nad rozšířenou pamětí.
Takže hledám kompromis nad vělikostí těch modulů a proveditelností.
Vychází mi 8kB, to se dá ještě dobře umístit v programu a zase je to dostatečné, že se tam vejde třeba jedna obrazovka v datech.
Nakonec v tom CPLD se to může změnit, když tam povedou správné dráty.
Do XC9536XL-VQ44 se toho až tak moc nevejde, 34 I/O, 36 makrocel.
Chtěl bych tím ošetřit 1MB RAM a 512kB EPROM jako podložku pod procesor Z80, která by byla nadřazena stávajícímu hw systému.

_________________
Diagnóza: Touretteův syndrom, Koprolálie, Dyslexie, Obsedantně kompulzivní porucha.
Kalkulačky: Privileg PR56, TI51-III, TI57, TI58, TI59, TI83, TI-83 Premium CE, TI89
Počítadla: BOBO64, ZX48 plus, DG-88, Didaktik-M, C16, C64C, Amiga 500+, MZ800, MUPID C2A2


Naposledy upravil danhard dne 09.11.2023, 10:57, celkově upraveno 1

Nahoru
 Profil  
 
PříspěvekNapsal: 09.11.2023, 10:52 
Offline
Pan Generální
Uživatelský avatar

Registrován: 23.03.2014, 20:13
Příspěvky: 2788
Has thanked: 230 times
Been thanked: 608 times
Takže jako virtuální paměť? To už by bylo jednodušší přepínat celých 64KiB včetně OS, pevná by zůstala třeba jen zero page s vektory.

Ale pokud program potřebuje víc, tak jsme zase zpátky u stránkování.

_________________
Plesnivý sýr z Tesca, zatuchlé kuřecí řízky z Albertu, oslizlé hovězí a myší trus z Lidlu.
Nákup potravinářské inspekce v ČR, říjen 2023.


Nahoru
 Profil  
 
PříspěvekNapsal: 09.11.2023, 11:16 
Offline
Kecka

Registrován: 08.04.2021, 02:11
Příspěvky: 68
Bydliště: ThePlice
Has thanked: 0 time
Been thanked: 16 times
Já pracuji u svého projektu s adresováním po 4kB x256stránek (celkem 1MB) s možností kteroukoli stránku kamkoliv v 64k prostoru. Neboli expanze xxFFF o FFxxx. Obsluha je primitivní - OUT (F0..FF),(00..FF), prototypový IC už mám (v DILu, projekt má podmínku "žádné SMD bez vyjímky"). Teď se rvu s neexistujícími instrukcemi pro relativní skoky u i8080A a už mi to funguje.

(chtěl jsem přidat ukázku, ale ani .txt ani .asm ani .assembler ani proc-nejde-priloha-s-priponou-txt-nebo-asm-nebo-assembler není povolena. takže smůla)


Nahoru
 Profil  
 
PříspěvekNapsal: 09.11.2023, 11:41 
Offline
Pan Generální

Registrován: 19.07.2013, 15:54
Příspěvky: 2735
Has thanked: 147 times
Been thanked: 423 times
aceltd píše:
(chtěl jsem přidat ukázku, ale ani .txt ani .asm ani .assembler ani proc-nejde-priloha-s-priponou-txt-nebo-asm-nebo-assembler není povolena. takže smůla)


udelej ZIP, ten prochazi


Nahoru
 Profil  
 
PříspěvekNapsal: 09.11.2023, 13:06 
Offline
Kecka

Registrován: 08.04.2021, 02:11
Příspěvky: 68
Bydliště: ThePlice
Has thanked: 0 time
Been thanked: 16 times
Drátovací logika + zjištění horních 4 bitů, kde se kód nachází


Přílohy:
selfcheck.zip [964 bajtů]
29 krát
MX8080K.JPG
MX8080K.JPG [ 71.67 KiB | Zobrazeno 864 krát ]
Nahoru
 Profil  
 
PříspěvekNapsal: 09.11.2023, 13:23 
Offline
Óm Nejvyšší
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 3829
Has thanked: 280 times
Been thanked: 457 times
aceltd píše:
Já pracuji u svého projektu s adresováním po 4kB x256stránek (celkem 1MB) s možností kteroukoli stránku kamkoliv v 64k prostoru.


To se můžeš taky podívat na PP-01, to má přesně tuto adresaci RAM a je to funkční čistě na základních typech IC vyráběných v RVHP :-).


Nahoru
 Profil  
 
PříspěvekNapsal: 09.11.2023, 14:07 
Offline
Pan Štábní

Registrován: 12.05.2013, 22:24
Příspěvky: 1524
Bydliště: u Prahy
Has thanked: 44 times
Been thanked: 386 times
Pokud by někdo chtěl vyhnout se stránkování a mít na Z80 kontinuální oblast větší než 64 KiO, a vyhnout se např. eZ80 (která třeba pro Spectrum není vhodná kvůli obsazení portu 0 nebo proč vlastně), je možno inspirovat se u Apple ///, které si na sběrnici hlídá kód načítané instrukce, a pokud jde o čtení indexu adresy ze zero page, načte i následující bajt a vystaví jej na A16-A23.
Případně by šlo přes porty adresovat okno v rozšířené paměti posouvané klidně i s přesností jednoho bajtu (při třech portech v 4 MiO prostoru).


Nahoru
 Profil  
 
PříspěvekNapsal: 09.11.2023, 19:52 
Offline
Óm Nejvyšší

Registrován: 16.06.2014, 12:23
Příspěvky: 3677
Bydliště: Jesenice u Prahy
Has thanked: 28 times
Been thanked: 280 times
Na to musíš mít zero page, která není stránkovaná a na ní to taky musíš provádět, jinak by sis podřízl větev.
A je to přepínání celých 64kB prostorů, to se taky na vše nehodí.
Stránkování přes registr je jen o pár instrukcí delší.

_________________
Diagnóza: Touretteův syndrom, Koprolálie, Dyslexie, Obsedantně kompulzivní porucha.
Kalkulačky: Privileg PR56, TI51-III, TI57, TI58, TI59, TI83, TI-83 Premium CE, TI89
Počítadla: BOBO64, ZX48 plus, DG-88, Didaktik-M, C16, C64C, Amiga 500+, MZ800, MUPID C2A2


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ů: 27 ]  Přejít na stránku Předchozí  1, 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 18 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