OldComp.cz

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


Právě je 28.03.2024, 17:52

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: 05.02.2021, 23:06 
Offline
Kecálek

Registrován: 26.01.2019, 18:45
Příspěvky: 99
Bydliště: u Mělníka
Has thanked: 7 times
Been thanked: 240 times
omikron píše:
Myslíš, že by se to dalo poladit změnou parametrů?
Např. buffer v násobcích délky půlsnímku, nebo snížením sample rate na 22050?


Buffer jsem ladil docela dlouho a to, co je v kódu, se mi poslechově zdálo asi nejlepší. Nejmenší zpoždění a nejmíň chrčení a přeslechů.
Ladil jsem to ale ve Win10, možná na Linuxu by byly jiné parametry vhodnější.
Pokud jde o rychlost, tak to ladit není potřeba.
Rychlost emulátoru je stejná se zvukem i bez něj, to jen ta hra Housenka si náhodně volí obtížnost a někdy běží rychleji a někdy pomaleji.


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

Registrován: 24.12.2014, 16:11
Příspěvky: 424
Has thanked: 31 times
Been thanked: 100 times
Kolik vlastně je softwéru pro IQ-151 ?


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulátory Čs počítačů v Javě
PříspěvekNapsal: 06.02.2021, 17:53 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 24.05.2018, 22:32
Příspěvky: 1972
Bydliště: Most, Praha
Has thanked: 864 times
Been thanked: 697 times
Nemá hra přístup k reálným hodinám, že by si při startu detekovala rychlost procesoru a kvůli nerovnoměrnosti emulace si volila nesprávnou rychlost?

_________________
i++ (INC) increment
i-- (DEC) decrement
i@@ (EXC) excrement


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

Registrován: 24.12.2014, 16:11
Příspěvky: 424
Has thanked: 31 times
Been thanked: 100 times
Panda38 píše:
Nemá hra přístup k reálným hodinám, že by si při startu detekovala rychlost procesoru a kvůli nerovnoměrnosti emulace si volila nesprávnou rychlost?

IQ nemá realtime clock.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulátory Čs počítačů v Javě
PříspěvekNapsal: 06.02.2021, 22:47 
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
není důvod měřit rychlost, procesor běží pořád na svojich 2Mhz, přerušení 50Hz nebo 16kHz, spíš může být problém v brždění procesoru (přístup do Vram/Grafik) a na port Ex,


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

Registrován: 24.12.2014, 16:11
Příspěvky: 424
Has thanked: 31 times
Been thanked: 100 times
l00k píše:
není důvod měřit rychlost, procesor běží pořád na svojich 2Mhz, přerušení 50Hz nebo 16kHz, spíš může být problém v brždění procesoru (přístup do Vram/Grafik) a na port Ex,


Emulátor v současné době neemuluje Wait cykly při přístupu do Video RAM, jede to stejně rychle jako hlavní paměť.
Pouze se hlídá, aby se za televizní půlsnímek udělal správný počet cyklů. To je v proceduře ms20() https://github.com/omikron88/iq-151/blob/master/src/machine/Iq.java. Kdyžtak to po mně přepočítejte, jestli to mám dobře.
Procesor by měl být +- cycle accurate.
Engine teoreticky umí emulovat vkládání waitů, kdyby bylo potřeba, stačí dát do obsluhy příslušného portu, paměti clk.addTstates(n).
Umí i téměř libovolné mapování paměti, to se mi teď hodí u TNS, ten má hodně vymakanou obsluhu až 1MB paměti.
Nevýhodou je relativně velká náročnost na výkon hostitelského procesoru. Na Atomech to jede s odřenýma ušima.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulátory Čs počítačů v Javě
PříspěvekNapsal: 08.02.2021, 15:48 
Offline
Pan Generální

Registrován: 07.05.2014, 01:21
Příspěvky: 2570
Bydliště: Praha
Has thanked: 502 times
Been thanked: 607 times
Pokud pustím SD-ROM z monitoru (S3 -> 55 L) a mám video64 tak to zatuhne s černou obrazovkou. S video32 normálně funguje, z obou basiců taky.
Jestli to dělá i na reálném kompu nevím, video64 zatím nemám...

_________________
ZX80, ZX81, ZX Spectrum, ZX Spectrum +2, Didaktik M, PMD 85-1,2A,3, Olivetti Prodest PC 128, Acorn BBC Micro, PC-XT, Amiga 500


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

Registrován: 06.03.2018, 16:00
Příspěvky: 955
Bydliště: Valtínov, Kunžak
Has thanked: 39 times
Been thanked: 471 times
Ano, s VIDEO64 to dělá. V obslužném programu (Manageru souborů) je chyba, autorovi jsem to reportoval - je tam mazání obrazovky pomoci PUSH DE a je jich moc za sebou, takže dojde k podtečení VideoRAM až do tabulky přerušení pro 8259 a tím to končí. Úpravu jsem provedl v přímo v HEX souboru _BLOADRE.BAS - vjednom řádku je 18x za sebou D5. Je potřeba 2x D5 (PUSH DE) nahradit 2x 00 (NOP) a příslušně opravit CRC na konci řádku. Pak to chodí v pohodě.

Petr

PS: řádek bude vypadat následobně:
Kód:
:5013200013EE2032E913C9F3210000393100F03A1F00112020D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D500003DC23513F9C93A1F00D615E6FE0F472A20003A1F005F160019581911EA13CD6913C9061D1AFE00C8FEB3

P.


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

