Archive

Archive for décembre 2008

SmallBasic : un basic d’initiation ?

Microsoft à récemment publier la version 0.2 de SmallBasic.
Pas de soucis, il ne s’agit pas d’un nouveau langage basic pour concurrencer VisualBasic.

SmallBasic est un "environnement de développement" ultrasimplifié destiné à l’ apprentissage de la programmation basic. Il est donc destiné en priorité aux néophytes, aux enfants, aux écoles, clubs informatiques.

En cela, il est le successeur des langages Basic (interpréteur) que l’on trouvait directement intégré dans les ordinateurs de notre jeunesse (Thomson, Amstrad, Alice, MSX, …).

Le langage possède seulement 15 mots clefs. les programmes s’exécutent dans un contexte graphique simplifié mais permettant de dessiner, gérer la souris et le clavier… , il y a même une souris comme dans nos Logo ancestraux (elle est tout mimi la tortue) !!!

Les programmes sont mono fichier (le point de départ est le début du fichier), l’éditeur supporte la coloration syntaxique, une intellisense simplifiée, une aide automatique. Le langage est extensible en utilisant n’importe quel langage .NET 3.5. L’équipe de développement à un blog : http://blogs.msdn.com/smallbasic 

   

Sur ce, je vous souhaite  une bonne et heureuse année 2009 !!

PS : le premier qui trouve le bug avant 2009 à droit à une bière chti gratuite 🙂 ( à consommer avec modération).

Catégories :Non classé

HISTORIQUE ¤ PMOS486 ¤ Protected Mode Operating System 486

PMOS486 s’appelait initialement PRO286 ( PRO pout PROtected, 286 car il ciblait un i80286).

C’est un programme écrit en 1990, 100% en assembleur, dont le but initial est de basculer un processeur 80286 en mode protégé afin de gérer tout la mémoire puis de le faire revenir en mode réel (le DOS) sans rebooter. Pour l’anecdote, je l’ai développé et testé sur un Amstrad PC 2286 avec 2 lecteurs de disquette 3.5’ de 1.44Mo, et 1Mo de RAM ! Imaginez le nombre de reboot … sur disquette 😉

Il met en œuvre tout les concepts de base de la programmation en mode protégé (protected mode … d’où le nom du programme) des processeurs Intel x86 ( table d’interruption IDT, table d’adressage locale LDT, table d’adressage globale GDT, ring 0 et 3, …),déplacement des interruptions hardwares (clavier/horloge entre autres).

Le processeur 80286 (une fois en mode protégé) ne peut pas revenir en mode réel sans reset. La version 286 utilisait la feinte des bios d’IBM (généralisé par la suite sur tout les PC-AT) pour revenir en mode réel sans reboot du DOS : positionnement dans la RAM non volative d’une adresse de retour en mode réel, reset du 80286 vers le mode réel par une triple erreur d’adressage mémoire, le BIOS prend la main puis bascule directement l’exécution à l’adresse stocké dans la ram non volatile, restauration du contexte DOS et on rend la main au DOS.

Les interruptions hardwares sont décalées en mode protégé car elles chevauchent les gestionnaires d’exception du mode protégé.

Les interruptions hardwares provenant du clavier et de l’horloge sont gérées par un minidriver (clignotement du CLK en bas à gauche de l’écran) et transformation des scancodes provenant du clavier en caractères affichés à l’écran. un mini pilote d’affichage gère les retours à la ligne automatique et le scrolling vertical.

la touche Echappe (ESC) déclenche le retour au DOS.

Ce programme correspond aux taches élémentaires réalisés par un système d’exploitation bootant sur un PC (Que ce soit Linux, Vista, XP, BSD, …. ).

En 1994 dans le cadre d’une présentation de projet étudiant (Iut A Informatique, Lyon 1), le code source à été remanié pour supporter les processeurs 80386/486 et supérieurs (détection des processeurs, retour au mode réel géré proprement).

Le code source est téléchargeable ici

Un disque virtuel (.VHD pour Virtual PC) basé sur FreeDOS et préinstallé est disponible ici. Ils suffit d’utiliser ce VHD pour une machine virtuelle basique (Autres OS, 4mo de RAM).

Les applications PRO486/PRO282 et leurs codes sources sont fournis sans aucune garanties.Ils sont libre de droits. Faites moi juste un coucou si vous elles vous ont servies à quelque chose 🙂

Catégories :Non classé

HISTORIQUE ¤ Lsfwin (1991) : une libraire de création d’ applications fenêtrées en Turbo Pascal 5.5

LsfWin est une unité (librairie) écrite en Turbo Pascal 5.5 objet. Elle permet d’écrire des applications qui ont une IHM graphique fenêtrée et pilotable à la souris. Elle est utilisable sur un 8086 !!!!

Je l’ai réalisée en 1991 (si si … il y a 17ans). Elle est entièrement orientée objet, et écrite en Pascal Objet.
Le code source fait près de 2000 lignes ( ~65Ko ).

Elle se pilote entièrement à la souris et au clavier. Elle est utilisable sous forme d’unitée précompilée, ce qui produit des programmes dont la taille est très compacte ( le programme correspondant à la capture d’écran située ci-dessous fait environ 60Ko compilé. Il s’agit du jeu de la grignote, un TP étudiant).
Elle gère les recouvrements de fenêtres, les bitmaps (format spécifique), les fonds d’écrans, les effets reliefs ( haut, bas ), la réduction des fenetres, la notion de fenetre modale, …

