Skip to content

Repository files navigation

Démos pour ordinateur Squale

Quelques petits programmes pour l'ordinateur Squale de la société Apollo 7, un micro-ordinateur français sorti en 1985. Elle sont inspirées de la démonstration MO5.com de Jean-François DEL NERO. Etant donné que je n'ai pas réussi à recompiler cette démo (écrite en C), ces démos sont écrits en assembleur 6809 et assemblés avec le c6809 de Pulsdemos

Démos

  • texte.rom: affichage texte (utiliser les flèches pour agrandir/rétrécir le texte)
  • temps_pourri.rom: en hommage à l'origine bretonne du Squale
  • olipix.rom: en hommage à un fan des ordinateurs obscures

Olipix

Temps pourri

Pour lancer sur l'émulateur MAME:

  • Lancer le noyau Squale
  • Appuyez sur Arrêt Défil (ou Del sur macOS) pour activer les raccourcis clavier MAME
  • Appuyez sur Tab pour lancer le menu
  • File Manager / cartridge
  • Sélectionnez le fichier .rom désiré

Comment fonctionne la démo Olipix

Le Squale a comme processeur graphique le Thomson EF 9365, qui ne permet que d'afficher que du texte et des lignes - aucune bitmap (voire la section API). L'image de base a été convertie en données binaires par l'utilitaire bmp2vect. Elle est encodée comme une série de vecteurs horizontaux, chaque ligne de l'image étant composée d'un ou plusieurs vecteurs.

La routine DRAW_BITMAP dessine l'image à l'écran. C'est une conversion en assembleur 6809 de la function C display_vectsprite(). L'effet de transparence est obtenu comme çi: lorsqu'une ligne noire doit être dessinée, le programme regarde alors la hauteur Y de la ligne. Si cette dernière est à $80, $70 ou $50 (la hauteur des lignes du fond), la ligne est dessinée en bleu au lieu de noir.

Documents:

Générer une cartouche

La cartouche est générée par buildrom.py et contient deux parties:

  • Un loader (0x0000-0x0100)
  • Le programme même (0x0100-0x8000)

Le Loader est chargé par le Squale à l'adresse $C100 en mémoire. Son but est de copier le reste du contenu de la cartouche à l'adresse $0000 (la cartouche n'est pas accessible directement, mais en lisant continuellement l'adresse $F048). Un fois l'opération terminée, il exécute le code à l'adresse $0000.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages