Просмотр полной версии : Пофантазируем на дополнительные команды Z80
Чисто фантазия :) но не совсем
Имеем к примеру платку с плис которая втыкается вместо Z80, в ней соответственно раскидан Z80 с плюшками, юзабельно на любом спектруме.
По мне как обязательно:
MUL A, (B,C,D,E,H,L,A)
DIV A, (B,C,D,E,H,L,A)
наверное какой то CMUL, CDIV с учётом переноса
LDIR, LDDR, LDI, LDD с 4-8 тактов на байт
У кого какие мысли возникают? свои команды кидайте.
CodeMaster
25.05.2025, 22:44
По мне как обязательно:
Зачем?
Будем считать что это Сопроцессор :)
тактов так 10 на умножение таки лучше чем пару тысяч процедурных :D
Чисто технически даже если вынести их через CALL/RET и вызывать соответственно после начальной проверки на их существование то совместимость не страдает а чиселки считает в несколько тысяч раз быстрее.
Может я всё таки осуществлю свою детскую мечту сделать из спектрума что-то нужное кроме игр :) Хочу самые настоящие порты ICS, RS-232, I2S, SPI и что бы с спектрума управлять и тестировать всё это множество современных приблуд :)
- - - Добавлено - - -
Хочу что было можно было к примеру Ардуино цеплять к спектруму и писать прогу напрямую и прошивать :)
- - - Добавлено - - -
Сделать с нуля файловый менеджер который я так и не доделал в 1996 году когда ушёл в армию а диски в гараже похерелись :) Уже работал двухпанельный менеджер с вьювером scr и сжималкой плавающим битом, протрекеровский плеер с эквалайзером на весь экран, даже работала передача файлов по витой паре между двумя спектрумами с коррекцией ошибок.
CodeMaster
25.05.2025, 23:23
Может я всё таки осуществлю свою детскую мечту сделать из спектрума что-то нужное кроме игр
Ставь какой-то МК или ПЛИС фоном и делай какие хочешь команды под свои мечты, больше этим никто пользоваться не будет.
Ну то да, остаётся только так, прошли времена рассыпухи :)
Чисто фантазия :) но не совсем
Имеем к примеру платку с плис которая втыкается вместо Z80, в ней соответственно раскидан Z80 с плюшками, юзабельно на любом спектруме.
По мне как обязательно:
MUL A, (B,C,D,E,H,L,A)
DIV A, (B,C,D,E,H,L,A)
наверное какой то CMUL, CDIV с учётом переноса
LDIR, LDDR, LDI, LDD с 4-8 тактов на байт
У кого какие мысли возникают? свои команды кидайте.
зачем платку, можно в эмуляторе прикрутить и не только mul/div, но и прокинуть OpenGL вызовы, чтобы их мог дергать сам спектрум. Только кто код под это будет писать?
Это уже слишком заморочено и слишком просто, можно уже в RP2040 всё запихать.
Не знаю, не ужели это конец спектруму :(:(:(:(
CodeMaster
26.05.2025, 08:27
Не знаю, не ужели это конец спектруму
Если ты вот про это:
Хочу что было можно было к примеру Ардуино цеплять к спектруму и писать прогу напрямую и прошивать
то, да.
Сделать с нуля файловый менеджер который я так и не доделал в 1996 году когда ушёл в армию а диски в гараже похерелись Уже работал двухпанельный менеджер с вьювером scr и сжималкой плавающим битом, протрекеровский плеер с эквалайзером на весь экран, даже работала передача файлов по витой паре между двумя спектрумами с коррекцией ошибок.
Если про это, то тебе нах не нужны эти команды, просто сделай софт-управляемое турбирование 7-14-21 МГц и пиши на здоровье.
Дык я и хочу железный Зилог на 20-24 МГц :)
- - - Добавлено - - -
А если в ПЛИС будет к примеру контроллер DMA и Прерываний это будет всё ещё кошерно? :) их же Зилог выпускал и они теоретически должны были стоять в Спектруме, просто кто-то сильно всё удешевил, даже ВГ93 умеет в запросы DMA, а если хотя бы 1 прерывание на 1 кГц допустим помимо 50 Гц? в идеале конечно 16 кГц :)
MUL DIV можно и через порт сделать, всё равно гораздо быстрее будет.
А почему прицепить те же Atmeги или PICи8 к порту и спокойно их прошить нельзя, мы же вроде не разучились писать в коде z80? ПЗУхи прошивали а тут почему нельзя
Все давно ̶у̶к̶р̶а̶д̶е̶н̶о̶ придумано до нас.
ZX Spectrum Next
Пару десятков дополнительных команд
DMA, контроллер прерываний
Довольно много софта\игр, скорее всего с классическими командами, но кто знает, может и кто расширенные пользует.
про Next знаю, но он не наш :) и он целиком в плисине, и MUL/DIV там есть :)
а так то да, под него пишут, но на обычном спектруме ничего работать не будет
я же про другое говорил, чисто платка вместо z80 которая втыкается в любой спектрум, мы же некроманты, статику нам нельзя, только динамику подавай, 128кб это вообще противозаконно, а вг93 аще советский копинг чего то импортного :)
Lethargeek
26.05.2025, 14:09
второй стек, или хотя бы "ex sp,rr" - пользы будет куда больше, чем от mul/div (в которых при восьмибитном результате вообще нет смысла, проще посчитать по таблице)
MUL HL,A :)
Второй стёк, по сути это уже поточный DMA, а по факту стёк вообще не для этого :) мы же им не от хорошей жизни пользуемся
если фанатазировать, то наверное полезным была бы реализация однотактовых инструкций и повышение тактовой частоты до 2-3 ГГц. Правда от Z80 тогда наверное ничего не останется :)
от него и так скоро ничего не останется :) их уже не производят, вот есть же разница между 3.5МГц и 20МГц? мы делали программы впихиваясь в 71 тысячу тактов, что бы было если в конце 90-х у нас было 400 тысяч тактов на прерывание? наверное что-то поменялось бы
Lethargeek
26.05.2025, 22:40
Второй стёк, по сути это уже поточный DMA, а по факту стёк вообще не для этого мы же им не от хорошей жизни пользуемся
в 6809 два искаропки - потому что для хорошей жизни оказалось лучше остального, что не включили
CodeMaster
27.05.2025, 11:01
Дык я и хочу железный Зилог на 20-24 МГц
Дык они есть, допиливать надо, про программное управление турбой не видел.
Дык они есть, допиливать надо, про программное управление турбой не видел.
В Eve разве нет динамической турбы? у меня кроме пентагона ничего нет :)
- - - Добавлено - - -
в 6809 два искаропки - потому что для хорошей жизни оказалось лучше остального, что не включили
А для чего им могло бы понадобится 2 стека? там же проц простейший
Lethargeek
29.05.2025, 14:20
А для чего им могло бы понадобится 2 стека? там же проц простейший
например, для шитого кода с быстрым переходом по цепочке адресов через ret
полукомпиляторы легко делать, форт вообще почти как родной ложится
да и вообще удобно бывает адреса и данные разделять
на z80 - приходится извращаться и чем-то жертвовать
ускоришь одно - раздувается и замедляется остальное
Потому что он сделан как то странно, как можно было LDIR растянуть на 21 такт, такое ощущение что он работает как SOFT процессор, побайтово загружает регистры в ALU изменяет и загружает обратно, нельзя было сделать параллельно INC HL+INC DE+DEC BC?
Данные разделять да, прикольно было бы.
А что по поводу 5 байтного формата калькулятора бейсика? имеет место жить?
Сделать с нуля файловый менеджер который я так и не доделал в 1996 году когда ушёл в армию а диски в гараже похерелись :) Уже работал двухпанельный менеджер с вьювером scr и сжималкой плавающим битом, протрекеровский плеер с эквалайзером на весь экран, даже работала передача файлов по витой паре между двумя спектрумами с коррекцией ошибок.
Совсем все диски и кассеты поглибли или что то осталось?
Усё сдохло, вода в коробки картонные попала, 3 коробки полных.
Осталось только то что давал пацанам на радиорынке :) и кто то раскидал это по всей планете
это что мне на глаза попалось
https://bbb.retroscene.org/prod.php?p=5935
https://bbb.retroscene.org/prod.php?p=4898
Тут можно сразу в эмуляторе запустить, на последней части где текст можно кнопками Q и A скролить текст
оно и на юутбе есть и на zxart.ee
может что-то и ещё есть
- - - Добавлено - - -
Free Demo не успел доделать, пацанам давал глянуть в несжатом виде :)
82366
82367
Что бы темы не плодить, кто что думает по поводу убираемости страницы ПЗУ из видимости, что бы все 4 страницы по 16кб по своему усмотрению, точнее по усмотрению ОС
это штатный режим у "Хоббита"
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot