http://www.imsai.net/support/support.htm
MDR !
Après ma question de "A quoi bon faire joujou avec un Windows 3.11 ( je suis gentil ) ...
Après qu'une personne s'intéresse à Windows CE et que j'étais déjà à moitié
Là ... ben ... ce "truc" en émulateur ... faut vraiment le vouloir ...
Sinon, à l'époque de 256 Tera Octets ( retirer le mot inutile ) il était de bon temps de rentrer à chaque mise en route le programme à la main.
Des "boutons" pour fixer l'adresse en 0x0000000000000000 puis la valeur 0x?? et faire un "valide", une écriture en ram. Ensuite, passer à l'adresse suivante 0x0000000000000001, changer la valeur 0x?? et cela jusqu'à la fin du programme par exemple : 0x00000000000000BC ( je sais beaucoup de ZERO c'est à cause des 256 Tera octets. ). Il reste donc assez de RAM pour y stocker énormément de valeurs ( 0x0000000000000033 ).
Puis, une action sur RESET, des fois, un bouton RUN à commuter avant afin de "rendre" l'accès à la mémoire qui était alors connecter sur le tableau de boutons au CPU.
Et oui, l'humain était "le programme" de chargement, le bios, le Windows 7 ! Il devait donc prendre la main en mode "DMA", faire le rôle du SSD avec les pages d'un listing, faire le rôle du Chipset pour écrire dans la ram ...
Et là ... c'était merveilleux ... un programme tournait !
Je n'ai pas tout lu ... mais il est possible qu'il y a une ROM qui fait une partie. Une ROM qui attend l'action d'une touche "prog" puis se place en RAM 0x00 attend une action sur une touche "read value program" et s'auto incrémente avec une indication des leds ( fallait savoir lire l'Hexa des fois en binaire c'était mieux ) ce qui permettait d'entrer un programme bien plus vite que l'installation d'un jeux sur DVD. Si si, avec l'entrainement ... c'était hyper rapide ... voir plus rapide que le temps que "vous" mettez à allumer vos core i7 et lancer un programme !
Un début :
ON : Yes tu as trouvé !
RESET : pour positionner l'adresse à ZERO
Adress / Data : Tu lis la doc assembleur du 8080, tu cherche une instruction ... tu cherche sont code assembleur ( style ADD RegA 0x47 )... tu cherche le Opto-code et ce qui va avec ( style 0x24 pour ADD RegA + data suivante ) et tu place alors cette valeur 0x24 HEXADECIMAL sur cette partie.
Depos / next : VERS LE BAS : le NEXT en sorte déposer et NEXT.
Adresse /data : ben la valeur a additionner dans l'exemple 0x47 ( le 0x cela signifie que c'est de l'Hexadecimal )
Depos / next : vers le bas ... pareil ... hein ...
Tu peux faire ton petit programme de la sorte ...
( j'ignore la RAM de l'émulateur )
Si tu fais une erreur ... je viens d'un milieu ou tu étais virer ! ! ! Mais je pense qu'ailleurs, tu devais pouvoir positionner l'adresse ... faudrait voir dans la doc ...
Sinon, pour te relire ( d'où je viens c'était obligatoire car il était préférable de recommencer quitte à se faire virer après que tuer ) ... RESET et cette fois c'est le NEXT de "Exam / Next )
Une fois que cela te plait : Reset et RUN ...
Il me semble que EXAM ( de Exam / Next ) te permet de choisir l'adresse ( pour ne pas te faire virer ) si tu fais une erreur ou MIEUX si tu sera l'utilisateur final du programme et que tu devrai alors apprendre à charger des données. Mais en principe, la première instruction est un saut, les autres les vecteurs d'interruptions et enfin la zone DATA ( pour que l'utilisateur n'a pas a allez trop loin.
C'était le pourquoi du comment des X88 ( 8088 ) avec une zone programme et une zone Data ( sinon, si pour régler l'heure il y aurait eux des programmeurs qui aurait été capable de mettre l'heure à une endroit, les minutes ailleurs, les secondes encore plus loin ... )
Step : Quand tu "stop" le programme, il n'est pas reseté seulement stopper à un endroit bien précis ( par exemple dans une boucle sans fin et tu ne comprend pas pourquoi ) alors tu fait un "step", tu exécute qu'une seule et unique instruction et tu peux examiner comment réagit ton programme et trouver le bug. C'est une partie du mode debug moderne !
Step / step : pas trouver la différence ...
EXE C. : pas trouver l'utilisation ...
A cette époque, tu te pointais voir un gentil patron. Il t'écoutait ... et souvent te proposait le travail ... car personne savait faire ...
Alors il t'aurait demander de faire un programme pour calcul "simplement" un Cosinus, un Sinus ( c'est simple ...hein ... mais en entrée sur deux digits + deux digits Cos/sin 47.28 )
Puis il t'aurait du ( comme moi ) que si tu as un problème de ne pas hésiter à venir le voir ( tout comme moi qui t'enverra "#######" lui il t'aurait donner ta poignée de USD en te demandant de ne plus revenir ).
Et pour finir, il t'aurait seulement dit gentillement qu'il repassera la semaine prochaine !
Une fois que tu es en "run" il me semble que les boutons sont "programmable" c'est à dire que tu peux lire leurs états ( voir les doc )
Pour le résultat : Une boucle longue, tourner entre 1, 2, 3 ou 4 octets pour afficher le résultat de ton Cosinus ou de ton Sinus ( tu as de la chance tu as le choix ).
Sur un chiffre ... bof, tu restera avec ton salaire de "#######" !
Sur deux chiffres ... une petite augmentation mais toujours avec un travail de #######.
Sur trois chiffres ... une petite augmentation mais avec un travail un peu mieux.
Et sur quatre chiffres ... une augmentation motivante et un travail un peu mieux.
( mais là, ce sont les personnes autour de toi qui te l'aurait dit ... pas le gentil monsieur )
PS : Je n'ai pas 80 ans ( la moitié et j'ai connu ces "#######" pendant mes études )
PS2 : Dommage qu'il n'y a pas de sites ... les modules ( carte PCIe ou moins bien ) de l'époque, style contrôleur vidéo, disquette 8", lecteur de cassettes ... cela pourrait se refaire ce style d'émulateur en VB6.
PS3 : CP/M ... là, je me demande pour faire quoi ? ? ? sauf avec l'option lecteur de disquette et affichage !
PS4 : Tu peux toujours essayé de faire l'exercice et en plus de nos jours, internet remplace ce que tu devais savoir ( les maths par exemple )...
Edit : de quoi commencer :
ftp://ftp.comlab.ox.ac.uk/pub/Cards/txt/8080A.txt