Судьба эмулятора SPRINT - теперь он называется SprintEm и умеет эмулировать ZX Spectrum SE

Публичный форум для http://www.nedopc.org/nedopc

Moderator: Shaos

Какое железо ещё поддержать в этом эмуляторе?

ZX-Spectrum 48K/128K
1
10%
ATM-Turbo2+
1
10%
Орион на Z80
1
10%
Специалист на Z80
3
30%
Никакое - пусть остаётся только Спринтер
1
10%
А мне пофиг
3
30%
 
Total votes: 10
User avatar
Shaos
Admin
Posts: 24391
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Судьба эмулятора SPRINT - теперь он называется SprintEm и умеет эмулировать ZX Spectrum SE

Post by Shaos »

Вроде сделал стандартные ZX атрибуты (пока без мультиколора):
Sp0001.png
Слева вверху результат работы вот такой программки (плюс в диалоговом режиме разноцветных окружностей нарисовал):
Sp0003.png
PAPER как можно видеть тоже работает (тут из диалогового режима выполнил PAPER 6 и затем LIST)
You do not have the required permissions to view the files attached to this post.
User avatar
Shaos
Admin
Posts: 24391
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Судьба эмулятора SPRINT - теперь он называется SprintEm и умеет эмулировать ZX Spectrum SE

Post by Shaos »

Блин я чото сломал ночью и стандартный режим ZX перестал рисовать графику :(
А всего то хотел прикрутить сборку через make sebasic
Так что пока репу не обновляю...

P.S. Я вот тут ещё думаю, а не поддержать ли бордер в реальном времени? Хотя бы построчно...
User avatar
Shaos
Admin
Posts: 24391
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Судьба эмулятора SPRINT - теперь он называется SprintEm и умеет эмулировать ZX Spectrum SE

Post by Shaos »

Фуф - вроде починил :roll:

Суть в том, что у меня даже при сборке с ключом BASICSE подкгружался autoexec=FN.EXE который ломал спектрумовое расположение страниц и страница 5 (которая всегда должна быть в адресах #4000...#7FFF и держит в себе стандартный видеобуфер) терялась - в результате при переключении режимов экран не восстанавливался из страницы 5 т.к. запись в стандартном режиме всегда велась в левую страницу, а страница 5 была пустой - убрал автозапуск в случае сборки с ключом BASICSE и всё снова заработало :mrgreen:

Выкладываю: https://gitlab.com/nedopc/sprintem/-/commit/b4781f2963518d70476a06c47713c6b39a39fe9c
User avatar
Shaos
Admin
Posts: 24391
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Судьба эмулятора SPRINT - теперь он называется SprintEm и умеет эмулировать ZX Spectrum SE

Post by Shaos »

Вот видосик запуска в режиме SE Basic IV :mrgreen:

You do not have the required permissions to view the files attached to this post.
User avatar
Shaos
Admin
Posts: 24391
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Судьба эмулятора SPRINT - теперь он называется SprintEm и умеет эмулировать ZX Spectrum SE

Post by Shaos »

Shaos wrote: 26 Oct 2025 12:46 P.S. Я вот тут ещё думаю, а не поддержать ли бордер в реальном времени? Хотя бы построчно...
Ещё надо поддержать сохранение и подгрузку файлов снапшотов SNA и можно подумать над поддержкой файлов TAP :roll:

Ну и плюс я ведь придумал расширение ULAplus, которое можно назвать ULA++ (чтобы не пересекаться с торговой маркой ULAplus, использование которой с некоторых пор требует лицензии) - его тоже можно в этом эмуле поддержать :egeek:
User avatar
Shaos
Admin
Posts: 24391
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Судьба эмулятора SPRINT - теперь он называется SprintEm и умеет эмулировать ZX Spectrum SE

Post by Shaos »

Поддержал все 8 комбинаций цветов в режиме высокого разрешения:

Code: Select all

D0-2: Screen mode. 000=screen 0, 001=screen 1, 010= hi-colour, 110=hi-res
D3-5: Sets the screen colour in hi-res mode.
        000 - Black on white.     100 - Green on magenta.
        001 - Blue on yellow.     101 - Cyan on red.
        010 - Red on cyan.        110 - Yellow on blue.
        011 - Magenta on green.   111 - White on black.
D6:   If set disables the generation of the timer interrupt.
D7:   Selects which bank the horizontal MMU should use. 0=DOCK, 1=EX.
Sp0001.png
https://gitlab.com/nedopc/sprintem/-/commit/968477ecd188e9407fd0b3d1aca3c6bc538b20a9

(если кто будет в код смотреть, то там номера цветов по EGA-шному указаны, не по ZX-овски, т.к. мне так удобнее, но всё выглядит как надо - сравнивал с Fuse)

Теперь надо с бордюром разбираться рисуя его построчно с привязкой к кадровому прерыванию...
You do not have the required permissions to view the files attached to this post.
User avatar
Shaos
Admin
Posts: 24391
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Судьба эмулятора SPRINT - теперь он называется SprintEm и умеет эмулировать ZX Spectrum SE

Post by Shaos »

Потихоньку прикручиваю бордюр (с запасом на свои расширения):
You do not have the required permissions to view the files attached to this post.
User avatar
Shaos
Admin
Posts: 24391
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Судьба эмулятора SPRINT - теперь он называется SprintEm и умеет эмулировать ZX Spectrum SE

Post by Shaos »

Добавил бордюр - пока статический, но работает в обоих режимах:
SprintEm-SEBasic4-mode0-border.png
(в режиме высокого разрешения бордюр всегда имеет цвет фона, который всегда повышенной яркости)

https://gitlab.com/nedopc/sprintem/-/commit/5e52264c26371ff09d9738145ca162f0c4f94b5a
You do not have the required permissions to view the files attached to this post.
User avatar
Shaos
Admin
Posts: 24391
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Судьба эмулятора SPRINT - теперь он называется SprintEm и умеет эмулировать ZX Spectrum SE

Post by Shaos »

Shaos wrote: 27 Oct 2025 23:55 Добавил бордюр - пока статический, но работает в обоих режимах...
А теперь надо сделать динамический (построчный) бордер - причём в динамический режим оно будет переходить если переключение цвета бордера случилось чаще чем 2 раз за кадр (это значит программа пытается что-то рисовать на бордюре). Ну и в перспективе я хочу свои расширенные режимы ZX графики попробувать:
You do not have the required permissions to view the files attached to this post.
User avatar
Shaos
Admin
Posts: 24391
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Судьба эмулятора SPRINT - теперь он называется SprintEm и умеет эмулировать ZX Spectrum SE

Post by Shaos »

Ещё видосик тестирования эмуля - INK, PAPER, BORDER в разных режимах :roll:



Вобщем всё работает как надо - BORDER игнорируется в MODE 1, однако значение запоминается и при выходе в MODE 0 бордюр становится нужного цвета. А вот INK и PAPER в MODE 1 меняют и бордюр (таймексовский режим высокого разрешения устанавливает цвет бордюра равным цвету фона и SE Basic IV этим пользуется).
You do not have the required permissions to view the files attached to this post.