ESXDOS API description?

Do you live and breathe hexadecimal? Do you like speaking to hardware directly?

Moderator: Programming Moderators

Post Reply
User avatar
wallyweek
Posts: 4
Joined: Tue May 30, 2017 6:52 am

ESXDOS API description?

Post by wallyweek » Mon Oct 09, 2017 11:19 pm

Hello all,

I've been looking far and wide for a detailed listing of ESXDOS API / Hook Codes / Jump Table or similar but found only some sparse informations.

Any chance to see it finally emerge, even in beta form? Anyone knows a place which I should have looked before posting?

Thanks!

Alcoholics Anonymous
Posts: 495
Joined: Mon May 29, 2017 7:00 pm

Re: ESXDOS API description?

Post by Alcoholics Anonymous » Mon Oct 09, 2017 11:47 pm

The most complete documentation is probably in z88dk:

Some data structures:
https://github.com/z88dk/z88dk/blob/mas ... xdos.h#L91

Important constants:
https://github.com/z88dk/z88dk/blob/mas ... _esxdos.m4

Same constants with defined numbers:
https://github.com/z88dk/z88dk/blob/mas ... e.inc#L711

z88dk's assembly language api for many functions. The source files contain comments on how to use the esxdos rst 8 api:
https://github.com/z88dk/z88dk/tree/mas ... esxdos/z80

It's a posix-like api so if you're familiar with that it's straightforward to know how to use.

After setting up registers needed for the call, do a "rst 8" followed by a single byte defining the wanted service. If an error happened, the carry flag is set and A = error code. To avoid trouble (there are two ways to enter esxdos which require params in either HL or IX) if a call requires a parameter in HL, put it in both HL and IX.

For dot commands there is more to know.

User avatar
emook
Posts: 69
Joined: Mon May 29, 2017 6:55 pm

Re: ESXDOS API description?

Post by emook » Fri Nov 17, 2017 12:39 am

Also take a look at the Boriel's ZX Basic library which includes an ESXDOS library thanks to by Miguel Angel Rodriguez Jodar (mcleod_ideafix) :

https://github.com/boriel/zxbasic/blob/ ... esxdos.bas

Even if you are not planning to use Boriel's it gives you a good idea of the asm required.
---------
ZXorDIE
http://zxbasic.uk/NextBuild NextBuild
http://zxbasic.uk ZXBD Snapshot uploader
http://zxbasic.uk/db/0 ZXBasic Online Database

Post Reply