OldComp.cz

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


Právě je 28.03.2024, 10:34

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 98 ]  Přejít na stránku Předchozí  1, 2, 3, 4, 5, 6, 7  Další
Autor Zpráva
 Předmět příspěvku: Re: Emulátory Čs počítačů v Javě
PříspěvekNapsal: 07.11.2021, 13:55 
Offline
Profík

Registrován: 26.11.2018, 16:59
Příspěvky: 580
Bydliště: Holešov
Has thanked: 13 times
Been thanked: 90 times
Příloha:
V000.JPG
V000.JPG [ 17.78 KiB | Zobrazeno 9523 krát ]


když se to chvilku nechá, napíše příčinu... (zkouší na řadiči příkazy Cx a Dx pro disk E = Ramdisk?)

klávesnice ale pak nereaguje (nejde I - gnorovat) - i když po další chvíli:
Příloha:
V001.JPG
V001.JPG [ 72.33 KiB | Zobrazeno 9521 krát ]


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulátory Čs počítačů v Javě
PříspěvekNapsal: 07.11.2021, 22:57 
Offline
Radil

Registrován: 24.12.2014, 16:11
Příspěvky: 424
Has thanked: 31 times
Been thanked: 100 times
Ty příkazy co to vypisuje patří FDC. Proč nechodí ramdisk zatím nevím.
Koukám, že bios netestuje přítomnost diskety podle signálu ready ale příkazem ReadHD, přečtením hlavičky právě projíždějícího sektoru. Tu bude pes zakopán.
Na stisknutí tlačítka NMI se zapíše dump.bin a v něm základní 64KB

Mimochodrm, vývojáři TNS krásně obešli potřebu DMA brouka. Na desce FDC3 je 1KB statické RAM a stavový automat z čítačů. Takže disketu možno číst buď olizováním portů, nebo se jedním OUTem zapne automat, spustí operace, vypne automat a pak se byte po byte přečte obsah sektoru. Samozřejmě, že to umí i zápis.

Stránkování víc než 64KB RAM mají unikátně vyřešené. Jednak stránkování libovolných 8K z až 1M RAM do libovolných 8K v prostoru Z80.
Pak ještě systém, kterej hlídá vykonávání LDIR. Určí z kolikátého a do kolikátého 64KB se má přenášet a udělá se LDIR a deska MAP F si sama adresuje zdroj a cíl.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulátory Čs počítačů v Javě
PříspěvekNapsal: 07.11.2021, 23:19 
Offline
Profík

Registrován: 26.11.2018, 16:59
Příspěvky: 580
Bydliště: Holešov
Has thanked: 13 times
Been thanked: 90 times
trošku mně mate, že z diskety to nasosne soubor SYS.SYS ale SYSTEM.COM už ne, možná mu vadí ta nepřítomnost toho RAMDISKu, nevím jestli si BIOS (sys.sys) testuje co má za karty případně jestli není někde na disketě / v systému zapsáno jak a z čeho má startovat... Od někud má informaci o 4 disketách - na videech co dělal Zdeněk bootuje a systém ukazuje jen 1 mechaniku jako A a pak Ramdisk jako E
disketu se standardním CP/M to přes Fx nenabootuje... startuje to jen diskety co mají v adresáři ten SYS.SYS a SYSTEM.COM


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulátory Čs počítačů v Javě
PříspěvekNapsal: 07.11.2021, 23:28 
Offline
Radil

Registrován: 24.12.2014, 16:11
Příspěvky: 424
Has thanked: 31 times
Been thanked: 100 times
l00k píše:
startuje to jen diskety co mají v adresáři ten SYS.SYS a SYSTEM.COM

jasně, musí tam být systém pro TNS.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulátory Čs počítačů v Javě
PříspěvekNapsal: 08.11.2021, 12:07 
Offline
Profík

Registrován: 26.11.2018, 16:59
Příspěvky: 580
Bydliště: Holešov
Has thanked: 13 times
Been thanked: 90 times
koukám trošku na soubor SYS.SYS a je to univerzální zavaděč pro TNS ST,SC,GC i HC - takže to s tím emulováním nebude až tak jednoduché, pokud se nebudou správně emulovat nepoužívané porty (aby poznal co je to za model) tak to může dělat psí kusy...

je někde popis portů/karet jednotlivých verzí?

emulátor jak je vidět se snaží emulovat GC verzi, pro tu musí být diskové obrazy které mají v bootsektoru první bajt "F" - to je ten testy.8sd (obsah zbytku bootsektoru je ještě třeba prozkoumat co znamená), jsou někde další obrazy disků?


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulátory Čs počítačů v Javě
PříspěvekNapsal: 08.11.2021, 16:17 
Offline
Radil

