Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Z80 emulator extended instructions

42 views
Skip to first unread message

Paul E Collins

unread,
Jan 27, 2012, 4:40:04 PM1/27/12
to
Remember Gerton Lunter's "Z80" Spectrum emulator from the 1990s?

I seem to recall a proposal (or even a Z80 release) long ago, relating to
the use of extended/undocumented Z80 instructions to perform operations
outside the emulator -- a bit like how a TZX file can give instructions to
the emulated tape recorder.

Can anyone jog my memory about this and give some more details about what
was achieved and what it was (intended to be) used for?

Eq.

Philip Kendall

unread,
Jan 27, 2012, 4:57:56 PM1/27/12
to
IIRC, this was Warajevo, not Z80. See the "Using 'Escape' sequences"
section in Warajevo's manual.

Cheers,

Phil

--
Philip Kendall <phi...@shadowmagic.org.uk>
http://www.shadowmagic.org.uk/

Matthew Wilson

unread,
Jan 31, 2012, 1:07:28 PM1/31/12
to
On Jan 27, 9:57 pm, Philip Kendall <phi...@shadowmagic.org.uk> wrote:
> On 27/01/12 21:40, Paul E Collins wrote:
>
> > Remember Gerton Lunter's "Z80" Spectrum emulator from the 1990s?
>
> > I seem to recall a proposal (or even a Z80 release) long ago, relating
> > to the use of extended/undocumented Z80 instructions to perform
> > operations outside the emulator -- a bit like how a TZX file can give
> > instructions to the emulated tape recorder.
>
> > Can anyone jog my memory about this and give some more details about
> > what was achieved and what it was (intended to be) used for?
>
> IIRC, this was Warajevo, not Z80. See the "Using 'Escape' sequences"
> section in Warajevo's manual.

The one that springs to mind in Z80 was the use of a special opcode
for loading
multi-level data from SLT files.
http://www.worldofspectrum.org/faq/reference/formats.htm#SLT

Matthew

jgharston

unread,
Feb 6, 2012, 10:50:43 AM2/6/12
to
Matthew Wilson wrote:
> > > I seem to recall a proposal (or even a Z80 release) long ago, relating
> > > to the use of extended/undocumented Z80 instructions to perform
> > > operations outside the emulator -- a bit like how a TZX file can give
> > > instructions to the emulated tape recorder.
>
> The one that springs to mind in Z80 was the use of a special opcode
> for loading multi-level data from SLT files
> http://www.worldofspectrum.org/faq/reference/formats.htm#SLT

TECHINFO.DOC refers to ED F8 to ED FF to access the host system,
(my Z80Tube uses ED 00 to ED 0F in a similar way), see
http://mdfs.net/Docs/Comp/Z80/OpList

The only details are that ED FF returns to DOS, and ED FB is
used to access the SamRam and to load multi-level games:

If the ED FB opcode is in memory above 3FFF, a block of code
is loaded into memory at HL. The data is loaded from the
last accessed .Z80 or .SLT file, if not found there data is
loaded from a file with the name of the last snapshot loaded,
appended with the decimal value of the A register, with a .DAT
extension. If no filennn.dat file is found, a dialog window
pops up to prompt the user for a file.

JGH

jgharston

unread,
Feb 6, 2012, 1:34:38 PM2/6/12
to
jgharston wrote:
> TECHINFO.DOC refers to ED F8 to ED FF to access the host system,

More detailed information:

ED F8 NOP
Ununsed

ED F9 BYTECOPY
LD A,(DE) from normal memory
LD (HL),A to SamRam memory
INC E
INC H

ED FA LDOBAHL
Load A with byte in SamRam at (HL)

ED FB LDOBHLA
If PC<4000, store byte in A in SamRam at (HL)
If PC>3FFF, multi-level loader, loads code to HL
from last accessed .Z80 or .SLT file, or from a
file name xxxxnnn.dat, where xxxx is the last
snapshort filename, and nnn is the A register
in decimal. If no file found, the user is
prompted for a file.

ED FC READBYTE
Reads byte from RS232 to A
Z/CC=no byte waiting, NZ/CS=byte recieved

ED FD SENDBYTE
Sends A to RS232

ED FE ROMPOKE
LD (HL),A writing into ROM

ED FF QUIT
Exits emulator

JGH
0 new messages