still in the mood...
On Thu, 12 Nov 1998, Alwin Henseler wrote:
>
> Hi again (we keep trying),
>
>
> > > My idea: why not indicate a big sector number with the highest bit of
> > > the drive number (passed with A register)?
> (chop, chop...)
>
>
> New calling convention:
> --------------------------------
>
> (drive numbers: for BIOS-routine 0144h: 0=A, 1=B, etc.,
> for driver entry 4010h: drivenumber = 'local' drive)
>
> For the programmer:
> - 'old' disk-I/O: as normal
> - 'Big disk-I/O':
>
> LD A,drivenumber
> SET 7,A
> LD DE,pointer to 32-bit sectornumber
> CALL DSKIO
>
> (other parameters as usual)
> ...
>
> I challenge you to come up with a better way.
>
don't shoot me! ;-)
DISKIO #4010:
-------------
A: bit 7: 1= >16bit handling
HL: DTA
B: number of sectors
C: mediabyte
DE: sectornumber lowword (both old and new type of DISKIO)
bit 17-... of the sectornumber in case of >16bit sectornumbers can be
fetched from a FIXED memorylocation somewhere in page 3.
When reading sectors with the same bits 17-.. you can leave this
memorylocation's contents unaltered.
Advantages:
*faster: very easy sectorfetching in diskrom
*easier for programmers: no need to store the lowword in memory, no need
to load a register with a pointer that in most cases will always be the
same address
Jon
****
MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put
in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the
quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
****