le hector HRX

Image
Avatar de l’utilisateur
Francoisp31
Messages : 50
Inscription : 10 oct. 2012, 16:09
Sexe : avec plaisir
Localisation : toulouse
Contact :

le hector HRX

Message : # 270582Message Francoisp31
02 janv. 2013, 09:49

http://www.silicium.org/oldskool/france ... onique.htm

Image

Cette machine pourtant française n'a pas eu le succès qu'elle méritait, bien plus fun qu'un thomson MO6 tout en étant aussi compléte, sa bibliotheque de soft à été un vrai frein, et le choix du forth en rom, plutot que le basic n'a pas aider... d'autant plus que le forth était disponible sur les plateforme thomson qui étaient le concurent le plus direct.

le langage forth est bien plus puissant et efficace que le basic, puisqu'il est évolutif 1 programme = 1 langage donc chaque programme est 100% spécifique.

et un petit bout de code pour donner l'exemple (une petite fusée qui monte et explose en vol 3 sprites donc (fuse/black/fin))
Notez l'élégance du sprite de la fusée (fuse) representé par des 1/2&3

Code : Tout sélectionner

4 base !
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
decimal 2 8 image black

4 base !
0001 1000
0001 1000
0011 1100
0021 1200
0022 2200
2222 2222
0001 1000
0003 3000
decimal 2 8 image fuse

4 base !
3000 0003
0003 0000
0000 0030
0303 0300
0003 3000
0000 0000
0000 0003
0300 3000
decimal 2 8 image fin

0 variable Y

/fin des mise en mémoire directes et debut du code

: efface-ecran
  standard
  page
;

: dessine-sprite
   120 y @ 0 fuse
   2 delay 
   120 y @ 0 black
;

: monte2-3lignes
  y @ 3 + dup !  / monte de 3 lignes (y=y+3)
;

: explosion
  120 225 0 fin
  2 delay
  120 225 0 black
;

: comptarebour
  4  begin dup . 1-  10 delay 5 spaces  dup 0 = until /compte à rebour
;

/le main code enfin peut commencer :

: decolage
  0 y ! / ne pas oublier de forcer y a zero pour partir du bas.

  comptarebour
  cr
  ." D E C O L A G E !"
  2 314 sound
  1 delay
  hush

  efface-ecran
 
  begin
      dessine-sprite
      monte2-3lignes
  225 >  until           
 
  2 216 sound
  explosion / HUSTON ? NOUS AVONS UN PROBLEME 
  1 delay 
  hush

  efface-ecran
  special
;

decolage

un autre exemple : le tamagochi :

Code : Tout sélectionner

