ARKOS ROM PACK V1.1
--------------
Inclus :
Arkos Rom V1.0
SNArkos V1.4


Credits :
SNArkos de Grim/Arkos.
Autres RSXs et AFT de Targhan/Arkos.
Test CRTC de Offset/Futur's.
CPCBooster developpee par Antitec/Dirty Minds.



Bienvenue dans cette notice explicative sur la Rom Arkos. Celle ci contient  des
RSXs qui vous faciliteront la vie, que vous soyez joueur ou  demomaker  !  Cette
ROM  devoile  cependant  toute  sa  puissance  si  vous   possedez   l'extension
CPCBooster+ d'Antitec du groupe Dirty Minds. Elle vous permettra  de  transferer
n'importe quel fichier ou DSK de votre PC vers votre CPC, et inversement,  grace
aux RSXs de la ROM Arkos, un tout petit programme PC, et  un  cable  NULL  MODEM
branche au port COM (serie) de votre PC. N'hesitez pas a visiter le  site  Dirty
Minds pour  de  plus  amples  informations  quant  a  cette  fabuleuse  (et  peu
onereuse!) extension :

www.dirtyminds.cpcscene.com

(*NOTE IMPORTANTE* : les PC ne disposant pas de port Serie ne sont pas a jeter :
il existe des adaptateurs USB/Com qui rendent  les  transferts  possibles  !  Le
probleme des transferts ralentis provenait d'une bizarrerie  Windows,  que  Grim
pris en compte dans Aft...)


Meme si vous ne possedez pas de CPCBooster, la Rom Arkos vous sera  certainement
tres utile, ne serait-ce que pour WriteDSK, le test CRTC integre,  les  RSXs  de
monitoring de la memoire, et l'AutoBoot !

Ayons un apercu des RSXs proposes par cette Rom :
- WriteDSK 1.2 : Permet de transferer un DSK d'une disquette au  format  MS  DOS
720k vers  le  CPC.  Si  vous  avez  une  CPCBooster,  vous  pourrez  transferer
directement du PC, et avec une  grande  rapidite,  mais  en  plus  vous  pourrez
transferer des DSKs Parados, puisque la  capacite  de  stockage  n'est  plus  un
probleme!
- ReadDSK 1.0 : Permet de generer sur PC un DSK a partir  d'une  disquette  CPC.
Permet de se debarasser definitivement des logiciels de  transfert  sous  DOS  !
Attention, necessite obligatoirement la CPCBooster.
- GetFile / SendFile : Permet d'envoyer et de recevoir n'importe  quel  fichier,
binaire, ascii et basic, du PC vers le CPC et inversement ! La gestion du header
est prise en compte.
- SetBoot : Defini un fichier comme 'boot'. Il suffit de faire  un  CAT  sur  la
disquette pour voir ce fichier lance directement !
- Load : Permet de charger n'importe quel fichier (Ascii egalement !)  n'importe
ou en memoire, sans se soucier des 'memory full'. Permet egalement le chargement
en bank, et en C2 ! Les programmeurs sauront en tirer parti...
- Header : Toujours pratique, donne le header d'un fichier donne en parametre.
- Burn : RSX desormais celebre, permet d'ecrire une ROM dans votre Ramcard.
- Memory : Permet de lister les octets de la memoire du CPC.
- View : Visualise la memoire de maniere graphique, comme il est possible de  le
faire sous le Super Monitor d'Antoine.

NOUVEAU !

- SNArkos 1.4 : Le nouvel  ami  du  developpeur  !  Permet  de  transferer  tout
SNApshot cree par un emulateur, vers le  CPC  !  Tester  presque  instantanement
votre derniere routine developpee sous emulateur deviendra rapidement un reflexe
instinctif. Veuillez consulter la notice ci jointe pour en savoir plus.


Bref, si avec tout ca vous n'etes pas satisfait... Ecrivez nous vos doleances et
nous verrons ce que nous pourrons faire :).



Interface PC
------------

Avant de passer a l'explication  de  chaque  RSX,  voyons  comment  se  presente
l'interface PC necessaire aux transferts avec  la  CPCBooster.  N'ayez  crainte,
c'est tres simple, et fonctionnera sous toutes les versions de Windows, XP inclu
biensur.

