Read and Write Sectors on Jasmin
----------------------------------------
1) 1st method, use of the FTDOS (from asm or C)
OK, Thus we have all the address locations of the FTDOS functions in Theoric n°25, p30-31
The FTDOS provide some routines in order to read or write directly on some disk sectors.
Routine Address Description
-------------------------------------
!WS #E7A0 Write sector
!RS #E7D6 Read sector
!FS #FS23 Search for the first empty sector
Knowing This :
Vous pouvez lire ou écrire un bloc de 256 octets directement sur un secteur quelconque
de la disquette. Un secteur est repéré par
-le numéro de lecteur (NLU) de 1 à 4, situé à l'adresse #48C
-le numéro de piste (NP) de 0 à 81, situé à l'adresse #48D
-le numéro de secteur (NS) de 1 à 17, situé à l'adresse #48E Lorsque vous lisez un
secteur, il doit être transféré en mémoire centrale. Il faut donc indiquer l'adresse DB du
début du bloc dans lequel les 256 octets du secteur doivent être transférés.
Lorsque vous écrivez sur un secteur, il faut indiquer l'adresse DB du début du bloc de
256 octets à transférer dans le secteur. Cette adresse DB se trouve en #48F et #490.
It should not be difficult to have a very simple routine for the Jasmin
Code: Select all
//Read a Jasmin sector
void main ()
{
poke(#48C,sector_number);
poke(#48D,track_number);
poke(#48E,sector_number);
doke(#48F,address_where_it_should_be_loaded);
call(#E7D6)
}
2) Method 2, without FTDOS
--------------------------------
Everything is exlained in Theoric n°25, pages 15-22 !
How to see if the Jasmin is connected :
Code: Select all
In BASIC :
REPEAT:UNTIL (PEEK(#3F4) AND#01)=0
Or in ASM :
wait
lda# $01
and $03f4
bne wait
rts
How to create a custom DOS boot for Jasmin
---------------------------------------------------
See Theoric n°29 p16-18 : everything there !
You can download Theoric issues on
www.abandonware-magazines.org 