: agej+ ( compteur d'age en jours )
        agej @ 365 = if
                        agea @ 1+ agea ! ( prendre 1 an )
                        0 agej !
        then
        agej @ 1+ agej !
;

[...............] etc [.......]

: faim+ faim @ 1+ faim ! ;

: mange
        25 0 do
                faim-
        loop
        4 0 do
                fatigue+ ( ca fatigue la digestion )
        loop
        ." Mange "
;
: affiche-stats
        stat @ 1+ stat !
        stat @ 10 > if
                ( n'afficher les stats que tous les 10 jours )
                ( pour faciliter la lisibilite )
                cr ." STATS : "
                affiche-age
                cr ." Faim : " faim @ . ."  Fatigue : " fatigue @ .
                0 stat !
        then
;
: mort?
        faim @ 150 > if
                1 mort !
                cr cr ." M O R T ! de faim " cr
        then
        fatigue @ 150 > if
                1 mort !
                cr cr ." M O R T ! de fatigue " cr
        then
        agea @ 87 > if
                ( donner une limite pour eviter que le facteur aleatoire )
                ( ne puisse donner un resultat stupide )
                ( comme 5000 ans par exmeple )
                1 mort !
                cr cr ." M O R T ! de vieillesse " cr
        then
;
: simu
        reset ( vider la pile et les variables )
        begin
                mort @ 0 = if
                        sedeplace
                        agej+ ( 1 boucle = 1 jour )
                        2 0 do faim+ loop
                        2 0 do fatigue+ loop
                        agej @ 10 > if
                                2 0 do fatigue+ loop
                                2 0 do faim+ loop
                        then
                        agea @ 10 > if
                        ( affaiblissement de la condition physique )
                        ( selon l'age )
                                5 0 do fatigue+ loop
                                4 0 do faim+ loop
                                2 0 do sedeplace loop
                        then
                        agea @ 30 > if
                                15 0 do fatigue+ loop
                                6 0 do faim+ loop
                                sedeplace
                        then
                        faim @ 20 > if
                                sedeplace
                                mange
                        then
                        fatigue @ 50 > if
                                sedeplace
                                serepose
                        then
                        affiche-stats
                        mort? 
                               ( est on mort et si oui de quoi )
                then
        mort @ 0 > until
        20 stat ! affiche-stats ( age atteint et autres stats )
        reset ( vider la pile )
;
qui donne vie à :

Code : Tout sélectionner

Age : 10 an(s) et 365 jour(s).
Faim : 4  Fatigue : 48 Se deplace Se deplace Se deplace Se deplace Mange Se deplace Se repose Se deplace Se deplace Se deplace Se deplace Mange Se deplace Se repose Se deplace Se deplace Se [......]
Se deplace Se deplace Mange Se deplace Se repose Se deplace Se deplace Se deplace Se deplace Mange Se deplace Se repose
STATS :
Age : 11 an(s) et 11 jour(s).
Faim : 107  Fatigue : 41 Se deplace Se deplace Se deplace Se deplace Mange Se deplace Se repose Se deplace Se deplace Se deplace Se deplace Mange Se deplace Se repose Se deplace Se deplace Se deplace Se deplace Mange Se deplace Se repose Se deplace Se deplace Se deplace Se deplace Mange Se deplace Se repose

M O R T ! de faim

STATS :
Age : 11 an(s) et 15 jour(s).
Faim : 155  Fatigue : 33  ok


un exemple avec un forth moderne :

Code : Tout sélectionner

#! /usr/bin/gforth
variable numero_ligne
variable hauteur_pyramide
variable nombre_de_blancs


: valorise_hauteur_pyramide 20 hauteur_pyramide ! ;
: valorise_numero_ligne_a_0 0 numero_ligne ! ;
: incremente_numero_ligne numero_ligne @ 1+ numero_ligne ! ;
: valorise_nombre_de_blancs hauteur_pyramide @ 1- nombre_de_blancs ! ;
: decremente_nombre_de_blancs nombre_de_blancs @ 1- nombre_de_blancs ! ;

: efface_ecran page ;
: passe_a_la_ligne_suivante cr ;

: dessine_les_blancs nombre_de_blancs @ 0 do ."  " loop ;
: calcul_nombre_d_etoiles_et_dessine_les_etoiles numero_ligne @ 2 * 1+ 0 do ." *" loop ;

: compare_nombre_de_linges_faites_avec_hauteur_pyramide numero_ligne @ hauteur_pyramide @ 2 - ;

: init
efface_ecran
valorise_hauteur_pyramide
valorise_numero_ligne_a_0
valorise_nombre_de_blancs
passe_a_la_ligne_suivante
;

: pyramide
init
BEGIN
        dessine_les_blancs
        calcul_nombre_d_etoiles_et_dessine_les_etoiles
        incremente_numero_ligne
        decremente_nombre_de_blancs
        passe_a_la_ligne_suivante
compare_nombre_de_linges_faites_avec_hauteur_pyramide > UNTIL
passe_a_la_ligne_suivante ;

pyramide bye
c'est quand même mieux pour relire le code :class: :lol!:

Avatar de l’utilisateur
Tipoune
Messages : 25359
Inscription : 28 févr. 2008, 00:00
Sexe : Rien qu'avec Snarf
Localisation : Le Havre

Re: le hector HRX

Message : # 270585Message Tipoune
02 janv. 2013, 12:02

Belle bestiole, par contre, je ne connais pas du tout. ;)
Merci pour la découverte. ;)
Ils vécurent enfants et firent beaucoup d'heureux !! :sunny:

Avatar de l’utilisateur
Francoisp31
Messages : 50
Inscription : 10 oct. 2012, 16:09
Sexe : avec plaisir
Localisation : toulouse
Contact :

Re: le hector HRX

Message : # 270586Message Francoisp31
02 janv. 2013, 14:18

normal le "poux français", nom sous lequel cette machine est plus connue, est une machine rare et sans succès à la fois, donc à part quelques geeks bien autistes, personne ne la connait... :mer:

Avatar de l’utilisateur
Philou62
Messages : 1598
Inscription : 01 févr. 2007, 00:00

Re: le hector HRX

Message : # 270590Message Philou62
02 janv. 2013, 20:21

J'ai failli l'avoir complet dans sa boîte, et finalement j'ai pas pu... Tu as raison, la gamme Hector n'a pas eu sa chance, et le HRX ne fait pas exception à la règle. Ce qui fait que le HRX, l'un des plus aboutis de la gamme Hector, juste avant le MX-80, soit devenu aussi l'un des plus rares et des plus prisés de la gamme par les collectionneurs (donc l'un des plus chers, of course !). Le Forth reste tout de même la plus grande force de la machine, c'est ce qui fait son originalité par rapport à toutes les autres, et c'est aussi ce langage de programmation qui le rend assez performant (le Forth est en effet à la fois beaucoup plus rapide que le Basic, et plus simple à utiliser). Il succède aux Hector 2HR et 2HR+, embarque plus de mémoire et plus de couleurs dans sa palette (quinze au lieu de huit). Ceci dit, il aurait pu embarquer d'origine en ROM, le Basic en plus du Forth, même si le Basic était disponible en cassette ou avec d'une carte d'extension.

Si la machine était réussie et se plaçait correctement niveau puissance à sa sortie, il était tout de même largement dépassé par le Commodore 64 sorti la même année (et qui a vite fait un tabac sur le plan mondial), pas forcément beaucoup plus cher. Il souffre également d'une sous exploitation de ses capacités dans les jeux, car ceux-ci sont très souvent issus du mode basse définition du 2HR (alors que ce dernier était capable d'afficher la haute résolution, d'où HR), avec lequel, il devait être 100% compatible (pour mémoire, cette basse résolution atteint 113x77 en quatre couleurs maxi, ouch !).

Bref, une bonne machine assurément, Micronique croyait avoir bien fait les choses en mettant en avant le Forth, mais les utilisateurs d'ordinateurs ont-ils finalement préféré continuer à utiliser le bon vieux Basic, du fait qu'ils en étaient plus habitués ? En fait non, ça n'explique rien, car le 2HR intégrait de base un interpréteur Basic (le 2HR+ ayant, lui, le Basic et le Forth en ROM, c'est la seule différence avec le 2HR), il ne s'est pourtant pas très bien vendu.

Bon à savoir la gamme Hector est bel et bien basée sur un hardware américain, le Victor Lambda, produit en Californie par Interact. Mais les machines Hector ont bel et bien été conçus et produits en France, ce qui en fait bien un ordinateur français.

Avatar de l’utilisateur
Gobo
Messages : 3871
Inscription : 10 mars 2007, 00:00

Re: le hector HRX

Message : # 271986Message Gobo
25 janv. 2013, 10:04

Je ne connais cet ordi que de nom !
J'ai appris plein de choses. J'aime bien ce nom : "Hector" pour un ordi...

Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité