Bienvenue dans ce premier numéro du CEO-MAG pour l’année 2024, avec un peu de retard, j’avoue…
C’est reparti pour un nouveau volume.
L’année 2024 commence sur les chapeaux de roue coté Oriciens, et c’est de mon coté que vient principalement la préparation du mag. J’en suis désolé, et m’excuse auprès de vous tous chez lecteurs et surtout auprès des auteurs qui permettent de faire un mag avec des articles exceptionnels. Coté CEO, un peu de changement avec l’arrivée d’un nouveau trésorier et je vais reprendre la charge de secrétaire, plus proche de mes activités mag.
J’espere que la digestion de mon nouveau boulot va se terminer, et que je pourrais de nouveau consacrer du temps à mes Oric, et autres ordis.
Pour les prochains mags, le prochain permettra un retour sur nos visu de l’année, et il y aura sans doute d’autres nouveautés software. Enfin, gràce à un boitier fourni par Thierry, j’espere faire renaitre un Telestrat. Vous découvrirez cette odyssée, dans les prochains numéros, qu’elle soit heureuse ou non.
Prochaine visu-meet début décembre : Vendredi 13 Décembre à 21h00. Réservez le créneau, le lien de connexion vous parviendra courant novembre
Sommaire
4 Headon 7 EREBUS I²C 22 Les interviews d’Olipix : Geoff Phillips 24 OBrick 27 FutOric 28 La trilogie Zorgon 31 Retour sur la PunyJam #04 32 Assemblée Générale 2024
Dans le CEO-Mag 368, Didier se faisait l’écho des tests de Rax sur le mode LORES 1, très rarement utilisé. Au passage, il apportait l’explication sur la différence entre les caractères semi-graphiques sur Oric-1, et sur Atmos: sur Oric-1, ils sont définis sur une matrice de 8×8 pixels, alors que l’Oric n’en affiche que 6×8. Ils ont donc un aspect bizarre, décentré, et Didier en concluait “on oubliera vite ce jeu de caractère dans le cadre d’une utilisation sur Oric-1”.
Bien qu’ayant globalement été oublié tout court, j’ai eu à coeur de remettre le mode LORES 1 à égalité entre l’Oric-1 et l’Atmos ! Voici donc un modeste programme bricolé rapidement, 38 octets ayant pour but de corriger, après le boot de l’Oric-1, les caractères LORES pour les rendre identiques à ceux de l’Atmos. Cette routine redéfinit simplement les caractères LORES en les décalant d’un bit vers la gauche. Elle est relogeable où l’on veut en RAM. Elle ne modifiera qu’une fois les caractères: s’il ont déjà été corrigés, la lancer ne produira plus d’effet. Elle peut donc sans risque être lancée au début d’un programme. La redéfinition de caractères résistera à HIRES/TEXT, mais pas à un reset à chaud: il faudra alors lancer à nouveau la routine.
Voici le code:
AD 08 B9 LDA $B908 Let's control if we already seem to have the right values C9 38 CMP #$38 by testing one F0 1E BEQ exit If so, exit! A2 00 LDX #$00 else get ready to change a whole page
loopB9: BD 00 B9 LDA $B900,X Load a byte from page $B9 F0 06 BEQ nextB9 If $00, nothing to do, skip to next 6A ROR else shift once to the right 29 3F AND #$3F then set the two left bytes to 0 ($3F=00111111) 9D 00 B9 STA B900,X and replace the value in RAM nextB9: CA DEX Next byte D0 F2 BNE loopB9 As long as X is not zeroed again, loop
loopBA: BD 00 BA LDA $BA00,X X already at 0 here. Load a byte from page $BA F0 06 BEQ nextBA If $00, nothing to do, skip to next 6A ROR else shift once to the right 29 3F AND #$3F then set the two left bytes to 0 ($3F=00111111) 9D 00 BA STA BA00,X and replace the value in RAM nextBA: CA DEX Next byte D0 F2 BNE loopBA As long as X is not zeroed again, loop
exit: 60 RTS
(merci à ISS qui a relu mon code et supprimé deux octets inutiles !)
J’ai redécouvert après coup que Mike Brown donnait déjà exactement cette solution, dans une discussion que nous avions eue en 2019 alors que je m’étonnais de la différence d’aspect du mode LORES 1 entre l’Oric-1 et l’Atmos. Cf. https://forum.defence-force.org/viewtopic.php?t=1981 Vous trouverez ci-joint le fichier TAP de LoresFix 1.0, implémenté au bas de la page 1 et qui se lance automatiquement.
In English: The goal of Lores Fix is to correct the alternate LORES characters definition, which is wrong on ROM 1.0. What’s wrong? Well, ROM 1.0 sets those chars on a 8×8 pixels matrix, while Orics actually only display 6×8 pixels on screen. So the chars are not correctly centered. This was corrected in ROM 1.1. So, Lores Fix simply shifts in RAM the default LORES characters by 1 bit to the right, having them centered again. You can run it as much as you want, the chars won’t shift again if they are at the right value 😉
Mise à jour 05/09/2024 : Grâce aux remarques et idées d’ISS et Sodiumlightbaby sur Defence-Force, nous sommes arrivés à une version bien plus compacte du code, que voici (seulement 16 octets !) :
AE 18 B9 LDX $B918 Test if we have a ROM 1.0: value FF in $B918 (3F on ROM 1.1, 7F once shifted on ROM 1.0) E8 INX increment by 1 to get 00 if we had FF, thus get ready to change a whole page D0 09 BNE exit if result was different from 00, it's not a ROM 1.0 or it was already fixed, so exit!
loop: 5E 00 B9 LSR $B900,X shift bytes from page $B9 5E 00 BA LSR $BA00,X shift bytes from page $BA CA DEX Next byte D0 F7 BNE loop As long as X is not zeroed again, loop
exit: 60 RTS
Cependant, je me suis rendu compte que lancer ce code sur Oric-1 provoque de gros problèmes quand on essaie de rentrer un programme Basic ensuite. Diantre, que se passe-t-il ? Est-ce que cela pourrait avoir un lien avec le HIMEM qui n’est pas placé au boot de l’Oric-1 ? Qu’est-ce qui pourrait donc gêner le système, de voir modifiées les octets de B900 à BAFF ? En réalité, deux choses se cumulaient: – sur ROM 1.0, le chargement d’un bloc mémoire plante le pointeur “fin de basic” en page 0, octets 9C-9D. Ce pointeur de fin prend la valeur de la fin du bloc mémoire ! – d’autre part, j’avais stocké la routine en $100 (pile), ce qui semble être une mauvaise idée quand on reste sur l’interpréteur et qu’on joue avec le basic: la routine est écrasée. BFE0-BFFF semble plus indiqué !
Le mieux pour une utilisation sur Oric-1 dans un programme Basic, semble donc être une implémentation à l’intérieur du Basic, par exemple (en appelant la routine par CALL#BFE0):
La conversion d’images au format HIRES remonte au tout début de l’Oric. Les premières techniques utilisées étaient très artisanales, pas du tout automatisées et cantonnées aux images noir et blanc. Les niveaux de gris étaient obtenus par mélange de pixels noirs et blanc. Malgré tout de belles images ont fait l’admiration de tout un chacun. Peu à peu, des programmes plus performants sont apparus.
Plusieurs techniques ont été utilisées :
1) En mode TEXT, l’animation est basée soit sur l’affichage d’un ou plusieurs caractères pré-redéfinis, soit sur l’affichage fixe d’un ou plusieurs caractères, mais dont la redéfinition est modifiée ” au vol “. Dans le cas d’un seul caractère, l’animation est très rapide (voir par exemple Metromov de Simon G., CEO-mag n°132, 133 et 134). Evidemment, la vitesse diminue avec le nombre de caractères et/ou de redéfinitions, même lorsqu’on programme en langage machine.
2) En mode HIRES, l’animation est basée, sur l’affichage d’une série d’images (portions d’écran ou écrans entiers). La première difficulté est de disposer d’une série d’images. Sauf si vous êtes un artiste, le plus simple est de partir d’images existantes, de les réduire au format 240×200 pixels puis de convertir ces images au format HIRES. Par exemple, Dominique P. (voir les CEO-mags n° 178, 179, 181 et 182) a utilisé des Gif animés qu’il a convertis à l’aide de PictConv de Mickaël P. Toutefois la RAM de l’Oric ne peut contenir que quelques images, même si ce ne sont que des portions d’écran et même si on les compresse/décompresse. Pour gérer un nombre un peu plus élevé d’images, on est donc amené à charger des fichiers à partir d’une disquette et ceci est forcément lent. Quoi qu’on fasse, la durée totale de l’animation est donc inévitablement limitée.
3) Toujours en mode HIRES, quelques programmeurs de génie ont réalisé des miracles à base de scrolling et de sprites. Si ce n’est déjà fait, admirez par exemple le fameux ” Doggy ” d’Eric Chahi & Rémi Grouzelle édité par Loriciels. Il serait intéressant d’en faire le ” reverse engineering “, si le cœur vous en dit…
B) L’origine de mes images
Dans les années 80, j’ai emprunté à ma nièce un petit carnet d’une douzaine de pages, intitulé “Lola rennt” (Lola court). C’était un truc pour les gosses, sans nom d’auteur, ni copyright. En faisant défiler les pages, on pouvait voir courir la joggeuse Lola. J’avais photographié les images de ce petit fascicule, dans l’idée de faire courir Lola sur mon Oric.
Les années ont passé, le répertoire “Lola rennt” a survécu à tous les plantages de mes ordinateurs successifs mais j’ai enfin pu réaliser ce projet vieux de 40 ans. Hélas j’ai mis plus de temps que prévu pour finaliser ce projet et j’ai loupé l’anniversaire des 40 ans de l’Oric-1. Pas grave, ce sera pour les 40 ans de l’Atmos.
Mes ambitions étant très modestes et ayant eu la paresse de développer une nouvelle technique, je me suis placé dans la lignée des animations produites par Simon G. dans les années 90. C’était aussi l’occasion de rendre hommage à Simon car son procédé est remarquablement efficace, en dépit de sa simplicité.
C’était aussi l’occasion de voir ce qu’il est possible de faire avec PictConv de Mickaël P. et Img2oric de Sam Hocevar. Le programme résultant, “Cours Lola, cours…” n’est donc pas novateur, mais purement sentimental.
C) Le travail effectué
La phase préliminaire a consisté, comme de bien entendu, à numériser mes photos argentiques, à les recadrer correctement, à les réduire au format 240×200 pixels et à les sauver au format BMP. Rien de bien compliqué.
J’ai ensuite mouliné ces images avec PictConv en testant les différents paramètres disponibles.
Ce sont les combinaisons -f0 (sortie monochrome), -o1 (output tape format sans loader) et -d0 (sans tramage) ou -d1 (tramage alternatif) qui ont donné les meilleurs résultats, compte tenu des caractéristiques de mes images. Le paramètre -f6 (couleur, méthode de Sam Hocevar) a donné des résultats très intéressants. Mais pour rendre hommage à Sam, j’ai préféré utiliser directement son programme Img2oric.
D) Les résultats
Trois disquettes sont issues de ce travail :
Lola-P0.dsk (exploitant PictConv avec les paramètres -f0 -o1 et -d0)
Lola-P1.dsk (exploitant PictConv avec les paramètres -f0 -o1 et -d1)
Lola-SH.dsk (exploitant Img2oric de Sam Hocevar)
Elles sont jointes à cet article et si cela vous tente, vous pourrez regarder Lola courir (chaque animation dure environ 20 s). Soyez indulgents, c’est de l’animation sur Oric…
Les disquettes de Lola sont utilisables sur Oric-1 et sur Atmos physiques, ainsi qu’avec Euphoric ou Oricutron. Notez, comme Simon l’avait signalé, qu’à partir d’un disque dur (c’est-à-dire avec un émulateur) l’animation est plus rapide (environ 2 fois) qu’à partir un lecteur de disquette (Oric réel). De plus avec un émulateur, il est possible d’augmenter un peu la fréquence. Mais l’animation devient illisible au-delà de 4 Mhz.
Enfin, la conversion des BMP a engendré quelques petits défauts, notamment des “effets de bord” (la conversion est imparfaite à proximité du bord de l’image). J’ai donc été amené à développer EDIHRS (pour EDIteur d’écrans HiReS), un programme qui permet d’effectuer de petites corrections. Attention, ce n’est pas Photoshop ou Gimp : Les possibilités sont très limitées. Ce programme fera prochainement l’objet d’un autre article.
PS. Le thriller “Cours, Lola, cours” réalisé par Tom Tykwer en 1998 est très postérieur au fascicule “Lola run” que j’ai utilisé. Je ne sais pas si ces deux Lola ont la même origine. Si vous avez des infos, faites m’en profiter.
Réservez votre soirée du Vendredi 13 Septembre, comme d’habitude de 21h à 22h00. Partageons nos travaux de l’été et nos projets de fin d’année.
Sommaire à compléter :
Software
Des news sur Head-On
Hardware
…
CEO Visu-Meet 2024-09 Vendredi, 13 septembre · 9:00 à 10:00pm Informations de connexion Google Meet Lien de l’appel vidéo : https://meet.google.com/jtg-mkbb-edd
Fut’Oric est un jeu de chiffres de type Futoshiki ce qui veut dire “non égal” en japonais. Il est conçu pour Atmos (c’est-à-dire pour la Rom 1.1 + Sedoric). Le programme est au format dsk et peut être utilisé avec un Atmos réel + Microdisc ou avec un Atmos émulé par exemple avec Euphoric. Mais pas avec Oricutron à cause d’une double bogue : 1) Oricutron retourne le code 166 (#A6) au lieu de 165 (#A5) lorsque la touche FUNCT est pressée. 2) Le “stick mode” ne marche pas pour la touche FUNCT. Même en modifiant le programme pour qu’il détecte le code #A6 au lieu de #A5, cela ne marche toujours pas car le “stick mode” est indispensable. Il faut donc attendre qu’Oricutron soit débogué…
L’objectif est de remplir toutes les cases d’une grille avec des chiffres, de telle manière que chaque ligne et chaque colonne soient remplie de chiffres différents. C’est donc un jeu du style Sudoku, mais avec trois différences majeures : 1) Les chiffres indiqués initialement sont moins nombreux. 2) Cette réduction du nombre d’indices a été compensée avec l’apparition de quelques signes “inférieur à” et “supérieur à” placés entre certaines cases. Ces symboles < et > indique la relation entre les cases adjacentes. 3) Les dimensions de la grille peut aller de 4×4 à 9×9 cases (en théorie, car cela devient vite trop compliqué au-delà de 6×6 cases).
Dans cette adaptation bilingue (Français et Anglais) pour Oric, trois niveaux de difficulté vous attendent : 1) Fastoche : avec 16 grilles de 4×4 cases à remplir avec les chiffres de 1 à 4. Ce niveau est surtout pédagogique, car ces grilles peuvent être aisément résolues. 2) Faisable : avec 32 grilles de 5×5 cases à remplir avec les chiffres de 1 à 5. Ces grilles sont les plus intéressantes, car elles sont bien équilibrées entre difficulté et intérêt. 3) Fortiche : avec 16 grilles de 6×6 cases à remplir avec les chiffres de 1 à 6. Elles vous demanderont probablement beaucoup de patience et de matière grise… avant de parvenir à les résoudre ! Les commandes sont simples et réduites au minimum : 1) Les 4 flèches pour vous déplacer dans la grille. 2) Un chiffre (de 1 à 4, 1 à 5 ou 1 à 6 selon la taille de la grille). 3) FUNCT + chiffre pour placer une hypothèse. 4) Chiffre 0 pour effacer une case. 5) La touche R (Reset) pour recommencer la grille en cours. 6) La touche S (Save) pour sauvegarder la grille en cours. 7) La touche L (Load) pour recharger la grille précédemment sauvegardée. 8) La touche B (Bruit) pour valider ou arrêter le clic de la touche FUNCT. 9) Et pour finir, la touche Q (Quitter).
Toutes les grilles ont évidemment une solution et peuvent être résolues avec un peu d’observation et de logique, sans avoir besoin d’y “aller au pifomètre”. La possibilité de placer des hypothèses dans les cases devrait vous aider dans les cas complexes.
PS. Ce programme est également disponible sur http://andre.cheramy.net/oric.htm Ce site contient notamment une section téléchargement très étoffée. Vous y trouverez tous mes programmes, des trucs et astuces, quasiment tous les livres connus sur l’Oric et le 6502, tout ce qui concerne le Super-Oric, etc. Hélas, il y a aussi plein de choses périmées ou pas mises à jour (merci pour votre compréhension, selon la formule usuelle débile). J’entre dans un âge avancé et il se pourrait que mon site disparaisse sans prévenir. Je vous invite donc à récupérer tous ce qui pourrait vous intéresser. Bien cordialement à vous tous.
Bienvenue dans ce dernier numéro du CEO-MAG pour l’année 2023.
A tous, au nom du conseil d’administration du CEO, je souhaite une bonne année 2024, puisse t’elle vous apporter moult satisfactions et vous laisser un peu de temps pour utiliser votre ordinateur favori et participer à un de nos évènements. Alors comme pour Dino, faites vos voeux. Le numéro est un peu plus épais qu’à l’accoutumée et assez dense en lecture, car il contient quelques nouveautés passées au travers des précédents opus ; même s’il en manque sans doute.Dans mes idées (ou voeux appelez les comme vous voulez), je dois utliser plus de matière provenant des forums, ce qui n’est pas toujours facile car je ne suis pas toujours en mesure d’en valider le contenu ; ainsi qu’un suivi des mises à jour d’oric.org sur la partie software. Certains softs méritent le détour, et j’espère que la lecture de ce mag vous donnera envie de ressortir votre Oric ou un émulateur pour découvrir ces pépites. Je suis loin d’avoir joué à tous ces jeux d’aventure, je l’avoue ; aussi les pages «conçu par» sont liées à ces logiciels réalisés avec PunyInform mais pas testés au delà de quelques mots. Je ne suis déjà pas trop orienté aventure classique à l’image de «Meurtres à Venise» mais ces réalisations utilisant Pinforic demandent trop de temps pour s’y engager. Il y en aura d’autres à venir alors si des Oriciens sont motivés par des tests de quelques lignes, qu’ils n’hésitent pas à nous contacter. Nul doute que 2024 verra de nouveaux jeux, il y aura déjà les candidats à la PunyJam #4, sans doute la sortie (enfin) du jeu entamé voici 4 ans par Goyo, avec la participation musicale de Chloe, et peut être des nouvelles de Yann L, au volant de son futur jeu d’action. J’espère qu’Inufuto continuera de produire quelques softs d’action, toujours aussi léchés et agréables à jouer. Bonne lecture à tous et merci pour vos contributions passées, présentes et futures. Et n’oubliez pas que des liens interactifs sont dans le mag notamment sur les images issues de vidéos et sur les QR code ; cliquez donc ! Bien entendu, vous retrouverez dans le zip du mag toutes les disquettes et cassettes des logiciels présentés
Sommaire
4 Réhausser son boitier 5 3D Battlestar 6 Cricket 7 Hopman 8 Yewdow 9 Des idées de meurtres 10 Meurtres à Venise 12 Bertrand Brocard, une légende du jeu vidéo 23 Los 3 investigadores en el misterio de la falsa herencia 24 Retour sur la PunyJam #03 25 Submarine Sabotage 26 A1RL0ck 27 The Fantasy Dimension 28 Lucid Night 29 Falling to pieces 30 Blorp ! 31 A Clean Getaway 33 Adhésions, vie du Conseil
Une nouvelle visu bien sympathique, qui nous a permis de découvrir de belles nouveautés hardware.
Sommaire :
00:32 Les participants 00:59 Des projets en cours … 01:50 Manipulation de fichiers TAP 04:14 Projet de carte mère par Voyageur 21:47 La bibliographie de Thierry dans le CEO-MAG .
Summary : 00:32 Participants 00:59 Projects on going .. 01:50 Tap file modification 04:14 A new motherboard by Voyageur 21:47 Thierry’s articles
Retrouvez le résumé de la visu-meet sur Youtube.
30 minutes de visu.
A bientôt, la prochaine Visu-Meet est programmée le 8 Mars 2024 ; mais il sera aussi possible d’échanger en début d’année à la prochaine Visu (date à définir)
Grace à Anthony, Thierry, Voyageur, Kenneth nos as de l’Oric et contributeurs hors pairs, ce nouvel opus est tout simplement remarquable. Vous avez le choix de donner une nouvelle dimension, une nouvelle carapace à votre Oric. La construction d’Anthony me rappelle cette époque où Thierry nous épatait à chaque visu, avec son Oric et ses lecteurs de disquettes installés au coeur d’un boitier sur mesure. La mise en page est un peu améliorée, et les articles intègrent parfois un QR code intégrant un lien vers la source ou vers des annexes tel qu’un code source.
Bonne lecture à tous et merci pour vos contributions. Didier
Sommaire :
Reconstruction d’un Oric Un Oric issue4c, puis l’issue5 La bibliographie CEO de Thierry B. Un oublié du développement sur Oric : Monasm Mes premiers pas en Assembleur Témoignage Albin de la Simone DFlat L’évènement Oric du trimestre, la Visu-Meet de Septembre Oric et Caractéristiques Techniques