13793
UTILITAIRE -> Outils pour disquettes et cassettes
© _Public_Domain_ (1990)
 
 
 
Disc Utility v4.7
cpc
 
 

NOTICE / MANUAL

TXT (1)

NOTICE TEXTE n° 1 (36.53 Ko)

; ------------------------------------------------------------------------------------ ; DISC UTILITY V4.7 (C) J.P.B SYSTEM 1990 ; ; |SECTEUR.LIRE,< numero >,< piste >,< drive >,< adresse du buffer > ; |SECTEUR.ECRIRE,< numero >,< piste >,< drive >,< adresse du buffer > ; ; |PISTE.LIRE,< numero >,< premier secteur >,< nbre secteur >,< drive >,< adresse buffer > ; |PISTE.ECRIRE,< numero >,< premier secteur >,< nbre secteur >,< drive >,< adresse buffer > ; ; |PISTE.POSITION.0,< drive > ; ; |FORMATER,< piste >,< premier secteur >,< nombre de secteur >,< drive > ; |FORMATAGE,< type de lecteur en decimal >,< numero du secteur >,< drive > ; ; |PC.LIRE.525,< numero de tete >,< numero de piste >,< buffer >,< drive > ; |PC.ECRIRE.525,< numero de tete >,< numero de piste >,< buffer >,< drive > ; |PC.FORMATAGE.525,< numero de tete >,< numero de piste >,< drive > ; ; |PC.LIRE.035,< numero de tete >,< numero de piste >,< buffer >,< drive > ; |PC.ECRIRE.035,< numero de tete >,< numero de piste >,< buffer >,< drive > ; |PC.FORMATAGE.035,< numero de tete >,< numero de piste >,< drive > ; ; ------------------------------------------------------------------------------------ ORG &9800 ; Debut de l'assemblage LD HL,BUFFA LD BC,TABLE CALL KERNEL ; Definition des RSX LD HL,MESSA7 JP BOUCLE BUFFA DEFS 4 TABLE DEFW SECTA JP RUNA ; Saut au programme 1 JP RUNB ; Saut au programme 2 JP RUNC ; Saut au programme 3 JP RUND ; Saut au programme 4 JP RUNC0 ; Saut au programme 5 JP RUNE ; Saut au programme 6 JP RUNF ; Saut au programme 7 JP RUNG ; Saut au programme 8 JP RUNAA ; Saut au programme 9 JP RUNAB ; SAUT AU PROGRAMME 10 JP RUNAC ; SAUT AU PROGRAMME 11 JP RUNBA ; SAUT AU PROGRAMME 12 JP RUNBB ; SAUT AU PROGRAMME 13 JP RUNBC ; SAUT AU PROGRAMME 14 SECTA DEFM "SECTEUR.LIR","E"+128 ; Definition du nom 1 DEFM "SECTEUR.ECRIR","E"+128 ; Definition du nom 2 DEFM "PISTE.LIR","E"+128 ; Definition du nom 3 DEFM "PISTE.ECRIR","E"+128 ; Definition du nom 4 DEFM "PISTE.POSITION.","0"+128 ; DEFINITION DU NOM 5 DEFM "FORMATE","R"+128 ; Definition du nom 6 DEFM "FORMATAG","E"+128 ; Definition du nom 7 DEFM "HELP.DIS","C"+128 ; Definition du nom 8 DEFM "PC.LIRE.52","5"+128 ; Definition du nom 9 DEFM "PC.FORMATAGE.52","5"+128 ; DEFINITION DU NOM 10 DEFM "PC.ECRIRE.52","5"+128 ; DEFINITION DU NOM 11 DEFM "PC.LIRE.03","5"+128 ; Definition du nom 12 DEFM "PC.FORMATAGE.03","5"+128 ; DEFINITION DU NOM 13 DEFM "PC.ECRIRE.03","5"+128 ; DEFINITION DU NOM 14 ; --------------------------------------------------------------------- ; ------------- ENSEMBLE DE SOUS PROGRAMMES COMMUN A TOUTES LES RSX --- ; --------------------------------------------------------------------- VERI0 CP 5 ; Y-a-t-il assez de parametres JP NZ,ERROR LD A,(IX+9) CP 0 JP NZ,ERL2 LD A,(IX+8) CP 43 JR C,CAPS JP ERL2 CAPS LD A,(IX+7) CP 0 JP NZ,ERL3 LD A,(IX+5) CP 0 JP NZ,ERL4 LD A,(IX+3) CP 0 JP NZ,ERL1 LD A,(IX+2) CP 2 JR C,PLOT JP ERL1 PLOT RET ; Fin de la verification des erreurs DRIVE LD BC,MOTEUR ; commande le moteur du lecteur de disquette OUT (C),A RET FETAR LD A,(IX+7) ; Verification de l'exactitude des parametres CP 0 JP NZ,ERL3 LD A,(IX+3) CP 0 JP NZ,ERL1 LD A,(IX+5) CP 0 JP NZ,ERL2 LD A,(IX+2) CP 2 JR C,OUI JP ERL1 OUI LD A,(IX+4) CP 43 ; Piste de reference = 43 JR C,NON JP ERL2 NON RET TEMPOX LD B,&66 ; routine de temporisation TEMPO2 PUSH BC LD B,&55 TEMPO1 PUSH BC LD B,&11 TEMPO0 DJNZ TEMPO0 POP BC DJNZ TEMPO1 POP BC DJNZ TEMPO2 RET BOUCLE LD A,(HL) ; routine d'ecriture de caracteres ASCII CP 255 RET Z CALL ECRIT INC HL JR BOUCLE KOMMPOS LD A,(DE) ; Effectue le positionnement LD B,A INC DE FDCP PUSH BC LD A,(DE) INC DE PUSH DE CALL ENVOIE POP DE POP BC DJNZ FDCP RET WAIT LD B,&05 WAIT1 PUSH BC LD DE,&DDDD ENCORE DEC DE LD A,D OR E JR NZ,ENCORE POP BC DJNZ WAIT1 RET KOMMFOR LD A,(DE) ; Formatage phase commande LD B,A INC DE FDCFOR PUSH BC LD A,(DE) INC DE PUSH DE CALL ENVOIE POP DE POP BC DJNZ FDCFOR LD BC,&FB7E ; Formatage phase execution ROM 07 CP/M #C6EF YET IN A,(C) JP P,YET AND A,&20 JR Z,GO INC C LD A,(HL) OUT (C),A DEC C INC HL JR YET GO LD HL,RESUL ; Formatage phase resultat ROM 07 CP/M #C91C LD BC,&FB7E LD DE,&C010 TOTOFOR IN A,(C) BIT 4,A JP Z,FIN CP D JR C,TOTOFOR INC C IN A,(C) LD (HL),A INC HL DEC C JR TOTOFOR KOMMAND LD A,(DE) ; PHASE COMMANDE LD B,A INC DE FDC PUSH BC LD A,(DE) INC DE PUSH DE CALL ENVOIE POP DE POP BC DJNZ FDC LD BC,REGSTA ; phase resultat ROM 07 CP/M #C91C LD DE,&C010 TOTO IN A,(C) BIT 4,A JR Z,FIN CP D JR C,TOTO INC C IN A,(C) LD (HL),A INC HL DEC C JR TOTO ENVOIE PUSH AF ; Envoie une donnee au FDC si celui ci est pret PUSH AF ; ROM 07 CP/M #C95C LD BC,REGSTA NON2 IN A,(C) ADD A,A JR NC,NON2 ADD A,A JR NC,TOTO3 POP AF POP AF RET TOTO3 POP AF INC C OUT (C),A DEC C LD A,5 TEMPO DEC A NOP JR NZ,TEMPO POP AF FIN RET ; --------------------------------------------------------------------- ; ------------------------------------ RSX |PISTE.POSITION.0 ---------- ; --------------------------------------------------------------------- RUNC0 CP 1 ; VERIFIE S'IL Y A UN SEUL PARAMETRE JR NZ,ERROR LD A,(IX+&01) CP &00 JP NZ,ERL1 LD A,(IX+&00) AND A,&FC JP NZ,ERL1 LD A,(IX+&00) LD (RECALI),A LD A,&01 CALL DRIVE CALL TEMPOX LD DE,TARC CALL KOMMAND CALL WAIT XOR A JP DRIVE ; --------------------------------------------------------------------- ; ------------------------------------ RSX |SECTEUR.LIRE -------------- ; --------------------------------------------------------------------- RUNA CP 4 ; Verifie les 4 parametres JR Z,SUITE ERROR LD HL,MESSA1 ; Pas assez de parametres JP BOUCLE SUITE CALL FETAR ; Debut de la premiere RSX INTERA LD A,&01 CALL DRIVE LD H,(IX+1) ; Charge le buffer dans HL LD L,(IX+0) LD E,(IX+2) ; Charge le drive dans E LD D,(IX+4) ; Charge la piste dans D LD C,(IX+6) ; Charge le numero de secteur RST &18 ; Appel ROM7 READ SECTOR DEFW BOUTON XOR A JP DRIVE ; -------------------------------------------------------------------- ; --------------------------------- RSX |SECTEUR.ECRIRE -------------- ; -------------------------------------------------------------------- RUNB CP 4 JR NZ,ERROR CALL FETAR ; Verifie l'exactitude des parametres LD A,&01 CALL DRIVE LD H,(IX+1) LD L,(IX+0) LD E,(IX+2) LD D,(IX+4) LD C,(IX+6) RST &18 DEFW MALIN XOR A JP DRIVE ; --------------------------------------------------------------------- ; ------------------------------------- RSX |PISTE.LIRE --------------- ; --------------------------------------------------------------------- RUNC CALL VERI0 ; Verification des bons parametres CP 255 RET Z DEB0 LD A,&01 CALL DRIVE LD H,(IX+1) ; Adresse du buffer LD L,(IX+0) LD B,(IX+4) ; Nombre de secteur a lire LD D,(IX+8) ; Numero de piste LD E,(IX+2) ; Numero de drive LD C,(IX+6) ; Premier secteur a lire FOIN0 PUSH BC ; Sauvegarde les parametres dans la pile PUSH DE PUSH HL RST &18 DEFW BOUTON ; Appel ROM7 READ SECTOR POP HL ; Restore les parametres de la pile POP DE POP BC INC H ; Augmente le buffer de 512 octets INC H INC C ; Passe au secteur suivant DJNZ FOIN0 ; Tant que B<>0 XOR A JP DRIVE ; --------------------------------------------------------------------- ; ----------------------------------- RSX |PISTE.ECRIRE --------------- ; --------------------------------------------------------------------- RUND CALL VERI0 ; Verification DU NOMBRE ADEQUAT DE parametres CP 255 RET Z DEB1 LD A,&01 CALL DRIVE LD H,(IX+1) ; Adresse du buffer LD L,(IX+0) LD B,(IX+4) ; Nombre de secteur a lire LD D,(IX+8) ; Numero de piste LD E,(IX+2) ; Numero de drive LD C,(IX+6) ; Premier secteur a lire FOIN1 PUSH BC ; Sauvegarde les parametres dans la pile PUSH DE PUSH HL RST &18 DEFW MALIN ; Appel ROM7 WRITE SECTOR POP HL ; Restore les parametres de la pile POP DE POP BC INC H ; Augmente le buffer de 512 octets INC H INC C ; Passe au secteur suivant DJNZ FOIN1 ; Tant que B<>0 XOR A JP DRIVE ; --------------------------------------------------------------------- ; ---------------------------------------- RSX |FORMATER -------------- ; --------------------------------------------------------------------- RUNE CP 4 ; Verifie le nombre adequat de parametres JP NZ,ERROR LD A,(IX+7) CP 0 JP NZ,ERL2 LD A,(IX+5) CP 0 JP NZ,ERL3 LD A,(IX+3) CP 0 JP NZ,ERL4 LD A,(IX+1) CP 0 JP NZ,ERL1 LD A,(IX+6) CP 84 ; Piste de reference JR C,VISSA JP ERL2 VISSA LD A,(IX+0) CP 2 JR C,VISSB JP ERL1 VISSB LD C,(IX+4) ; Creation de la table necessaire pour le formatage LD IY,TABLE1 LD B,(IX+2) ; Nombre de fois a repeter VISSC XOR A LD D,(IX+6) LD (IY+0),D LD (IY+1),A LD (IY+2),C LD A,2 ; Taille du secteur imposee 512 octets par secteur LD (IY+3),A INC C INC IY INC IY INC IY INC IY DJNZ VISSC ; Remplir toute la table LD D,(IX+6) ; Charge le numero de piste LD E,(IX+0) ; Charge le drive actif LD HL,TABLE1 RST &18 DEFW POST RET ; --------------------------------------------------------------------- ; -------------------------------------------- RSX |FORMATAGE --------- ; --------------------------------------------------------------------- RUNF CP 3 ; Verifie le nombre adequat de parametres JP NZ,ERROR LD A,(IX+5) CP 0 JP NZ,ERL5 LD A,(IX+3) CP 0 JP NZ,ERL3 LD A,(IX+1) CP 0 JP NZ,ERL1 LD HL,VALUE LD A,(IX+4) CP &50 JR NZ,VALUE1 VALUE3 ADD A,2 LD (HL),A JR VALUE2 VALUE1 CP &28 JP NZ,ERL5 JR VALUE3 VALUE2 LD A,(IX+0) CP 2 JR C,OUF JP ERL1 OUF LD C,(IX+2) ; Commence a creer la table en fonction de la demande LD IY,TABLE2 LD B,5 VORT1 LD (IY+2),C INC C PUSH BC LD B,8 VORT6 INC IY DJNZ VORT6 POP BC DJNZ VORT1 LD C,(IX+2) LD B,5 VORT7 INC C DJNZ VORT7 LD IY,TABLE3 LD B,4 VORT8 LD (IY+2),C INC C PUSH BC LD B,8 VORT9 INC IY DJNZ VORT9 POP BC DJNZ VORT8 LD E,(IX+00) XOR A NOIR LD D,A ; Numero de piste compris entre 0 et 41 LD HL,TABLE2 LD IY,TABLE2 LD (IY+00),D LD (IY+4),D LD (IY+8),D LD (IY+12),D LD (IY+16),D LD (IY+20),D LD (IY+24),D LD (IY+28),D LD (IY+32),D PUSH AF PUSH HL PUSH DE RST &18 DEFW POST POP DE POP HL POP AF INC A DEFM &FE ; Code operation de CP xx VALUE DEFM &00 ; Piste de reference determinee par IX+4 JR NZ,NOIR RET ; --------------------------------------------------------------------- ; --------------------- RSX |PC.FORMATAGE.525 ------------------------- ; --------------------------------------------------------------------- RUNAB CP &03 ; VERIFIE LE NOMBRE ADEQUAT DE PARAMETRES JP NZ,ERROR ; EXECUTE LA ROUTINE D'ERREUR LD A,(IX+&05) CP &00 JP NZ,ERROR3 LD A,(IX+&04) AND A,&FE JP NZ,ERROR3 LD A,(IX+&03) CP &00 JP NZ,ERL2 LD A,(IX+&01) CP &00 JP NZ,ERL1 LD A,(IX+&00) AND A,&FC JP NZ,ERL1 LD A,(IX+&00) LD (DRIVE3),A LD (DRIVE4),A LD A,(IX+&04) LD (TETE1),A LD (TETE2),A LD (TETE3),A LD (TETE4),A LD (TETE5),A LD (TETE6),A LD (TETE7),A LD (TETE8),A LD (TETE9),A LD A,(IX+&02) LD (TRACK1),A LD (TRACK2),A LD (TRACK3),A LD (TRACK4),A LD (TRACK5),A LD (TRACK6),A LD (TRACK7),A LD (TRACK8),A LD (TRACK9),A ; PREPARE L'ID DE LA PISTE RLCA LD (TRACK0),A ; SE POSITIONNE SUR LE CPC POUR ETRE OK AVEC LE PC DI LD A,&01 CALL DRIVE CALL TEMPOX LD DE,TABLP CALL KOMMPOS CALL TEMPOX LD DE,TABLEE ; LD HL,TRACK1 CALL KOMMFOR ; APPELLE DE LA COMMANDE DE FORMATAGE CALL TEMPOX XOR A JP DRIVE ; --------------------------------------------------------------------- ; --------------------- RSX |PC.FORMATAGE.035 ------------------------- ; --------------------------------------------------------------------- RUNBB CP &03 ; VERIFIE LE NOMBRE ADEQUAT DE PARAMETRES JP NZ,ERROR ; EXECUTE LA ROUTINE D'ERREUR LD A,(IX+&05) CP &00 JP NZ,ERROR3 LD A,(IX+&04) AND A,&FE JP NZ,ERROR3 LD A,(IX+&03) CP &00 JP NZ,ERL2 LD A,(IX+&01) CP &00 JP NZ,ERL1 LD A,(IX+&00) AND A,&FC JP NZ,ERL1 LD A,(IX+&00) ; ACQUIERT LE NUMERO DU LECTEUR LD (DRIVE3),A LD (DRIVE4),A LD A,(IX+&04) ; ACQUIERT LE NUMERO DE LA TETE LD (TETE1),A LD (TETE2),A LD (TETE3),A LD (TETE4),A LD (TETE5),A LD (TETE6),A LD (TETE7),A LD (TETE8),A LD (TETE9),A LD A,(IX+&02) ; ACQUIERT LA PISTE A FORMATER LD (TRACK0),A LD (TRACK1),A LD (TRACK2),A LD (TRACK3),A LD (TRACK4),A LD (TRACK5),A LD (TRACK6),A LD (TRACK7),A LD (TRACK8),A LD (TRACK9),A DI LD A,&01 CALL DRIVE CALL TEMPOX LD DE,TABLP CALL KOMMPOS CALL TEMPOX LD DE,TABLEE ; LD HL,TRACK1 CALL KOMMFOR ; APPELLE DE LA COMMANDE DE FORMATAGE CALL TEMPOX XOR A JP DRIVE ; --------------------------------------------------------------------- ; -------------------------------- RSX |PC.LIRE.525 ------------------- ; --------------------------------------------------------------------- RUNAA CP &04 ; VERIFIE LE NOMBRE ADEQUAT DE PARAMETRES JP NZ,ERROR ; EXECUTE LA ROUTINE D'ERREUR LD A,(IX+&07) CP &00 JP NZ,ERROR3 LD A,(IX+&06) AND A,&FE JP NZ,ERROR3 LD A,(IX+&05) CP &00 JP NZ,ERL2 LD A,(IX+&01) CP &00 JP NZ,ERL1 LD A,(IX+&00) AND A,&FC JP NZ,ERL1 LD A,(IX+&00) LD (DRIVE0),A LD (DRIVE1),A LD (DRIVE2),A LD A,(IX+&06) LD (TETE0),A LD A,(IX+&02) LD L,A LD A,(IX+&03) LD H,A LD (BUFFRD),HL LD A,(IX+&04) LD (TRACKY),A DI LD A,&01 CALL DRIVE CALL TEMPOX LD A,(TRACKY) ; NUMERO DE LA PISTE A ETUDIER LD (TRAC1),A RLCA LD (TRACK),A LD DE,TABLE11 ; POSITION SUR LA PISTE DEFINIE CALL KOMMAND CALL WAIT LD DE,TABRE ; LIT LA PISTE APRES S'ETRE POSITIONNNE DESSUS LD HL,(BUFFRD) CALL KOMMAND CALL WAIT LD DE,TABLE4 ; EFFECTUE LE POSITIONNEMENT PISTE 00 CALL KOMMAND CALL WAIT XOR A JP DRIVE ; --------------------------------------------------------------------- ; -------------------------------- RSX |PC.LIRE.035 ------------------- ; --------------------------------------------------------------------- RUNBA CP &04 ; VERIFIE LE NOMBRE ADEQUAT DE PARAMETRES JP NZ,ERROR ; EXECUTE LA ROUTINE D'ERREUR LD A,(IX+&07) CP &00 JP NZ,ERROR3 LD A,(IX+&06) AND A,&FE JP NZ,ERROR3 LD A,(IX+&05) CP &00 JP NZ,ERL2 LD A,(IX+&01) CP &00 JP NZ,ERL1 LD A,(IX+&00) AND A,&FC JP NZ,ERL1 LD A,(IX+&00) ; ACQUIERT LE LECTEUR COURANT LD (DRIVE0),A LD (DRIVE1),A LD (DRIVE2),A LD A,(IX+&06) ; ACQUIERT LE NUMERO DE LA FACE LD (TETE0),A LD A,(IX+&02) ; ACQUIERT L'ADRESSE DU BUFFER LD L,A LD A,(IX+&03) LD H,A LD (BUFFRD),HL ; SAUVE CETTE ADRESSE LD A,(IX+&04) LD (TRACKY),A DI LD A,&01 CALL DRIVE CALL TEMPOX LD A,(TRACKY) ; NUMERO DE LA PISTE A ETUDIER LD (TRACK),A LD (TRAC1),A LD DE,TABLE11 ; POSITION SUR LA PISTE DEFINIE CALL KOMMAND CALL WAIT LD DE,TABRE ; LIT LA PISTE APRES S'ETRE POSITIONNNE DESSUS LD HL,(BUFFRD) ; RETROUVE L'ADRESSE PRECEDEMENT CREE CALL KOMMAND CALL WAIT LD DE,TABLE4 ; EFFECTUE LE POSITIONNEMENT PISTE 00 CALL KOMMAND CALL WAIT XOR A JP DRIVE ; -------------------------------------------------------------------- ; ---------------------------------- RSX |PC.ECRIRE.525 -------------- ; -------------------------------------------------------------------- RUNAC CP &04 ; VERIFIE LE NOMBRE ADEQUAT DE PARAMETRES JP NZ,ERROR ; EXECUTE LA ROUTINE D'ERREUR LD A,(IX+&07) CP &00 JP NZ,ERROR3 LD A,(IX+&06) AND A,&FE JP NZ,ERROR3 LD A,(IX+&05) CP &00 JP NZ,ERL2 LD A,(IX+&01) CP &00 JP NZ,ERL1 LD A,(IX+&00) AND A,&FC JP NZ,ERL1 LD A,(IX+&00) LD (DRIVE5),A LD (DRIVE6),A LD (DRIVE7),A LD A,(IX+&06) LD (TETE00),A LD A,(IX+&02) LD L,A LD A,(IX+&03) LD H,A LD (BUFFWR),HL LD A,(IX+&04) ; ACQUISITION DU NUMERO DE PISTE A ECRIRE LD (PISTE1),A RLCA ; EFFECTUE LA MISE A JOUR POUR IBM LD (PISTE0),A DI LD A,&01 CALL DRIVE ; MET LE MOTEUR SOUS TENSION CALL TEMPOX ; ATTENDRE QUE LA VITESSE SOIT CORRECTE LD DE,TABLEP CALL KOMMPOS ; EFFECTUE LE DEPLACEMENT DE LA TETE CALL TEMPOX ; ATTENDRE QUE LA TETE AIT FINI LE TRAVAIL LD DE,TABWR LD HL,(BUFFWR) CALL KOMMFOR ; APPELLE DE LA COMMANDE D'ECRITURE CALL TEMPOX ; ATTENDRE LE DELAI NECESSAIRE POUR L'ECRITURE LD DE,TABLE0 CALL KOMMPOS ; EFFECTUE LE DEPLACEMENT VERS LA PISTE 00 CALL TEMPOX ; ATTENDRE QUE LA TETE AIT FINI LE TRAVAIL XOR A JP DRIVE ; -------------------------------------------------------------------- ; ---------------------------------- RSX |PC.ECRIRE.035 -------------- ; -------------------------------------------------------------------- RUNBC CP &04 ; VERIFIE LE NOMBRE ADEQUAT DE PARAMETRES JP NZ,ERROR ; EXECUTE LA ROUTINE D'ERREUR LD A,(IX+&07) CP &00 JP NZ,ERROR3 LD A,(IX+&06) AND A,&FE JP NZ,ERROR3 LD A,(IX+&05) CP &00 JP NZ,ERL2 LD A,(IX+&01) CP &00 JP NZ,ERL1 LD A,(IX+&00) AND A,&FC JP NZ,ERL1 LD A,(IX+&00) LD (DRIVE5),A LD (DRIVE6),A LD (DRIVE7),A LD A,(IX+&06) LD (TETE00),A LD A,(IX+&02) LD L,A LD A,(IX+&03) LD H,A LD (BUFFWR),HL LD A,(IX+&04) ; ACQUISITION DU NUMERO DE PISTE A ECRIRE LD (PISTE0),A LD (PISTE1),A DI LD A,&01 CALL DRIVE ; MET LE MOTEUR SOUS TENSION CALL TEMPOX ; ATTENDRE QUE LA VITESSE SOIT CORRECTE LD DE,TABLEP CALL KOMMPOS ; EFFECTUE LE DEPLACEMENT DE LA TETE CALL TEMPOX ; ATTENDRE QUE LA TETE AIT FINI LE TRAVAIL LD DE,TABWR LD HL,(BUFFWR) CALL KOMMFOR ; APPELLE DE LA COMMANDE D'ECRITURE CALL TEMPOX ; ATTENDRE LE DELAI NECESSAIRE POUR L'ECRITURE LD DE,TABLE0 CALL KOMMPOS ; EFFECTUE LE DEPLACEMENT VERS LA PISTE 00 CALL TEMPOX ; ATTENDRE QUE LA TETE AIT FINI LE TRAVAIL XOR A JP DRIVE ; --------------------------------------------------------------------- ; ----------------------------------------- RSX |HELP.DISC ------------ ; --------------------------------------------------------------------- RUNG CP &00 ; Verifie aucun parametres JP NZ,ERROR XOR A PUSH AF ; Sauvegarde A et les flags PUSH AF INC A INC A CALL MODE ; Installe le mode POP AF ; Restitue A et les flags LD B,A LD C,B CALL BORDURE ; Installe la bordure POP AF LD B,A LD C,A PUSH AF CALL ENCRE ; Installe l'encre 0 POP AF INC A LD B,&1A LD C,&1A CALL ENCRE ; Installe l'encre 1 LD HL,MESSA6 JP BOUCLE ERL1 LD HL,MESSA2 ; Message d'erreur drive JP BOUCLE ERL2 LD HL,MESSA3 ; Message d'erreur piste JP BOUCLE ERL3 LD HL,MESSA4 ; Message d'erreur secteur JP BOUCLE ERL4 LD HL,MESSA5 ; Message d'erreur secteur JP BOUCLE ERL5 LD HL,MESSA0 ; Message d'erreur lecteur JP BOUCLE ERROR3 LD HL,MESS3 JP BOUCLE ; --------------------------------------------------------------------- ; ---------------------------------- LISTE DES MESSAGES D'ERREURS ----- ; --------------------------------------------------------------------- MESSA0 DEFM "Type de lecteur errone" DEFM 255 MESSA1 DEFM "Nombre incorrect de parametres" DEFM 255 MESSA2 DEFM "Numero de drive errone " DEFM 255 MESSA3 DEFM "Numero de piste errone " DEFM 255 MESS3 DEFM "Numero de tete errone." DEFM &FF MESSA4 DEFM "Numero de secteur errone " DEFM 255 MESSA5 DEFM "Nombre de secteur errone " DEFM 255 ; --------------------------------------------------------------------- ; ------------------------------------ MESSAGE D'AIDE ----------------- ; --------------------------------------------------------------------- MESSA6 DEFM " ",24,"DISC UTILITY V4.7",24," ",24,"J.P.B SYSTEM 1990 ",24,13,10 DEFM " ------------------ ----------------- ",13,10,10 DEFM "|SECTEUR.LIRE,< numero >,< piste >,< drive >,< adresse du buffer >",13,10 DEFM "|SECTEUR.ECRIRE,< numero >,< piste >,< drive >,< adresse du buffer >",13,10,10 DEFM "|PISTE.LIRE,< numero >,< premier secteur >,< nbre secteur >,< drive >,< adresse buffer >",13,10 DEFM "|PISTE.ECRIRE,< numero >,< premier secteur >,< nbre secteur >,< drive >,< adresse buffer >",13,10 DEFM "|PISTE.POSITION.0,< drive >",13,10,10 DEFM "|FORMATER,< piste >,< premier secteur >,< nombre de secteur >,< drive >",13,10 DEFM "|FORMATAGE,< type de lecteur en decimal >,< numero du secteur >,< drive >",13,10,10 DEFM "|PC.LIRE.525,< numero de tete >,< numero de piste du PC >,< buffer >,< drive >",13,10 DEFM "|PC.ECRIRE.525,< numero de tete >,< numero de piste du PC >,< buffer >,< drive >",13,10 DEFM "|PC.FORMATAGE.525,< numero de tete >,< numero de piste du PC >,< drive >",13,10,10 DEFM "|PC.LIRE.035,< numero de tete >,< numero de piste >,< buffer >,< drive >",13,10 DEFM "|PC.ECRIRE.035,< numero de tete >,< numero de piste >,< buffer >,< drive >",13,10 DEFM "|PC.FORMATAGE.035,< numero de tete >,< numero de piste >,< drive >",13,10,10 DEFM 255 MESSA7 DEFM 13,10," DISC UTILITY V4.7 Installed .",13,10,10 DEFM 255 ; --------------------------------------------------------------------- ; ----------------- ENSEMBLE DES TABLES POUR LES COMMANDES FDC -------- ; --------------------------------------------------------------------- ; EMPLACEMENT DES LABELS ; ---------------------- MOTEUR EQU &FA7E ; COMMANDE DU MOTEUR DU LECTEUR REGSTA EQU &FB7E ; REGISTRE DE STATUS PRINCIPAL KERNEL EQU &BCD1 ; INTRODUCTION D'UNE RSX ECRIT EQU &BB5A ; ECRITURE D'UN CARACTERE MODE EQU &BC0E BORDURE EQU &BC38 ENCRE EQU &BC32 POST DEFM &52,&C6,&07 ; Adresse ROM7 FORMAT TRACK BOUTON DEFM &66,&C6,&07 ; Adresse ROM7 READ SECTOR MALIN DEFM &4E,&C6,&07 ; Adresse ROM7 WRITE SECTOR ; ---------------------------------- ; TABLES DE COMMANDE DE |PC.LIRE.xxx ; ---------------------------------- BUFFRD DEFS &02 TRACKY DEFS &01 TABRE DEFM &09 ; NOMBRE DE PARAMETRES POUR LA LECTURE D'UNE PISTE DEFM &46 ; CODE OPERATION DE LA LECTURE D'UNE PISTE DRIVE0 DEFS &01 ; DRIVE SELECTIONNE TRAC1 DEFS &01 ; NUMERO DE LA PISTE A ETUDIER C TETE0 DEFS &01 ; TETE SELECTIONNEE H DEFM &01 ; NUMERO DU PREMIER SECTEUR R DEFM &02 ; NOMBRE DE DONNEES ECRITES DANS UN SECTEUR N DEFM &09 ; NUMERO DU DERNIER SECTEUR DE LA PISTE DEFM &50 ; VALEUR DU GAP DEFM &00 ; VALEUR SI N=00 ICI LA DOC SPECIFY &FF TABLE11 DEFM &03 ; NOMBRE DE PARAMETRES DEFM &0F ; CODE OPERATION POSITIONNEMENT DRIVE1 DEFS &01 ; DRIVE SELECTIONNE TRACK DEFS &01 ; NUMERO DE LA PISTE A ETUDIER TABLE4 DEFM &02 ; NOMBRE DE PARAMETRES DEFM &07 ; CODE OPERATION POSITIONNEMENT PISTE 00 DRIVE2 DEFS &01 ; DRIVE SELECTIONNE ; ------------------------------------- ; TABLES DE COMMANDES DE |PC.ECRIRE.xxx ; ------------------------------------- BUFFWR DEFS &02 TABLE0 DEFM &02 ; NOMBRE DE PARAMETRES DEFM &07 ; CODE OPERATION POSITIONNEMENT PISTE 00 DRIVE5 DEFS &01 ; DRIVE SELECTIONNE TABLEP DEFM &03 ; NOMBRE DE PARAMETRES POUR LE POSITIONNEMENT DEFM &0F ; CODE OPERATION COMMANDE DE POSITIONNEMENT DRIVE6 DEFS &01 ; DRIVE SELECTIONNE PISTE0 DEFS &01 ; PISTE COURANTE TABWR DEFM &09 ; NOMBRE DE PARAMETRES POUR L'ECRITURE D'UNE PISTE DEFM &45 ; CODE OPERATION COMMANDE D'ECRITURE DRIVE7 DEFS &01 ; DRIVE SELECTIONNE PISTE1 DEFS &01 ; NUMERO DE LA PISTE VUE DE LA TETE C TETE00 DEFM &00 ; NUMERO DE LA TETE COURANTE H DEFM &01 ; NUMERO DU PREMIER SECTEUR R DEFM &02 ; NOMBRE DE DONNEES ECRITES SUR UN SECTEUR N DEFM &09 ; NUMERO DU DERNIER SECTEUR DEFM &50 ; VALEUR DU GAP DEFM &00 ; VALEUR DE DTL SI N=00 ; ---------------------------------------- ; TABLES DE COMMANDES DE |PC.FORMATAGE.xxx ; ---------------------------------------- TABLP DEFM &03 ; NOMBRE DE PARAMETRES POUR LE POSITIONNEMENT DEFM &0F ; CODE OPERATION COMMANDE DE POSITIONNEMENT DRIVE3 DEFS &01 ; DRIVE SELECTIONNE TRACK0 DEFS &01 ; NUMERO DE PISTE POUR LE FDC TABLEE DEFM &06 ; NOMBRE DE PARAMETRES POUR LE FORMATAGE DEFM &4D ; CODE OPERATION COMMANDE DE FORMATAGE DRIVE4 DEFS &01 ; DRIVE SELECTIONNE DEFM &02 ; TAILLE DU SECTEUR DEFM &09 ; NOMBRE DE SECTEURS PAR PISTE DEFM &50 ; LONGUEUR DU GAP DEFM &F6 ; OCTET DE FORMATAGE TRACK1 DEFS &01 ; NUMERO DE LA PISTE A FORMATER VUE DE LA TETE C TETE1 DEFS &01 ; NUMERO DE LA TETE H DEFM &01 ; NUMERO DE CE SECTEUR R DEFM &02 ; NOMBRE D'OCTETS DANS CE SECTEUR N TRACK2 DEFS &01 ; NUMERO DE LA PISTE A FORMATER VUE DE LA TETE C TETE2 DEFS &01 ; NUMERO DE LA TETE H DEFM &02 ; NUMERO DE CE SECTEUR R DEFM &02 ; NOMBRE D'OCTETS DANS CE SECTEUR N TRACK3 DEFS &01 ; NUMERO DE LA PISTE A FORMATER VUE DE LA TETE C TETE3 DEFS &01 ; NUMERO DE LA TETE H DEFM &03 ; NUMERO DE CE SECTEUR R DEFM &02 ; NOMBRE D'OCTETS DANS CE SECTEUR N TRACK4 DEFS &01 ; NUMERO DE LA PISTE A FORMATER VUE DE LA TETE C TETE4 DEFS &01 ; NUMERO DE LA TETE H DEFM &04 ; NUMERO DE CE SECTEUR R DEFM &02 ; NOMBRE D'OCTETS DANS CE SECTEUR N TRACK5 DEFS &01 ; NUMERO DE LA PISTE A FORMATER VUE DE LA TETE C TETE5 DEFS &01 ; NUMERO DE LA TETE H DEFM &05 ; NUMERO DE CE SECTEUR R DEFM &02 ; NOMBRE D'OCTETS DANS CE SECTEUR N TRACK6 DEFS &01 ; NUMERO DE LA PISTE A FORMATER VUE DE LA TETE C TETE6 DEFS &01 ; NUMERO DE LA TETE H DEFM &06 ; NUMERO DE CE SECTEUR R DEFM &02 ; NOMBRE D'OCTETS DANS CE SECTEUR N TRACK7 DEFS &01 ; NUMERO DE LA PISTE A FORMATER VUE DE LA TETE C TETE7 DEFS &01 ; NUMERO DE LA TETE H DEFM &07 ; NUMERO DE CE SECTEUR R DEFM &02 ; NOMBRE D'OCTETS DANS CE SECTEUR N TRACK8 DEFS &01 ; NUMERO DE LA PISTE A FORMATER VUE DE LA TETE C TETE8 DEFS &01 ; NUMERO DE LA TETE H DEFM &08 ; NUMERO DE CE SECTEUR R DEFM &02 ; NOMBRE D'OCTETS DANS CE SECTEUR N TRACK9 DEFS &01 ; NUMERO DE LA PISTE A FORMATER VUE DE LA TETE C TETE9 DEFS &01 ; NUMERO DE LA TETE H DEFM &09 ; NUMERO DE CE SECTEUR R DEFM &02 ; NOMBRE D'OCTETS DANS CE SECTEUR N DEFM &FF ; FLAG INDIQUANT LA FIN DE TABLE REQFOUR RESUL DEFS 14 ; -------------------------------- ; TABLE DE COMMANDES DE |FORMATAGE ; -------------------------------- TABLE2 DEFM 0,0,0,2 TABLE3 DEFM 0,0,0,2 DEFM 0,0,0,2 DEFM 0,0,0,2 DEFM 0,0,0,2 DEFM 0,0,0,2 DEFM 0,0,0,2 DEFM 0,0,0,2 DEFM 0,0,0,2 ; --------------------------------------- ; TABLE DE COMMANDES DE |PISTE.POSITION.0 ; --------------------------------------- TARC DEFM &02 ; NOMBRE DE PARAMETRES DEFM &07 ; CODE OPERATION DU RECALIBRAGE RECALI DEFS &01 ; RESERVE UNE PLACE POUR LE LECTEUR ACTIF ; ------------------------------- ; TABLE DE COMMANDES DE |FORMATER ; ------------------------------- TABLE1 DEFS 104
 



Goto Top
CPC-POWER/CPCSOFTS, programmation par Kukulcan © 2007-2024 tous droits réservés.
Reproduction sans autorisation interdite. Tous les titres utilisés appartiennent à leurs propriétaires respectifs.
Hébergement Web, Mail et serveurs de jeux haute performance