Так как машины состоят в близком родстве, то удалось обойтись заменой процедуры копирования теневого экрана в реальный и некоторыми исправлениями в опросе клавиатуры. На самом дел, основное время ушло на разбор исходного кода. Его не так уж много, но всё же 4К строк -- это 4К строк.
Уже сделал и перезалил поверх. Ночь была просто из-за того, что поторопился.
Я в конечном счёте сделал через XOR и палитру.
Не уверен. В общем-то это вкусовщина... ну надо подумать.
На самом деле я их вовсе обнулил. Оно сейчас упирается в отрисовку тайловой карты в теневой буфер (каждый кадр!), и несколько в меньшей степени -- в разворачивание буфера в 2 бита/пиксель.
Надо как-то это дело переписать для скорости.
Кстати, движок, несмотря на простоту, в общем-то может довольно многое при простых модификациях. Игра такая скромная (почти нет предметов, и всего 7 загадок) исключительно потому, что у калькулятора закончилась память. Автор сам писал, что ему пришлось выкинуть часть комнат, чтобы она влезла. На 11М запас-то ещё огромный, есть куда развернуться.
Да даже без дополнительных страниц, так код можно где-то на килобайт сократить просто переписав все простыни cmp/beq на таблицы и сделав хотя бы минимальный байткод для логики. Только на это время нужно ...





Так как машины состоят в близком родстве, то удалось обойтись заменой процедуры копирования теневого экрана в реальный и некоторыми исправлениями в опросе клавиатуры. На самом дел, основное время ушло на разбор исходного кода. Его не так уж много, но всё же 4К строк -- это 4К строк.
Ответить с цитированием