IM2 in TRDOS
ZXNet echo conference «real.speccy»
From Vova Hex → To All 9 June 1998
Hi!
How to make interrupts work normally during disk operations? In theory, push hl:ld hl,15663:ex (sp),hl at the beginning of the handler should be enough. But it’s not enough --
is reset.. ;( And you can’t disable interruptions.
Yours truly, Hexman/BYTEX.
[Team ZASM] [Team Metallica] [Team Art Works]
From Andy Harchenko → To All 11 June 1998
Having sat down at the keyboard, I decided to draw a letter for you Vova.
Once I was in a museum and there on an old, old stone an ancient man carved that
Tuesday June 09, 1998 right at 19:49, Vova Hex wrote All:
VH> the idea should be enough push hl:ld hl,15663:ex (sp),hl at the beginning
VH> handler. But it’s not enough - it’s reset.. ;( And you can’t disable interrupts
VH>.
Have you built an interrupt vector plate? Without it, nothing will work. At
the beginning of the IM2 processing procedure you need to put DI, and at the end EI:JP #3D2F.
Try this.
VH> Yours truly, Hexman/BYTEX.
VH> [Team ZASM] [Team Metallica] [Team Art Works]
Wiz zE BeSt WisHeZ 2 U!
-=JoCkeR/OmEga HaCkErS Grp/1998year=-
From Konstantin Kozlov → To All 12 June 1998
VH> handler. But if it’s not enough, it’s reset.. ;( And you can’t disable
VH> interruptions.
Did you remember to make an address board? After all, when TR-DOS is disabled on the bus
all sorts of things can come.
Good Bye!
/Konstantin/ [Team OS/2]
- --- There are only three things I like:
From Vova Hex → To All 13 June 1998
VH>> How to make interrupts work normally during disk operations? In
VH>> the idea is that push hl:ld hl,15663:ex (sp),hl at the beginning of the
VH>> handler should be enough. But it’s not enough - it’s reset.. ;( And you can’t prohibit
VH>> interruptions.
From Vova Hex → To All 13 June 1998
AH> Did you build an interrupt vector plate?
Yeah.
AH> Without it, nothing will work.
I know.
AH> At the beginning of the IM2 processing procedure you need to put DI, and at the end EI:JP
AH> #3D2F. Try this.
The most interesting thing is that my version should fail when the 48th ROM is running - i.e. when
processing RST#38 - but it doesn’t glitch! Everything somehow turns out the other way around...
From Kirill Frolov → To All 14 June 1998
┌┐
CM07p├0 B┴┴py┌ 11-06-98, B 19:43:15 ├┤ekT0
Andy Harchenko ┌┐│/│Ca/\ k Vova Hex ┌┐p0 IM2 in TRDOS:
├┤i Andy & Vova !
[...]
AH> at the beginning of the IM2 processing procedure you need to put DI, and at the end EI:JP #3D2F.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
There is no need to teach people bad things! Read the doc on Z80.
YOU NEVER NEED TO DI AT THE BEGINNING OF AN INTERRUPTION PROCESSING PROGRAM!
AFTER THE INTERRUPTION, THE PROCESS ITSELF PROHIBITS THEM!
But there is one problem here - it is better to issue the EI command no earlier
than after about 60 clock cycles - there are such long /INTs.
An interruption can occur several times in a row, which sometimes
can lead to bad consequences.
Why doesn't TR-DOS work with IM2? Yes, it’s simple - he fundamentally
cannot work with it fully. TR-DOS calls subroutines
from BASIC-48. And returning from an interrupt must be done either in BASIC or
in TR-DOS. And where exactly is not clear. :-( Ultimately, there are 2 options: either don’t use IM2 or use only those TR-DOS subroutines
that will not call subroutines from BASIC-48.
AH> Try this.
It won’t help!
Wi7h be57 Wi5he5, FK0.
From Konstantin Kozlov → To All 17 June 1998
KK>> TR-DOS all sorts of things can come through the bus.
VH> The plate is as expected, 257 bytes.
Well, then I don’t know. At one time I played music while loading from a disk -
everything was upright (only it slowed down terribly).
From Evgeny Milun → To All 19 June 1998
Hello Kirill !
Sunday June 14 1998 23:57, Kirill Frolov ─── Andy Harchenko:
KF> Why doesn't TR-DOS work with IM2? Yes, it’s simple - he fundamentally
KF> cannot work with it fully. TR-DOS calls subroutines
KF> from BASIC-48. And returning from an interrupt must be done either in BASIC or
KF> in TR-DOS. And where exactly is not clear. :-(
Find out. But for this you need to “exhaust” a little. And the computer
must have a stable data bus.
Good luck! Evgeny.
■ Night is shorter than the day... The day will kill me... The world of illusions in it is burning. (C) Aria.