Vous trouverez avec ce kit un programme nomme 'AFT', ce qui signifie Arkos  File
Transfer. Il  s'agit  d'un  petit  programme  que  vous  lancerez  avant  chaque
transfert. Il suffit en fait de le lancer une fois et de le laisser  en  arriere
plan, les RSXs cote CPC se chargeront de lui envoyer des requetes.

AFT fonctionne a la ligne de commande (ne pas confondre avec le  MS  DOS  !  AFT
utilise des fonctions standard de Windows), et se lance de la facon suivante :
AFT [/ComPort]

Le parametre facultatif /ComPort vous permet de designer le port COM sur  lequel
est branche votre CPCBooster. Par defaut, c'est le port 1 qui  est  utilise.  Si
vous souhaitez utiliser le port 4, il suffit de taper : AFT /4. Plutot simple.

Par souci de convivialite, il est preferable de placer AFT dans un repertoire de
'lancement automatique', de facon a ce que vous puissiez le lancer n'importe  ou
quel que soit le repertoire ou vous vous trouvez. Sous Windows XP, vous  pourrez
ajouter un 'PATH' (chemin), dans le Panneau de Configuration / Systeme /  Avance
/ Variables d'Environnement, variable PATH. Attention de ne pas effacer  ce  qui
s'y trouve ! Contentez vous d'ajouter le repertoire ou vous placez AFT. Si  vous
placez AFT dans le repertoire Windows, cela devrait suffire, ce repertoire etant
deja pointe par PATH.

Notons qu'AFT ne pourra transferer que les fichiers du repertoire  courant.  Les
chemins relatifs ne sont pas supportes par AFT pour le moment.

(astuce pratique : pour pouvoir lancer la ligne de commande depuis l'explorateur
Windows, dans un repertoire choisi, lancez l'explorateur / Outils / Options  des
dossiers / Types de fichiers. Selectionnez 'Dossier' et  faites  'Avance',  puis
'Nouveau'. Tapez le nom de l'action (j'ai choisi 'Dos Prompt'),  et  en  faisant
'Parcourir',   selectionnez   le   programme   'cmd'   qui   se   trouve    dans
Windows/System32. Maintenant, quand vous ferez  un  right-click  dans  le  volet
Dossiers de l'explorateur, vous pourrez  faire  'Dos  Prompt'  et  vous  vous  y
retrouver directement avec la ligne de commande. Pratique, non ?)


Une fois lance, AFT testera la connexion du COM. Un succes ne signifie pas  pour
autant que la communication avec le CPC est etablie - ce sera fait au  lancement
des RSXs - mais que le port COM est utilisable. Il ne reste  plus  au  CPC  qu'a
donner des ordres ! Une petite etoile s'ajoute sur l'ecran PC a chaque  requete.
La fin d'un transfert est notee, ainsi que les erreurs  critiques  (creation  de
fichier impossible, fichier  non  trouve,  etc...).  Pour  stopper  AFT,  Crtl-C
suffira.

Si AFT n'est pas lance alors qu'un RSX fait  une  requete,  le  CPC  donnera  un
message d'erreur, mais rien de grave,  il  suffira  d'appuyer  sur  espace  pour
relancer l'action.

L'absence de detection de la CPCBooster par les RSX  est  par  contre  critique.
N'oubliez pas qu'il ne faut surtout  pas  rebrancher  les  extensions  a  chaud.
Eteignez votre CPC, verifiez vos branchements, rallumez et relancez le RSX.

Enfin, derniere remarque, les noms de fichiers donnes par le  CPC  sont  courts,
les noms longs devront donc etre remplaces par leur equivalent en court (exemple
: thedem~1.dsk).



Maintenant, voyons en profondeur l'utilisation de chaque RSX.

WriteDSK et ReadDSK possedent leur  propre  fichier  d'aide,  que  vous  pourrez
trouver sur ce disque.




GetFile
-------
|GF[A],"fichier",[debut],[exec]

GetFile vous permet de transferer un fichier de votre PC vers le CPC. Lancez AFT
dans le repertoire du fichier que vous souhaitez transferer avant toute chose.

Quand le fichier est trouve sur PC, le transfer commence. Si le fichier  possede
un header AMSDOS, le CPC vous le dira. Le header est utile, car  il  donnera  le
type du fichier, ainsi que son adresse de Debut et  d'Execution.  Si  le  header
n'existe pas, alors celles ci sont  fixees  par  defaut  a  &4000,  et  le  type
Binaire. Utiliser |GF ne creera que des fichiers Binaires ou Basic, si le header
le precise. Le parametre [A] signifie Ascii, et forcera l'ecriture en Ascii.  Si
le header existait, il sera ignore.