Registrován: 24.12.2014, 16:11
Příspěvky: 424
Has thanked: 31 times
Been thanked: 100 times
vanthomas píše:
Pokud pustím SD-ROM z monitoru (S3 -> 55 L) a mám video64 tak to zatuhne s černou obrazovkou. S video32 normálně funguje, z obou basiců taky.
Jestli to dělá i na reálném kompu nevím, video64 zatím nemám...

Mělo by to být opraveno plus vylepšení vzhledu.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulátory Čs počítačů v Javě
PříspěvekNapsal: 05.03.2021, 14:56 
Offline
Pan Generální

Registrován: 07.05.2014, 01:21
Příspěvky: 2570
Bydliště: Praha
Has thanked: 502 times
Been thanked: 607 times
Jeden bugreport :)
V rámci blbnutí s 3D grafem jsem zkusil i IQ a tahle verze http://www.oldcomp.cz/download/file.php?id=11629 v emulátoru po nějaké době vytuhne. Jestli počítám dobře, tak 38 vnějších cyklů proběhne, pak to vytuhne někde ve vnitřním...
Na reálném IQ to funguje.
EDIT: opravený odkaz, původně sem tam hodil PMD verzi...

_________________
ZX80, ZX81, ZX Spectrum, ZX Spectrum +2, Didaktik M, PMD 85-1,2A,3, Olivetti Prodest PC 128, Acorn BBC Micro, PC-XT, Amiga 500


Naposledy upravil vanthomas dne 05.03.2021, 17:19, celkově upraveno 1

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

Registrován: 24.12.2014, 16:11
Příspěvky: 424
Has thanked: 31 times
Been thanked: 100 times
vanthomas píše:
Jeden bugreport :)
V rámci blbnutí s 3D grafem jsem zkusil i IQ a tahle verze http://www.oldcomp.cz/download/file.php?id=11632 v emulátoru po nějaké době vytuhne. Jestli počítám dobře, tak 38 vnějších cyklů proběhne, pak to vytuhne někde ve vnitřním...
Na reálném IQ to funguje.


no jo, ale čím by to mohlo být. Doufám, že není chyba v ROM Basicu.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulátory Čs počítačů v Javě
PříspěvekNapsal: 05.03.2021, 16:42 
Offline
Pan Generální

Registrován: 07.05.2014, 01:21
Příspěvky: 2570
Bydliště: Praha
Has thanked: 502 times
Been thanked: 607 times
Neměla by být, jak píšu, na reálném stroji to normálně proběhne. Jak s romkovým Basicem, tak v DBasicu pod CP/M.

_________________
ZX80, ZX81, ZX Spectrum, ZX Spectrum +2, Didaktik M, PMD 85-1,2A,3, Olivetti Prodest PC 128, Acorn BBC Micro, PC-XT, Amiga 500


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulátory Čs počítačů v Javě
PříspěvekNapsal: 05.03.2021, 17:01 
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
vyzkoušeno v jiném emulátoru a jede bez problémů:

Kód:
2000 CLS:ERASE
2010 LET A=155: LET K1=39
2020 LET W=75: LET K=0.65
2030 LET X0=128: LET Y0=83: LET BM=3.1415/180
2040 LET C=K*COS (W*BM): LET S=K*SIN (W*BM)
2050 LET DX=3: LET DY=5: LET AF=A/90
2060 DIM H(256)
2061 SCALE 0,256,0,192
2070 FOR I=1 TO 256: LET H(I)=-1000: NEXT I
2080 FOR G=-110 TO 110 STEP DY: LET Y=G*AF
2090 FOR M=-105 TO 105 STEP DX
2100 LET X=M*AF: GOSUB 2400
2110 LET XA=INT (X0+M+C*G+0.5): LET YA=INT (Y0+S*G+Z+0.5)
2130 IF M>-105 THEN GOTO 2170
2140 LET F1=0: LET I=INT (XA/DX)
2150 IF YA>=H(I+1) THEN LET F1=1: LET H(I+1)=YA
2160 LET X1=XA: LET Y1=YA: GOTO 2220
2170 LET F2=0: LET I=INT (XA/DX)
2180 IF YA>=H(I+1) THEN LET F2=1: LET H(I+1)=YA
2190 LET X2=XA: LET Y2=YA
2200 IF F1*F2=1 THEN DRAW X1,Y1,-2: DRAW X2,Y2,-1
2210 LET X1=X2: LET Y1=Y2: LET F1=F2
2220 NEXT M
2230 NEXT G
2250 STOP
2400 LET R=SQR(X*X+Y*Y)*BM
2410 LET Z=K1*(COS(R)-COS(3*R)/3+COS(5*R)/5-COS(7*R)/7)+24
2420 RETURN


Přílohy:
iqgr.JPG
iqgr.JPG [ 89.35 KiB | Zobrazeno 9935 krát ]
Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulátory Čs počítačů v Javě
PříspěvekNapsal: 05.09.2021, 10:14 
Offline
Kecálek

Registrován: 26.01.2019, 18:45
Příspěvky: 99
Bydliště: u Mělníka
Has thanked: 7 times
Been thanked: 240 times
V poslední době jsem zapracoval na emulátoru JOndra a doplnil několik nových vlastností.
Je v něm teď debugger, nahrávání souborů bin a tap, zvuk, vytvoření screenshotu, změna rychlosti dle rozlišení atd.
Stahujte přímo na GitHubu.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulátory Čs počítačů v Javě
PříspěvekNapsal: 05.09.2021, 10:54 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 12.05.2013, 19:23
Příspěvky: 1910
Bydliště: Vsetín
Has thanked: 517 times
Been thanked: 812 times
Moc děkuji za vylepšení emulátoru Ondry. Parádní práce :god:

_________________
cs.speccy.cz, ondraspo186.8u.cz, zx-spectrum.cz


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