сложный вопрос залу |
[Sep. 20th, 2023|11:39 pm] |
|
|
|
Comments: |
| From: | ketmar |
Date: | September 21st, 2023 - 06:53 am |
---|
| | | (Link) |
|
dosbox-x пилят для более точной эмуляции как раз. но там тоже нужные тайминги из серии «прикинули на глаз кое-как». по крайней мере я так понял из документации, там опций, блядь, больше, чем нейронов во всём моём доме.
>PCem смотрел? тоже не. беда в том, что замедление видеопамяти и портов видеоадаптера никто толком не эмулит. во-первых, это сложно (мы вплотную подходим к точной эмуляции таймингов вообще всей шины), а во-вторых, все авторы эмуляторов рассматривали это скорее как досадный недостаток, который в принципе не нужно эмулить: софт только лучше работать станет, даже подвязаный на тайминги. и они, в принципе, правы. но иногда хочется.
From: | (Anonymous) |
Date: | September 21st, 2023 - 07:35 am |
---|
| | | (Link) |
|
Если ты не собираешься проделывать какие-то виртуозные трюки, а просто хочешь сделать платформер по типу апогеевских, вся эта точность и тайминги тебе не понадобятся. Как человек, кое-что делавший под 286/EGA, скажу так: основным ограничителем будет медленный процессор (даже на 16 МГц). В шину и видеопамять мы начинаем упираться, начиная с 386.
| From: | ketmar |
Date: | September 21st, 2023 - 10:54 am |
---|
| | | (Link) |
|
как раз трюки и хочу. я тоже пилил в своё время, и упирался в том числе в медленную видеопамять. поэтому мне как раз интересно померять выигрыши, которые я смогу получить от разных хитрых методов апдейта экрана.
с процессором как раз проблем нет, его с головой хватит. не проблема въебать кучу ручного асма: я на спектруме платформеры делал, хуле, у меня мешок трюков в запасе.
а вот вывод на экран — это как раз жопа. в отличие от спектрума, тут никакие трюки с блитом через стек, раскруткой кода и прочего особо не помогают, потому что тормозит сам видеоадаптер, зараза.
| From: | ketmar |
Date: | September 21st, 2023 - 11:03 am |
---|
| | | (Link) |
|
ну и да: щёлканье портами видеоадаптера тоже МЕДЛЕННА. во первых, сам по себе port i/o залочен на частоту шины, а не CPU (так что активная манипуляция с регистрами EGA/VGA адово тормозит, например). а во-вторых, там есть свои квирки: насколько помню, железо может тоже тормознуть, и или не обработать, если его быстро пинать, или неверные данные отдать. | |