Les parametres Debut et Exec permettent de  forcer  les  adresses  de  Debut  et
d'Exec du fichier transfere, que celui ait un header ou non. En cas de transfert
en Ascii (|GFA), il ne doivent pas etre indiques.

Exemples d'utilisation :
|GF,"rotozoom.bin"
|GF,"gfx.scr",&c000,0
|GFA,"source.mxm"





SendFile
--------
|SF[N],"fichier"

SendFile vous permet de transferer un fichier du CPC vers le  PC.  Le  transfert
commence lorsque le PC parvient a creer  le  fichier  sur  PC.  Le  fichier  est
transfere par defaut avec le header qui l'accompagne, mais il peut tres bien  ne
pas en avoir s'il s'agit d'un fichier Ascii.
L'option [N] signifie 'No header'. Comme son nom l'indique,  elle  ne  transfere
pas le Header du fichier s'il existe.

Exemples d'utilisation :
|SF,"waves.bas"
|SFN,"precalcs.tab"









SetBoot
-------
|SETBOOT,"fichier",0/1

RSX revolutionnaire, SetBoot place  un  status  de  'boot'  sur  n'importe  quel
fichier  executable,  que  ce  soit  Basic  ou  Binaire.  Une  fois  un  fichier
'bootable', il suffit de faire CAT (en appuyant sur Shift lorsque  vous  validez
par Enter) pour voir votre programme se lancer ! Fini  les  recherches  inutiles
sur vos discs de jeu, d'utilitaire, ou meme de demos !

Attention, une fois un fichier 'bootable', la rom Arkos est necessaire pour  que
le boot fonctionne automatiquement. De plus, la  Rom  doit  se  trouver  sur  un
numero inferieur a la Rom Disc (Amsdos  or  Parados,  generalement  en  Rom  7).
Cependant, n'ayez crainte, le boot ne modifiera en rien vos fichiers. C'est sans
risque ! Pour des informations techniques concernant la fonctionnement du  Boot,
voir a la fin de ce fichier.

Le parametre 'Fichier'  definit  le  fichier  ou  placer  le  boot.  Le  dernier
parametre 0 ou 1 permet de placer le boot (1) ou de le  supprimer  (0).  Il  est
necessaire de deproteger la disquette  pour  que  l'operation  se  deroule  sans
problemes.

Un simple CAT affichera le nom du fichier Boot, si  toutefois  la  disquette  en
comporte un. Pour booter, tapez CAT, et pressez Shift au moment ou vous  validez
par Enter et le miracle s'accomplit !


Notez que seule une commande CAT, toute seule, en mode direct (c'est a dire  pas
dans un programme  Basic),  executera  le  Boot.  Ainsi,  le  Boot  ne  nuit  au
fonctionnement d'aucun programme, tout en restant pratique aux utilisateurs !

L'AutoBoot ne concerne que  les  formats  DATA  (secteurs  &c1-c9),  les  autres
formats restant anecdotiques et n'etant plus vraiment utilises.  Si  le  setboot
vous renvoie un 'file not found' alors que le fichier existe  bien,  c'est  sans
doute car le format n'est pas  Data.  Si  certains  utilisateurs  ont  cependant
besoin d'une gestion multi-format, n'hesitez pas a me le faire savoir !


Exemples d'utilisation :
|SETBOOT,"DIA",1
|SETBOOT,"-ECOLE",0








Load
----
|LD,"fichier",[Adresse],[Bank],[AdBuffer]

'Load' charge un fichier n'importe ou en memoire. Elle fonctionne en gros  comme
la fonction Basic, mais ne vous renverra  jamais  un  Memory  Full  !  Attention
cependant ou vous envoyez votre fichier, evitez d'ecraser le systeme !
Mais Load va plus loin, elle permet de charger egalement les fichiers Ascii !
A moins qu'[Adresse] ne soit  precisee,  le  fichier  sera  charge  a  l'adresse
contenue dans son header, ce qui est normal. Si vous chargez un  fichier  Ascii,
preciser Adresse est indispensable.

