Выход после 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

Привет Eugene!!!

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

Hемедленно нажми на RESET, Eugene!

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

Hемедленно нажми на RESET, Alexey!

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

Aaa, it's time to relax, Kirill.

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!

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

Hемедленно нажми на RESET, Sergey!

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 РУшек ставить.
У меня как-то появлялась такая идея, но для этого нужна еще одна мамка.