Registrován: 24.12.2014, 16:11
Příspěvky: 424
Has thanked: 31 times
Been thanked: 100 times
Zrovna TNS je docela vzácné


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulátory Čs počítačů v Javě
PříspěvekNapsal: 08.11.2021, 16:33 
Offline
Radil

Registrován: 24.12.2014, 16:11
Příspěvky: 424
Has thanked: 31 times
Been thanked: 100 times
Spoustu věcí si bios určitě testuje, minimálně velikost RAM, protože na tu desku jde zapájet 64KB až 1MB
Pak taky umí desku SASI alias SCSI.
Určitě taky umí dvě desky FDC3 které se liší adresou portů. A umí taky 5.25¨. Na samotné desce je před hodinovým vstupem diskového řadiče dělička dvěma a multiplex, přepínací signál vede na registr 3212.
Ale sranda je, že se musí vyměnit boot rom když chceš aby to z nich bootovalo. Existuje boot prom z 8¨ SS SD, z 5.25¨ 360KB a ze SCSI HDD,

Možná, že to hardwarově nezávislé moduly BDOS a CCP tahá normálně ze systémových stop, jako SAPI nebo IQ-151. A BIOS z toho souboru.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulátory Čs počítačů v Javě
PříspěvekNapsal: 09.11.2021, 00:16 
Offline
Profík

Registrován: 26.11.2018, 16:59
Příspěvky: 580
Bydliště: Holešov
Has thanked: 13 times
Been thanked: 90 times
omikron píše:
Spoustu věcí si bios určitě testuje, minimálně velikost RAM, protože na tu desku jde zapájet 64KB až 1MB
Ale sranda je, že se musí vyměnit boot rom když chceš aby to z nich bootovalo. Existuje boot prom z 8¨ SS SD, z 5.25¨ 360KB a ze SCSI HDD,
Možná, že to hardwarově nezávislé moduly BDOS a CCP tahá normálně ze systémových stop, jako SAPI nebo IQ-151. A BIOS z toho souboru.


zatím jsem prošel jen začátek a hodně zběžně ten sys.sys - existují minimálně verze 2.30, 2.31, 2.32 a 2.34 pro GC, musím si to protřídit a porovnat ale hlavně přijít na to jak to v emulátoru nabootovat. Podle mně jsi to trefil velmi dobře a chybí tam nějaká blbost aby to naskočilo...

v každém případě u GC, boot eprom natáhne nějak sys.sys od adresy 100h (ten je psaný univerzálně pro všechny TNS) a ten pak natahuje SYSTEM.COM (což je TNSový CCP/BDOS) - jsou tam různé přidělávky a další proměnné které používá jak zavaděč, tak BIOS a možná i BDOS


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulátory Čs počítačů v Javě
PříspěvekNapsal: 26.11.2021, 20:42 
Offline
Radil

Registrován: 24.12.2014, 16:11
Příspěvky: 424
Has thanked: 31 times
Been thanked: 100 times
Sem dávám popis desek TNS
http://wiki.oldcomp.cz/index.php?title=TNS_Slu%C5%A1ovice

Bohužel teď nemám moc času na vývoj emulátoru TNS.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulátory Čs počítačů v Javě
PříspěvekNapsal: 23.12.2021, 16:48 
Offline
Radil

Registrován: 24.12.2014, 16:11
Příspěvky: 424
Has thanked: 31 times
Been thanked: 100 times
Tak vážení, emulátor TNS GC se přiblížil k použitelnosti.

https://github.com/omikron88/TNS

Co funguje:
Základní sestava TNS GC
RAM 256K - 1024K
Grafika BGD, jak RGBI, tak ČB výstup
Floppy 8''

Co nefunguje:
Zápis na floppy není ještě 100 procent. Zapsat na disketu jde, ale příslušné testy WD2797 patrně neprojdou.
Format track není implementována. Nepoužívat formátování diskety. Prázdná image jde vytvořit v Open menu.
Zatím jsou podporovány jen standardní 8¨ SS SD image, 256256 dlouhé. Přepínání typu mechaniky zatím nic nedělá.

Klávesnice
START = Home
STOP = End
ANO = PgUp
NE = PgDn

Ovládání na netbookových klávesnicích bez numerické klávesnice a nebo s výše uvedenými klávesami sdílenými s číslicemi je silně problematické. Doporučuju připojit plnohodnotnou USB klávesnici.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulátory Čs počítačů v Javě
PříspěvekNapsal: 03.01.2022, 14:07 
Offline
Radil

