Page 1 sur 1

Comment distinguer Mo6 vs To8 en BASIC?

Posté : 27 avr. 2019 14:36
par Linzino
Salut!

Je collabore avec Giuseppe Stassi sur le codage du jeu Mooyan en BASIC 128/512.

Le code serait compatible avec Mo6/To8/To9+ sauf le format .k7 et un seul POKE nécéssaire pour bloquer le beep sur Mo6.

Comment je peux détécter la machine (Mo6 vs To8/To9+) sur laquelle le programme tourne en BASIC 128/512 pour eviter le POKE sur To8?

Fabrizio

Re: Comment distinguer Mo6 vs To8 en BASIC?

Posté : 27 avr. 2019 15:01
par Daniel
PEEK(&HFFF2) est supérieur ou égal à 128 pour tous les MO et inférieur à 128 pour tous les TO.

Re: Comment distinguer Mo6 vs To8 en BASIC?

Posté : 27 avr. 2019 17:26
par jasz

Code : Tout sélectionner

  LDA   $FFF2         $FFF2: $F0 (MO) et $70 (TO)
  BPL   thisIsA_TO
Selon une formule de Daniel. Mais on en parlait déjà dans ce fil

Re: Comment distinguer Mo6 vs To8 en BASIC?

Posté : 27 avr. 2019 22:47
par Linzino
Merci!

Cela me permet de rendre MooyanBASIC compatible avec le Mo6, To8 et To9!

https://github.com/basic-mooyan/Basic-Mooyan

Re: Comment distinguer Mo6 vs To8 en BASIC?

Posté : 28 avr. 2019 09:10
par jasz
Impressionnant la manière utilisée pour créer le décor et les sprites :shock:

Re: Comment distinguer Mo6 vs To8 en BASIC?

Posté : 28 avr. 2019 09:57
par __sam__
J'ai testé le jeu sur TO9+ (émulé). Il marche aussi :D

C'est carrément super de voir un jeu en basic, en plus les graphismes sont mignons comme tout. Ca nous change carrément des éducatifs Vifi-Nathan. Toutes mes félicitations à Giuseppe et Fabrizio :D

Je sais pas si c'est un bug, mais au niveau du drapeau on voit les espaces autour du chiffre. C'est ce qu'il se produit quand on fait un PRINT N (le basic introduit des espaces). On peut les retirer en faisant PRINT STR$(N).

Code : Tout sélectionner

410 LIVES=3:LOCATE 33,0,0:COLOR 4,0:?"LIVES:":LOCATE 32,1,0:?LIVES
1005 LIVES=LIVES-1:COLOR 4,0:LOCATE 32,1,0:?LIVES
Idem avec les scores et les wolves à droite, mais c'est moins gênant je pense grâce à la marge.

Autre petite remarque: le 3e argument au LOCATE (le ",0") n'a pas besoin d'être répété. Il suffit de le mettre une fois au début du programme, et le curseur disparaît aussi pour les LOCATE suivants même sans l'argument.

Pour ceux qui n'ont pas envie de ressaisir le source, je joint le fichier K7 que je me suis fait.

Re: Comment distinguer Mo6 vs To8 en BASIC?

Posté : 29 avr. 2019 10:10
par Linzino
Merci!

Re: Comment distinguer Mo6 vs To8 en BASIC?

Posté : 29 avr. 2019 10:42
par Linzino
@__sam__,
toute pull-request sur le repo git est bienvenue:
https://github.com/basic-mooyan/Basic-Mooyan