Выход после NMI
ZXNet echo conference «real.speccy»
From Eugene Palenock → To All 4 March 2001
Привет, All!
Переделываю тут TRDOS... Кнопку Magic решил как паузу
задействовать (только не надо мне про /WAIT, не в этом суть).
И вот думаю - через какой адрес лучше вернуть управление ?
Пока вот думаю записать в 4000h - EDh, 45h и после JP 4000h.
Hо чего софту больше не нравится ?
- порча двух байт на экране (а экран может быть 7)
- использование соотв. сис. пер. TRDOS (а прога может убивать TRDOS)
- использовать адрес перед стеком (а стек может быть побайтно рассчитан)
* Оригинал написан в CODE.ZX
* Скопировано в ZX.SPECTRUM
* Скопировано в REAL.SPECCY
С уважением, Евгений.
From Alexey Kravchenko → To All 4 March 2001
04-Mar-01 07:01:33, Eugene Palenock писал All
по теме: Выход после NMI
EP> Привет, All! Переделываю тут TRDOS... Кнопку Magic решил как паузу
EP> задействовать (только не надо мне про /WAIT, не в этом суть). И
EP> вот думаю - через какой адрес лучше вернуть управление ? Пока вот
EP> думаю записать в 4000h - EDh, 45h и после JP 4000h. Hо чего софту
EP> больше не нравится ? - порча двух байт на экране (а экран может
EP> быть 7) - использование соотв. сис. пер. TRDOS (а прога может
EP> убивать TRDOS) - использовать адрес перед стеком (а стек может
EP> быть побайтно рассчитан)
Действительно, по моему лучше экран использовать, тока зачем 2-х байтную
комманду RETN юзать, можно и просто RET - на Спеке занчения не
имеет, по какой вариации RET'а выходить из прерываний ;-)
пс: а какую цель преследует переделка дыр-доса, просто интересно???
[Speccy] [HorrorSoft] [CyberPunks Unity] [Army SUX]
С уважением, Alexey Kravchenko AKA Kurleson^HS^CPU
np: Dolphin - Любовь -
From Kirill Frolov → To All 4 March 2001
04 Mar 01 07:01, Eugene Palenock wrote to All:
EP> Переделываю тут TRDOS... Кнопку Magic решил как паузу
EP> задействовать (только не надо мне про /WAIT, не в этом суть).
EP> И вот думаю - через какой адрес лучше вернуть управление ?
Я ничего не понял. Конкретней объясни. Посмотри как в тр-дос 5.12/13
сделано.
EP> Пока вот думаю записать в 4000h - EDh, 45h и после JP 4000h.
RETN
JP 0x4000
ЗАЧЕМ? :-/
Этот RETN в ПЗУ уже не положить??? Адрес возврата то по любому в ОЗУ
будет.
EP> Hо чего софту больше не нравится ?
EP> - порча двух байт на экране (а экран может быть 7)
Для части софта смертельно.
EP> - использование соотв. сис. пер. TRDOS (а прога может убивать TRDOS)
Аналогично.
EP> - использовать адрес перед стеком (а стек может быть побайтно
EP> рассчитан)
Как бы он не был рассчитан ты как минимум 4 байта в нём уже угробишь.
Я так думаю, что ещё десяток можно. Потому что программы рассчитанные по
байтам
уже не будут работать.
From Kirill Frolov → To All 4 March 2001
04 Mar 01 16:02, Alexey Kravchenko wrote to Eugene Palenock:
AK> Действительно, по моему лучше экран использовать,
Hет.
AK> тока зачем 2-х байтную комманду RETN юзать, можно и просто RET - на
AK> Спеке занчения не имеет, по какой вариации RET'а выходить из
AK> прерываний ;-)
А в спектруме не иначе как чиста-спековские зетники ставят...
В нормальном Z80 RETN ещё и флаг прерываний восстанавливает.
From Eugene Palenock → To All 4 March 2001
AK> Действительно, по моему лучше экран использовать, тока зачем 2-х байтную
AK> комманду RETN юзать, можно и просто RET - на Спеке занчения не
AK> имеет, по какой вариации RET'а выходить из прерываний ;-)
Имеет. Ибо прерывания немаскируемые. При /NMI прерывания запрещаются, но по
RETN их статус восстанавливается.
AK> пс: а какую цель преследует переделка дыр-доса, просто
AK> интересно???
Hу базовая 5.04T плюс разные подпрограммы директного доступа к портам
(#3CC0,#3CC3,#3FF0,#3FF3) и меню по Magic - отмена/magic/ввод банки и адреса
для JP туда (можно STS там размещать) А вообще никакой цели нет, просто
настроение хорошее ;)
С уважением, Евгений.
From Kirill Frolov → To All 5 March 2001
EP> Hу базовая 5.04T плюс разные подпрограммы директного доступа к портам
EP> (#3CC0,#3CC3,#3FF0,#3FF3) и меню по Magic - отмена/magic/ввод банки и
EP> адреса для JP туда (можно STS там размещать)
5.04 это неудачный вариант. Имхо.
Я бы туда (В ПЗУ) предложил такую программу сделать: чтобы образ памяти
128кб
(Z80, SNA и т.п.) отписывало на рам-диск и запускало чистый тр-дос или
загружало
другой образ. Hу ты MagOS на скорпионе видел надеюсь? Псевдномногозадачность
такая
вот. И не надо говорить что бесполезно. Очень полезная вещь, я так в
"Сталкера" игрался...
(там всё время убивали).
EP> А вообще никакой цели нет, просто настроение хорошее ;)
Hе трать время напрасно...
From Sergey Selev → To All 6 March 2001
5 марта 2001 Kirill Frolov и Eugene Palenock говорили о Выход после NMI
KF> Я бы туда (В ПЗУ) предложил такую программу сделать:
KF> чтобы образ памяти 128кб
KF> (Z80, SNA и т.п.) отписывало на рам-диск и запускало
KF> чистый тр-дос или загружало
KF> другой образ. Hу ты MagOS на скорпионе видел надеюсь?
У меня такое уже давно стоит, правда оно в передает управление в кэш. Работа с
.ram ведется с помощью magic service, который я для удобства вклеил в
коммандер. KF> Псевдномногозадачность такая
KF> вот. И не надо говорить что бесполезно. Очень полезная
KF> вещь, я так в "Сталкера" игрался...
Или сидишь в ЧВ режешься, а ломится поинт...
Well, till next time...
██▓▓▓▒▒▒░░░ ╔══ Сергей aka Cyber from Cobra Software ══╗
█▓▓▓▒▒▒░░░ ╚══════ 500:322/62 ════ 2:462/167.62 ══════╝
... [I ZX] [Beer] [Storm] [No RAR allowed] [ZXNet] [FidoNet] [Offspring]
From Pawel Kislyak → To All 7 March 2001
Eugene Palenock ==========> All:
EP> Переделываю тут TRDOS... Кнопку Magic решил как паузу
EP> задействовать (только не надо мне про /WAIT, не в этом суть).
EP> И вот думаю - через какой адрес лучше вернуть управление ?
EP> Пока вот думаю записать в 4000h - EDh, 45h и после JP 4000h.
EP> Hо чего софту больше не нравится ?
EP> - порча двух байт на экране (а экран может быть 7)
EP> - использование соотв. сис. пер. TRDOS (а прога может убивать TRDOS)
EP> - использовать адрес перед стеком (а стек может быть побайтно
EP> рассчитан)
Как тут не крути, но стек все равно испортится, на него ложится адрес
возврата, используемые регистры в обработчике. Как минимум запорется
8 байт (адрес возврата, регистры AF,HL и команда RETN), а там могут
быть спрайты... Можно сделать что бы портилось 4 байта:
EX (SP),HL
PUSH AF
LD A,H
CP #40
JR C,STACKRET
POP AF
EX (SP),HL
RETN
STACKRET; если адрес возврата в ПЗУ, то под стеком явно не спрайты лежат,
; и можно со спокойной совестью использовать его для RETN.
Bye!
Pa...@nm.ru realsoft.nm.ru [RC 2.0 47%] [ZX] [Real Software]
From Kirill Frolov → To All 8 March 2001
06 Mar 01 16:51, Sergey Selev wrote to Kirill Frolov:
KF>> запускало чистый тр-дос или загружало другой образ. Hу ты MagOS на
KF>> скорпионе видел надеюсь?
[...]
SS> Или сидишь в ЧВ режешься, а ломится поинт...
Мысль возникла. Если бы в спек поставить ещё один спек... Hу типа платы
расширения
с Z80, памятью 128кб, порт 7ffd, пзу... Hу и память должна быть у него общая с
основным
процессором. А видеопамяти, тр-досов и т.п. ему не надо. Можно было бы
запускать в этом микроспектруме ббску/терминалку и параллельно использовать
компутер как хочешь. Только
надо разобраться с дисководами и модемами -- кто ими управлять будет и как.
From Sergey Selev → To All 8 March 2001
KF> Мысль возникла. Если бы в спек поставить ещё один
KF> спек... Hу типа платы расширения
KF> с Z80, памятью 128кб, порт 7ffd, пзу... Hу и память должна
Уж лучше сразу метр ставить, мне бы влом было 8 РУшек ставить.
У меня как-то появлялась такая идея, но для этого нужна еще одна мамка.