Amstrad Plus Index du Forum

Amstrad Plus
Découverte de la gamme Old et Plus des Cpc d'Amstrad.

 FAQFAQ   RechercherRechercher   MembresMembres   GroupesGroupes   S’enregistrerS’enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

Loader universel

 
Poster un nouveau sujet   Répondre au sujet    Amstrad Plus Index du Forum -> Bienvenue sur ce forum -> Programmation
Sujet précédent :: Sujet suivant  
Auteur Message
Ast
Administrateur

En ligne

Inscrit le: 05 Sep 2014
Messages: 2 390

MessagePosté le: Mar 9 Jan - 21:18 (2018)    Sujet du message: Loader universel Répondre en citant

Bonjour,


Travaillant en équipe avec Chany afin de réaliser un loader universel qui permet de tout lire aussi bien sur drive a ou b, que sur X-Mass, j'ai décidé de vous partager le code. Si l'idée d'être compatible avec la x-Mass de TotO vous venait, sachez que le code a été testé et qu'il est 100% compatible avec la x-Mass, que ce soit avec ACMEdos ou iMPdos.



Voici donc, le fruit de ma réflexion.

Code:
      ORG &A500
      ENT $
;
; bcd4
; in : hl=rsx name
; out : c=rom number
;     : hl=adresse de la rsx dans la rom
;
;
;
          LD   HL,(&BE7D)
          LD   A,(HL)
          PUSH AF       ; recup numero de lecteur
          CP   3
          CALL Z,foundrsx  ; si 3 cherche la Rsx "ùX"                                                              PUSH BC           ; sauve numéro de rom
          PUSH HL          ; sauve adresse ou sauter dans la rom
;   
          DI
          LD   BC,&7F88+2 ; mode 2 - Lower Rom On | Upper Rom Off
          OUT  (C),C
          EXX
          CALL &44     ; réinit la zone 0-#3f
          CALL &08BD   ; réinit les vecteurs systèmes (vecteur pour 6128 et 6128 plus)
          CALL &BB00   ; init le Key Manager
          LD   A,&C9    ; disable char pour eviter les messages des roms                                              LD   (&BB5A),A  ; c'est un peu brut mais ça fonctionne !
          LD   DE,&40    ; init All ROMs
          LD   HL,&ABFF
          CALL &BCCB
          LD   A,&CF    ; enable char 
          LD   (&BB5A),A
          POP  HL       ; recup adr de la Rsx
          POP  BC       ; recup numero de rom           
;
          POP  AF       ; recup numero de drive
;
          CP   3
          CALL Z,&1B    ; si lecteur =3 execute Rsx (ùX)   
;
          LD   HL,(&BE7D) ; Quoiqu'il en soit on poke le bon lecteur
          LD   (HL),A
;
;
; Load a file
;
loading   LD   DE,&C000     ; buffer
          LD   HL,file      ; nom a charger
          LD   B,endfile-file ; le nom contient combien de lettres ?                                                  CALL &BC77        ; charge le Header
          LD   HL,&7D      ; adresse de début du fichier
          CALL &BC83
          CALL &BC7A
          JP   &9788       ; adresse d'execution
;
; Cherche ACMEDos ?
;
foundrsx
          LD   HL,rsx0
          CALL &BCD4
          JR   NC,foundrsx1
          RET
;
; Cherche iMPdos ?          
;
foundrsx1
          LD   HL,rsx1
          CALL &BCD4
          JR   NC,bip
          ret       
;
; Rsx Not found -> Bip
;
bip       LD   A,7      ; biiiip
          JP   &BB5A
;
rsx0   byte "D"+&80
rsx1   BYTE "X"+&80
file  BYTE "IMPACT.BIN"
endfile




_________________
Ast/iMP4CT

"Par le pouvoir du crâne ancestral...."


Revenir en haut
Publicité






MessagePosté le: Mar 9 Jan - 21:18 (2018)    Sujet du message: Publicité

PublicitéSupprimer les publicités ?
Revenir en haut
Francouai


Hors ligne

Inscrit le: 23 Avr 2017
Messages: 117
Localisation: IDF

MessagePosté le: Mer 10 Jan - 09:00 (2018)    Sujet du message: Loader universel Répondre en citant

salut!
quand tu parles de "LOADER", tu veux dire un logiciel type "Filemanager"?
tu navigues avec le curseur pour sélectionner les fichiers et la touche ENTER pour le lancer?
tu fais une compatibilité avec la carte M4 aussi?
_________________
--
Francouai
6128+, ATARI STe, ATARI FALCON, AMIGA 1200.


Revenir en haut
Ast
Administrateur

En ligne

Inscrit le: 05 Sep 2014
Messages: 2 390

MessagePosté le: Mer 10 Jan - 10:11 (2018)    Sujet du message: Loader universel Répondre en citant

Non, un loader c'est une routine qui re permet de lire un fichier basic, binaire ou ascii....
Quand tu fais run"Disc la routine qui va lire les données sur ton Disc s'appelle un loader.
Ma routine est compatible drive à/b et x-mass.
Malheureusement pour la m4, cela risque d'être difficile vu que je n'en ai pas mais, si une âme charitable venait à m'offrir une m4, il m'apparaît évident que je le ferais.

Concernant le filemanager, il est toujours wip!
_________________
Ast/iMP4CT

"Par le pouvoir du crâne ancestral...."


Revenir en haut
Francouai


Hors ligne

Inscrit le: 23 Avr 2017
Messages: 117
Localisation: IDF

MessagePosté le: Mer 10 Jan - 10:29 (2018)    Sujet du message: Loader universel Répondre en citant

ah ok!
j'attends que tu releases ton FILEMANAGER pour tester sur ma M4.
_________________
--
Francouai
6128+, ATARI STe, ATARI FALCON, AMIGA 1200.


Revenir en haut
cmp


Hors ligne

Inscrit le: 08 Sep 2014
Messages: 147
Localisation: nord

MessagePosté le: Mer 10 Jan - 12:32 (2018)    Sujet du message: Loader universel Répondre en citant

Lol Smile Si tu payes une M4 à David pas de problème Smile
_________________
CMP from impact cpc


Revenir en haut
Skype
cmp


Hors ligne

Inscrit le: 08 Sep 2014
Messages: 147
Localisation: nord

MessagePosté le: Mer 10 Jan - 12:33 (2018)    Sujet du message: Loader universel Répondre en citant

En tout cas Smile


Merci pour ce bout de code David ^^ Smile


Sympa de faire partager la communauté.
_________________
CMP from impact cpc


Revenir en haut
Skype
Ast
Administrateur

En ligne

Inscrit le: 05 Sep 2014
Messages: 2 390

MessagePosté le: Mer 10 Jan - 12:38 (2018)    Sujet du message: Loader universel Répondre en citant

Un bout de code ? C'est le loader complet... y'a plus qu'à adapter. Mort de Rire
_________________
Ast/iMP4CT

"Par le pouvoir du crâne ancestral...."


Revenir en haut
cmp


Hors ligne

Inscrit le: 08 Sep 2014
Messages: 147
Localisation: nord

MessagePosté le: Mer 10 Jan - 15:36 (2018)    Sujet du message: Loader universel Répondre en citant

Je m'en doutais Smile que tu allais dire cela ^^  Mort de Rire
_________________
CMP from impact cpc


Revenir en haut
Skype
Contenu Sponsorisé






MessagePosté le: Aujourd’hui à 18:18 (2018)    Sujet du message: Loader universel

Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Amstrad Plus Index du Forum -> Bienvenue sur ce forum -> Programmation Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  

Index | Panneau d’administration | Creer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com