Выход после NMI

ZXNet эхоконференция «real.speccy»

От Eugene Palenock Кому All 04.03.2001


Привет, All!

Переделываю тут TRDOS... Кнопку Magic решил как паузу
задействовать (только не надо мне про /WAIT, не в этом суть).
И вот думаю - через какой адрес лучше вернуть управление ?

Пока вот думаю записать в 4000h - EDh, 45h и после JP 4000h.
Hо чего софту больше не нравится ?
- порча двух байт на экране (а экран может быть 7)
- использование соотв. сис. пер. TRDOS (а прога может убивать TRDOS)
- использовать адрес перед стеком (а стек может быть побайтно рассчитан)

* Оригинал написан в CODE.ZX
* Скопировано в ZX.SPECTRUM
* Скопировано в REAL.SPECCY

С уважением, Евгений.

От Alexey Kravchenko Кому All 04.03.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 - Любовь -

От Kirill Frolov Кому All 04.03.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 байта в нём уже угробишь.
Я так думаю, что ещё десяток можно. Потому что программы рассчитанные по
байтам
уже не будут работать.


От Kirill Frolov Кому All 04.03.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 ещё и флаг прерываний восстанавливает.


От Eugene Palenock Кому All 04.03.2001

AK> Действительно, по моему лучше экран использовать, тока зачем 2-х байтную
AK> комманду RETN юзать, можно и просто RET - на Спеке занчения не
AK> имеет, по какой вариации RET'а выходить из прерываний ;-)

Имеет. Ибо прерывания немаскируемые. При /NMI прерывания запрещаются, но по
RETN их статус восстанавливается.

AK> пс: а какую цель преследует переделка дыр-доса, просто
AK> интересно???

Hу базовая 5.04T плюс разные подпрограммы директного доступа к портам
(#3CC0,#3CC3,#3FF0,#3FF3) и меню по Magic - отмена/magic/ввод банки и адреса
для JP туда (можно STS там размещать) А вообще никакой цели нет, просто
настроение хорошее ;)

С уважением, Евгений.

От Kirill Frolov Кому All 05.03.2001

EP> Hу базовая 5.04T плюс разные подпрограммы директного доступа к портам
EP> (#3CC0,#3CC3,#3FF0,#3FF3) и меню по Magic - отмена/magic/ввод банки и
EP> адреса для JP туда (можно STS там размещать)

5.04 это неудачный вариант. Имхо.

Я бы туда (В ПЗУ) предложил такую программу сделать: чтобы образ памяти
128кб
(Z80, SNA и т.п.) отписывало на рам-диск и запускало чистый тр-дос или
загружало
другой образ. Hу ты MagOS на скорпионе видел надеюсь? Псевдномногозадачность
такая
вот. И не надо говорить что бесполезно. Очень полезная вещь, я так в
"Сталкера" игрался...
(там всё время убивали).


EP> А вообще никакой цели нет, просто настроение хорошее ;)

Hе трать время напрасно...


От Sergey Selev Кому All 06.03.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]

От Pawel Kislyak Кому All 07.03.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]

От Kirill Frolov Кому All 08.03.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у и память должна быть у него общая с
основным
процессором. А видеопамяти, тр-досов и т.п. ему не надо. Можно было бы
запускать в этом микроспектруме ббску/терминалку и параллельно использовать
компутер как хочешь. Только
надо разобраться с дисководами и модемами -- кто ими управлять будет и как.


От Sergey Selev Кому All 08.03.2001

KF> Мысль возникла. Если бы в спек поставить ещё один
KF> спек... Hу типа платы расширения
KF> с Z80, памятью 128кб, порт 7ffd, пзу... Hу и память должна
Уж лучше сразу метр ставить, мне бы влом было 8 РУшек ставить.
У меня как-то появлялась такая идея, но для этого нужна еще одна мамка.