|
|
|
|
|
|
ROM BOARD |
|
|
|
|
ROM BOARD de ANDROMEDA INC.
Cette carte accepte aussi bien
de la RAM (2K type 4802 cf. ci contre)
que des PROM (2K type 2716 ou 4K type 2732).
|
|
Documentation |
|
Plan de la documentation
Introduction
ROM board technical detail chip types
Memory address
4K switchs
Reading the switchs
la configuration de la carte est des plus simple :
les jumpers XYZ sont positionn�s selon le type de RAM ou ROM ins�r�es.
Chaque groupe XYZ concerne le circuit qui se situe sous lui.
Les switchs sont utilis�s uniquement lorsque sont ins�r�es des PROM 2732 afin de s�lectionner le banc bas ou haut.
En effet cette carte ne consid�re que 2K de RAM ou de ROM.
|
|
Disquettes |
|
|
Pas de disquette la carte se g�re d'elle-m�me... avec vos programmes! |
| | |
Publicit�s d'�poque |
Les publicit�s ....
|
Trucs et astuces |
|
Inutile de garnir l'ensemble des XYZ avec des jumpers !!!
Comprennez bien que les switchs haut/bas :
ne servent QUE SI IL Y A DES PROMS 2732,
que chaque bank de m�moire de 2K est alors vu
dans la zone $C800 � $CFFF.
qu'ils peuvent �tre manipul�s sans arr�ter l'ordinateur.
|
|
PETITE ASSISTANCE A LA PROGRAMMATION... |
|
D�s lors que vos jumpers sont plac�s pour correspondre � vos circuits, vous pouvez alors acc�der au contenu de ceux ci.
Tr�s classiquement les entr�es sorties se font dans la zone m�moire C000 � CFFF.
Rappelons qu'� chaque slot "x" correspond la zone m�moire Cx00 � CxFF.
Ainsi pour le slot 1 ce sera C100 � C1FF, pour le slot 2 ce sera C200 � C2FF, et ainsi de suite...
Vous allez dire "C'est un marrant il n'y a que 256 octets dans ces zones! on est loin de mes 2K (2048 octets)!!"
Evidement la zone des 256 octets ne sert en fait qu'� faire des s�lections sur la carte...
les 2K se trouvent en fait aux adresses $C800 � $CFFF
Donc pour acc�der � la carte soit vous utilisez les indexations par X pour rester ind�pendant des slots, soit
vous utilisez les adresses sp�cifiques � chaque slot comme ci-dessous (valeurs utiles en fait qu'en basic) :
|
S�lection des bancs m�moire... |
|
|
SLOT |
ACTIVE LES 2K |
|
SELECTION SOCKET DE DROITE |
SELECTION SOCKET DE GAUCHE |
|
1 |
$C090 -16240 |
|
$C091 -16239 |
$C092 -16238 |
2 |
$C0A0 -16224 |
|
$C0A1 -16223 |
$C0A2 -16222 |
3 |
$C0B0 -16208 |
|
$C0B1 -16207 |
$C0B2 -16206 |
4 |
$C0C0 -16192 |
|
$C0C1 -16191 |
$C0C2 -16190 |
5 |
$C0D0 -16176 |
|
$C0D1 -16175 |
$C0D2 -16174 |
6 |
$C0E0 -16160 |
|
$C0E1 -16159 |
$C0E2 -16158 |
7 |
$C0F0 -16144 |
|
$C0F1 -16143 |
$C0F2 -16142 |
|
Exemple assembleur par indexation... |
|
En assembleur, il est tout de m�me pr�f�rable d'utiliser une indexation par X
qui contiendra le num�ro de slot*16 et les adresses :
$C080 POUR ACTIVER LES 2K
$C082 POUR SELECTIONNER LE SOCKET DE DROITE
$C082 POUR SELECTIONNER LE SOCKET DE GAUCHE
|
Supposons que votre carte se trouve en slot 2, pour activer les 2K de ROM vous faites :
|
| LDA SLOT | ; la variable SLOT contient le num�ro de slot de 1 � 7,
ce n'est pas original �a ? |
| ASL |
| ASL |
| ASL |
| ASL | ; on a multipli� par 16 |
| TAX | ; on met dans l'indexation |
| LDA $C080,X | ; activation et vos 2K sont
lisibles de $C800 � $CFFF, de plus on r�cup�re la position des switchs (voir plus bas) |
|
Reset de l'ensemble des cartes utilisant la zone commune... |
|
MAIS ATTENTION...vous pourriez avoir dans votre APPLE d'autres cartes qui utilisent aussi cet espace !
Donc avant d'activer quoique ce soit il faut d�sactiver l'ensemble des cartes
Ce qui se fait en lisant l'adresse $CFFF !!! donc attention � la programmation de vos PROM.
En effet d�s que cette adresse est activ�e les PROM en $C800 de toutes les cartes sont d�sactiv�es.
|
|
Lecture de la position des switchs... |
|
Pour savoir quelle est la positions des switchs il faut lire l'adresse $C080,X
ou la valeur de l'adresse indiqu�e en face de chaque slot plus haut dans la colonne "activer la ROM".
La valeur lue permet de conna�tre la position des switchs en fonction de la valeur de ses bits 7 et 0
|
SWITCH DU HAUT |
SWITCH DU BAS |
|
MSB (bit 7) |
LSB (bit 0) |
HAUT |
HAUT |
|
0 |
0 |
BAS |
HAUT |
|
0 |
1 |
HAUT |
BAS |
|
1 |
0 |
BAS |
BAS |
|
1 |
1 |