La librairie graphique met en oeuvre des objets Window, qui contiennent des collections de Control (Button, Scrollbar, Textbox) … Chaque control possède un ensemble de propriétés et de pointeurs de fonction (gestionnaire d’évènements) … ça ne vous rappelle rien ?

Le code sources est librement téléchargeable sur GitHub https://github.com/flyingoverclouds/LsfWin . Une version compilée correspondant à la capture écran ci avant est aussi disponible au même endroit.
Il s’agit d’une application 100% 16bits old-fashion … la démo compilée ne tournera pas directement sur Windows. Vous pouvez utiliser une instance de FreeDos .

[Edited 2017/09 : lien de téléchargement vers GitHub et freedos]

Les sources ou exécutables mentionnés dans ce document sont disponibles en l’ état, libre de droit et sans aucune garanties. Je ne saurais être tenu pour responsable des conséquences (directes ou indirectes) de leur utilisation.

Catégories :Non classé

Carte à puce .NET / .NET Smartcard

Les cartes à puces ont bien évoluées depuis les brevets de Roland MORENO et les premières Telecarte 🙂

Elles ont d’ abords embarqués une machine virtuelle Java puis depuis quelques années une CLR .NET.

Ce mois ci, la revue "Misc" a sorti un numéro hors série spécial consacré uniquement au carte a puce (historique,technologie,sécurité et programmation). Les articles sont très bien conçus. Un seul point négatif : L’apport de Java (et sa mise en oeuvre) a été tres bien couvert, mais résistance de carte a puce (smartcard) intégrant la CLR .NET a été complètement passé sous silence.

Jusqu’ à présent le coût d’ achat de ces équipements (surtout en version .NET) restait rédhibitoire pour de simples essais ou de la veille technologique.

MISC a eu la bonne idée d’ inclure un partenariat avec Cardelya ( www.cardelya.fr ) pour proposer des kits d’ essai (lecteur et divers cartes) en version Java, mais aussi en version .NET !!!! un code d’ accès à l’ offre promotionnelle est présent dans la revue. (je ne vous le donnerai pas ici, car vu l’ intérêt de cette offre et de la revue, la moindre des choses est d’ acheter la revue en question !). Attention, il ‘agit du numéro de Novembre/Decembre qui ne sera peut etre plus en kiosque tres longtemps.

Les 2 kits disponibles : http://www.scardshop.com/boutique/liste_produits.cfm?type=14&code_lg=lg_fr

Le kit Gemalto.NET(lecteur, 4 carte .NET, sdk) initialement à 170€ht passe ainsi à 54.88€ht !!!! Il n’y a plus a hésiter !

Catégories :Non classé

Votre voiture dans les Nuages ? (your car in the Clouds .. near Azure)

Ori Amiga (Principal Group Program Manager of the Live Developper platform) vient de présenter la LiveMeshMobileCar !
Une voiture équipé d’un PC embarqué et connecté a LiveMesh. Les fichiers sonores/videos sont synchronisé. Il présente aussi quelques applications possible (tracking de la voiture par partage de la position GPS).
Je veux la même (la 933) et le LiveMeshCar !!!!
 
Catégories :Ordinateurs et Internet

Nostalgie quand tu nous tiens …

Je viens de mettre la main sur L’émulateur que je cherchais depuis longtemps : celui du Nanoréseau Leanord et de ses ordinateurs Thomson!


(image provenant du site de D. COULOM)

J’en entends quelqu’uns ricaner, d’autres avec les yeux dans le vague qui sont repartis quelques 20ans en arrière … et beaucoup (les plus jeunes) qui s’intérrogent "Kesako ?" !

 
Et bien le nanoreseau est (ou plutôt était) un réseau composé de MO5 Thomson (avec une ROM spécifique, une extension mémoire 64ko et une carte réseau propriétaire) et d’un PC (XT avec 2 lecteurs 5’1/4  .. oui vous avez bien lu !).
Ce réseau était le socle technique du plan informatique lancé par Jack Lang (alors ministre de l’éducation).
 
Loin de moi l’idée de faire de la politique, mais c’est cette initiative qui m’a fait décrouvrir l’informatique alors que je n’étais qu’au collège !
 
J’ai commencé par écrire des programmes basic sur le papier le week end, pour les taper lors de ma séance informatique hebdomadaire. Puis l’année suivante, j’ai animé le club informatique du collège (Hein Xavier ! ), on avait meme quelques prof qui venait apprendre à programmer.
Ce réseau permettait aux MO5 de communiquer entre eux (recopie de programme, copie d’écran, envoi de message, …) , de lire/écrire sur les disquettes du serveur, de recevoir des applications diffusées par le serveur, …
 
Qui se souvient de l’instruction "CLONE" ? des faux contacts de l’extension mémoire 3 fois plus hautes que le MO5 d’origine ? du logo ? des parties archarnées d’Androide ?
 
On voit où ça m’a mené !
 
Un francais, Daniel COULOM a réalisé l’émulateur Thomson ultime qui couvre toutes les variantes des ces machines, ainsi qu’un émulateur du serveur nanoréseau.
On y trouve aussi des émulateurs pour d’autres curiosités informatiques francophones : Hector, Alice, EXL100, VG5000.

 


(capture en provenance du site de D. COULOM)

 
 
Je dis Bravo … et surtout Merci …
 
 
 PS : Regarder le nom des variantes du Basic : "Microsoft" … comme quoi …

Catégories :Computers and Internet