Le parametre Bank vous permet de choisir la bank ou  charger  le  fichier.  Cela
peut tout simplement etre C0 ou C4-C7. Plus interessant,  vous  pourrez  choisir
C2, soit les 64K de la memoire secondaire (si vous avez 128k biensur !). Dans ce
cas, il est preferable de definir [Adresse]  pour  pointer  au  bon  endroit.  0
pointera sur le debut de la bank #c4, #4000 sur la bank #c5, #8000 sur  #C6,  et
#c000 sur #c7. Biensur, il est possible de charger des fichiers qui  chevauchent
plusieurs banks. Un chargement en #c2 sera plus lent car il se  fera  octet  par
octet. On ne peut pas tout avoir !

Le dernier parametre ADBuffer est une protection  supplementaire  pour  proteger
vos donnees quand vous chargez un fichier.  Vous  n'etes  pas  sans  savoir  que
lorsqu'on charge un fichier, un buffer de 2ko (&800) est utilise  par  l'Amsdos.
Celui ci le place en Himem-&800. Ce Himem depend du nombre  de  ROMs  installes,
mais peut etre deplace avec la commande Memory.

IMPORTANT : Pour charger un fichier 'normal' (binaire/basic),  ce  buffer  n'est
pas utilise en pratique, donc ce parametre est inutile. En revanche, charger  un
fichier octet par octet (fichier Ascii ou chargement  en  #c2),  ce  buffer  est
utilise ! Si vous chargez un fichier Ascii en haut de  la  memoire  (#a000),  il
peut etre utile de forcer l'emplacement de ce buffer de  chargement,  sinon  les
deux vont s'empieter. Dans ce cas, utilisez ADBuffer.

Enfin, notons que lorsqu'on charge un fichier en #c2, quel que soit son type, le
buffer est situe en RAM Centrale, car j'ouvre une bank (#c4 a #c7,  de  #4000  -
#7fff) pour charger les octets. Veuillez donc ne pas placer le buffer dans cette
zone. De meme, quand on charge en bank (#c4-#c7), la bank est  ouverte,  il  est
preferable de ne pas mettre le buffer ici si vous chargez  un  fichier  Ascii  !
Mais de maniere generale, le buffer n'a pas besoin d'etre defini.

Pour finir, une bank donnee en parametre n'est pas fermee quand le  rsx  a  fini
son travail, sauf dans le cas de &c2, auquel cas les banks sont fermees (&c0).


Exemples d'utilisation :
|LD,"screen.scr"
|LD,"screen.scr",#c000
|LD,"ascii.txt",#4000,#c0,#c000
|LD,"gfx.win",0,#c2




Header
------
|HD,"fichier"

RSX tres simple mais utile, qui donne le type  du  fichier  (0=Basic  2=Binaire,
#16=Ascii), ainsi  que  son  point  de  depart,  sa  longueur,  et  son  adresse
d'execution. A noter qu'un fichier Ascii ne dispose pas de ces informations.



Burn
----
|BN,"fichier",Rom

Burn vous sera rapidement indispensable. Au lieu d'utiliser le logiciel de  Ram7
perdu sur l'un de vos discs, ou de retaper le programme fourni avec la notice de
la Ramcard (experience vecue :), utilisez Burn ! Entrez le nom de fichier de  la
ROM, ainsi que son numero (en fonction des 2 series  de  commutateurs  de  votre
Ramcard). Lorsque la rom est chargee en memoire, permutez le  switch  d'ecriture
de la Ramcard et pressez espace. Une fois la rom ecrite, abaissez le commutateur
et voila !

Exemple d'utilisation :
|BN,"dams.rom",15



Memory
------
|MM,[Adresse]

Simple et efficace, Memory liste les octets en  memoire,  en  hexadecimal  ainsi
qu'en caractere Ascii. Les caracteres en dessous de 32  ne  sont  pas  affiches,
pour que Sylvestre ne puisse pas s'amuser a tester les  caracteres  de  controle
avec cette Rom.
[Adresse] est facultative, mais reste en memoire, et est partagee avec |View, ce
qui est tres pratique. Presser une touche stoppe/reprend le defilement,  et  Esc
quitte le RSX.



View
----
|VW,[Adresse]

Dernier RSX, mais neanmois utile et plutot cool, View affiche la  memoire  comme
un sprite, ce qui est pratique pour trouver un  graphisme  en  memoire,  ou  une
fonte perdue. Pratique egalement pour ripper des sprites dans les jeux.
[Adresse] est facultative, mais reste en memoire, et est partagee avec |Memory.

Voila les touches avec lesquelles s'amuser :

Haut/bas/droite/gauche : agrandit/diminue la taille de la Window en  hauteur  et
largeur.
Control+Shift + Gauche/droite : agrandit/retrecit la largeur au minimum/maximum.
Contol/Shift + Gauche/droite : Adresse augmente/diminue de 1. Visuellement, fait
scroller.
Shift + Haut/Bas : Deplacement lent vertical
Control + Haut/Bas : Deplacement rapide vertical
Control+Shift + Haut/Bas : Deplacement d'une page
vertical. Depend donc de la hauteur de la window.
0,1,2 : Change de mode.
Espace : Donner les indications de l'affichage :
adresse actuelle, hauteur, largeur, mode.
Esc : Quitter le RSX






-------------



Voila, c'est tout !

Nous esperons que vous apprecierez cette ROM et qu'elle facilitera l'utilisation
quotidienne de votre CPC.



A noter que cela n'est qu'un debut,  et  qu'il  est  tout  a  fait  envisageable
d'integrer AFT dans n'importe quel logiciel (de type  explorateur,  manageur  de
DSK ou meme emulateur !).  Si  vous  etes  developpeur,  n'hesitez  pas  a  nous
contacter pour que nous mettions nos codes en  commun.  Le  protocole  que  nous
utilisons pour communiquer entre le CPC  et  le  PC  est  tres  simple,  et  est
integrable facilement dans toute application.



UN PEU DE TECHNIQUE
-------------------

Transfert CPCBooster :
Il s'effectue a 115200 Bauds (pas de Parite, 1 bit de stop, 8 bits de  donnees).
Un transfert de 128k se fait en environ 12 secondes.


AutoBoot :
Nous sommes tres fiers de cette feature :). La Rom Arkos  doit  etre  placee  en
dessous de la rom disc, car elle  detourne  le  RET  qui  se  trouve  en  #BE7F,
reinitialise, comme toute la partie CAS, par la rom disc. Pas de panique, ce RET
est justement prevu pour ca.  Tous  les  vecteurs  intervenant  sur  le  lecteur
disquette renvoient a ce vecteur, avant et apres leur execution. Ce que fait  la
Rom Arkos, c'est ajouter ici un petit code qui teste le Word en #40 (la  ou  est
stockee la ligne Basic tapee en direct). Si le token 'CAT'  suivi  '0'  (fin  de
ligne) est trouve, alors le Boot peut commencer. On efface ce Token  pour  qu'un
Boot ne puisse survenir deux fois sans qu'on l'ait demande. Le  Boot  est  place
sur la declaration du fichier (la 1ere, si le fichier depasse 16k), au 13e octet
(valeur inutilisee par le systeme). La valeur #AA est  placee  pour  activer  le
boot, ou 0 pour le desactiver.

Quand le Boot est active, il  scanne  les  secteurs  #c1-#c4  de  la  FAT  a  la
recherche d'un fichier 'bootable', grace au 13e octet de  leur  declaration.  Si
aucun fichier n'est trouve, on fait un RET normal, ce qui continue le CAT.  Dans
le cas contraire, si Shift n'est pas appuye, on ecrit le nom  du  fichier  boot,
puis on rend la main au Catalogue. Si Shift est appuye,  le  fichier  est  lance
grace a un RUN, exactement la meme que le Basic utilise, il n'y a  donc  pas  de
soucis au niveau compatibilite, et ca permet de charger aussi bien du Basic  que
de l'assembleur.

Si les secteurs #c1-#c4 ne sont pas trouves, alors le CAT continue  normalement.
Cela permet a certains discs parados de Booter (ceux en 64 entrees),  et  de  ne
toucher a rien si le format est incorrect.

Plutot classe, non ? :)







Pour toute remarque concernant cette Rom, n'hesitez pas a nous ecrire :
targhan@cpcscene.com
grim@cpcscene.com

Visitez le site Arkos pour downloader nos productions :
www.arkos.cpcscene.com

Et egalement le site de Dirty Minds pour commander votre future CPCBooster :
www.dirtyminds.cpcscene.com




A bientot !
The Arkos Team.