Registrován: 24.12.2014, 16:11
Příspěvky: 424
Has thanked: 31 times
Been thanked: 100 times
Malá oprava grafického režimu G2 a přidáno demo s několika obrázky. Doporučuju přepnout v Settings na černobílé, aby se barvy zobrazovaly jako stupně šedi. Nastavení zobrazení se může přepínat i za chodu.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulátory Čs počítačů v Javě
PříspěvekNapsal: 03.01.2022, 20:04 
Offline
Kecálek

Registrován: 28.07.2018, 07:55
Příspěvky: 125
Has thanked: 77 times
Been thanked: 86 times
Díky za G2. Byl jsem docela překvapen těmi barvičkami a následně pochopil doporučení pro přepnutí do ČB :D
Jen doplním že v testech stále neprojde "test barevného displeje" -> [1] barevné pruhy. Zde to vypadá že se emulátor zasekne?
Beru zpět, jednička nad Q asi není jednička a s tou na numerické klávesnici to jede :suicide:

Každopádně Super posun, díky :like:

Petr


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulátory Čs počítačů v Javě
PříspěvekNapsal: 04.01.2022, 12:22 
Offline
Profík

Registrován: 26.11.2018, 16:59
Příspěvky: 580
Bydliště: Holešov
Has thanked: 13 times
Been thanked: 90 times
test Grafiky byl první co prošel na 100% OK, také úspěšně projde test MAPF a klávesnice.

to použití kláves ANO, NE, Start, Stop a striktní použití čísel jen z numerické klávesnice je občas dost peklo (na druhou půlku speciálních kláves F11-F20 se přepne pomocí Scroll-lock, pokud se vypne Numlock, tak se numerická část chová jako kompletní kurzorová část)


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulátory Čs počítačů v Javě
PříspěvekNapsal: 04.01.2022, 15:52 
Offline
Radil

Registrován: 24.12.2014, 16:11
Příspěvky: 424
Has thanked: 31 times
Been thanked: 100 times
l00k píše:
test Grafiky byl první co prošel na 100% OK, také úspěšně projde test MAPF a klávesnice.

INT by měl taky už chodit poměrně přesně.
Zatím určitě neprojde test WD2797. Read nejspíš ano, ale Write zatím funguje jen přes DMA automat, v nonDMA módu jsem ho zatím nedopsal. A Formát track chybí.

Koukal jsem na složitost emulace ITK/TVD, není to těžký akorát by se musel mírně upravit Memory, aby byla velikost stránky 1KB
Ten stavový flag, kdy se smí zapisovat bez sněžení obrazu je v reálu dělaný snímkovým zateměním. Nahodí se se začátem půlsnímku a spadne s horním okrajem textu. Stačilo by emulovat velmi přibližně, podle počtu T od počátku snímku. Nebo pro jednoduchost nechat 1 stále.

Síťovka ... je k ní dokumentace... je to inteligentní periférie s vlastní Z80 CPU a komunikuje se s ní přes příkazy. Otázka zní, jak spolu emulované počítače propojit? Zabalit do UDP paketů a poslat reálnou sítí?

Mě by se víc líbila SASI s emulovaným HDD.

Jo a co bude nejspíš špatně je rychlost, emulátor jsem začal psát, když jsem ještě neměl schémata. t_frame by měla být počet T procesoru za jeden TV obrázek - 20 ms.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulátory Čs počítačů v Javě
PříspěvekNapsal: 04.01.2022, 16:40 
Offline
Profík

Registrován: 26.11.2018, 16:59
Příspěvky: 580
Bydliště: Holešov
Has thanked: 13 times
Been thanked: 90 times
ten ITK modul jen překryje poslední kB základní stránky - a VRAM je vždy FC00-FFFF - otázkou jestli má smysl pro GC, systémové diskety jsou psány univerzálně SC/ST/GC - ITK se v GC objevilo možná někdy v prvních verzích ale další dokumentace ho již pro GC vylučuje - navíc má klávesnici na jiném portu než BGD

těch 20ms na vykreslení je OK, ale musíš do toho počítat ještě zpětný chod paprsku který se počítá do jednoho frame - takže asi klidně může být tak jak si to napočítal

ta síť přes UDP by asi zase narazila na to, že napočítáš celý frame a pak čekáš... musela by se emulace rozsekat na menší části aby pakety mohly chodit ne co 20 ms ale třeba co 3-5 milisekund a i tak by se nemusely stihnout timeouty na příjem vysílání paketu (už jsem nad tím přemýšlel u sítě na IQ151)

ještě by bylo zajímavé prozkoumat kartu paměti - když emuluješ 256kB paměti v jakém pořadní majít být stránky (jak se hlásí stránky pro paměti 4x64kB a jak pro 1x256kB)


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ů: 98 ]  Přejít na stránku Předchozí  1, 2, 3, 4, 5, 6, 7  Další

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 5 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