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/)
****

Reply via email to