OldComp.cz
http://oldcomp.cz/

Emulátory Čs počítačů v Javě
http://oldcomp.cz/viewtopic.php?f=147&t=8104
Stránka 37

Autor:  stamil [ 05.02.2021, 23:06 ]
Předmět příspěvku:  Re: Emulátory Čs počítačů v Javě

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.

Autor:  omikron [ 06.02.2021, 17:08 ]
Předmět příspěvku:  Re: Emulátory Čs počítačů v Javě

Kolik vlastně je softwéru pro IQ-151 ?

Autor:  Panda38 [ 06.02.2021, 17:53 ]
Předmět příspěvku:  Re: Emulátory Čs počítačů v Javě

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?

Autor:  omikron [ 06.02.2021, 18:15 ]
Předmět příspěvku:  Re: Emulátory Čs počítačů v Javě

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.

Autor:  l00k [ 06.02.2021, 22:47 ]
Předmět příspěvku:  Re: Emulátory Čs počítačů v Javě

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,

Autor:  omikron [ 06.02.2021, 23:38 ]
Předmět příspěvku:  Re: Emulátory Čs počítačů v Javě

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.

Autor:  vanthomas [ 08.02.2021, 15:48 ]
Předmět příspěvku:  Re: Emulátory Čs počítačů v Javě

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

Autor:  RaceSoft [ 08.02.2021, 16:06 ]
Předmět příspěvku:  Re: Emulátory Čs počítačů v Javě

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.

Autor:  omikron [ 12.02.2021, 15:56 ]
Předmět příspěvku:  Re: Emulátory Čs počítačů v Javě

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.

Autor:  vanthomas [ 05.03.2021, 14:56 ]
Předmět příspěvku:  Re: Emulátory Čs počítačů v Javě

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

Autor:  omikron [ 05.03.2021, 16:28 ]
Předmět příspěvku:  Re: Emulátory Čs počítačů v Javě

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.

Autor:  vanthomas [ 05.03.2021, 16:42 ]
Předmět příspěvku:  Re: Emulátory Čs počítačů v Javě

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.

Autor:  l00k [ 05.03.2021, 17:01 ]
Předmět příspěvku:  Re: Emulátory Čs počítačů v Javě

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 10194 krát ]

Autor:  stamil [ 05.09.2021, 10:14 ]
Předmět příspěvku:  Re: Emulátory Čs počítačů v Javě

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.

Autor:  Solaris104 [ 05.09.2021, 10:54 ]
Předmět příspěvku:  Re: Emulátory Čs počítačů v Javě

Moc děkuji za vylepšení emulátoru Ondry. Parádní práce :god:

Stránka 37 Všechny časy jsou v UTC + 1 hodina [ Letní čas ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/