Museum
Musée
As its title indicates, this page hosts some pieces from the past, obsolets... or not ; because the computers will always be zeros and ones ! Here is my little museum of curiosities, as they were. Enjoy !
Some of the pieces published here require MS-DOS : a simple solution under Windows, Linux and OS X is to use DOSBox, as I explained it here.
Comme son intitulé l'indique, cette page accueille des pièces extirpées du passé, obsolètes... ou pas ; car l'informatique sera toujours des zeros et des uns ! Voici donc mon petit musée de curiosités dans leur jus. Amusez-vous !
Certaines des pièces publiées ici nécessitent MS-DOS : une solution simple sous Windows, Linux et OS X est d'utiliser DOSBox, ainsi que je l'explique ici.
Minitris
Minitris
Freeware Open-source under DOS - Written in BASIC
Freeware Open-source sous DOS - Ecrit en BASIC
A day in 1994, I "won" a small Tetris plastic console (with points in a gas-station:). Being not at all a gamer, but a developer, I started to observe it... Then I wrote a program in QuickBASIC to reproduce it. Finally, to increase the fun, I added a NINJA mode where the pieces are exploded in several parts (like on this screenshot, where I loose miserably - I told you, I do not play;)
Un jour de 1994, j'ai "gagné" une petite console plastique de Tetris (avec des points dans une station-service:). N'étant pas joueur, mais développeur, j'ai commencé à l'observer... Puis j'ai écrit un programme en QuickBASIC pour le reproduire. Enfin, j'ai ajouté un mode NINJA dans lequel les pièces sont explosées en plusieurs parties (comme sur cette capture écran où je perds lamentablement - je vous l'avais dit, je ne joue pas;)
Download minitris-10.zip (58KB)
Téléchargez minitris-10.zip (58Ko)
QBasm
QBasm
Demo/Tuto - Written in BASIC and assembler
Démo/Tuto - Ecrit en BASIC et assembleur
An article by a developer for developers that I wrote in 1993 and which dealt with a particular point of my specialty (of the time) : the mixed development ! Here, it was explained, with supporting example, how to optimize a Quick BASIC program (but the principle would work with any high-level language) by interfacing with assembler routines (low-level language, near the machine, by design the fastest).
Un article de développeur pour développeurs que j'ai écrit en 1993 et qui traitait d'un point particulier de ma spécialité (de l'époque) : le développement mixte ! Ici, il s'agissait d'expliquer, avec exemple à l'appui, comment optimiser un programme Quick BASIC (mais le principe pourrait fonctionner avec tout langage haut-niveau) par interfaçage avec des routines assembleur (langage bas-niveau, proche de la machine, par essence le plus rapide).
Download qbasm-r3.zip (32KB)
Téléchargez qbasm-r3.zip (32Ko)
Speed Refresh RAM
Speed Refresh RAM
Freeware Open-source under DOS - Written in assembler
Freeware Open-source sous DOS - Ecrit en assembleur
At the time I wrote Speed Refresh RAM (SpeedRR), the PC were not at today's rate. My current PC is clocked at 4.3 GHz (and I don't speak about processor, width of registers, number of cores, size and RAM latency, bus width, etc.), while in 1992 it turned at 25 MHz. At a time it was not question to stand by war machines, optimization in size and speed was not an empty word. SpeedRR is a 490 bytes tool which (slightly) impacted the speed of a PC, playing with the refresh rate of its RAM. Source code provided ;o)
A l'époque où j'ai écrit Speed Refresh RAM (SpeedRR), les PC n'étaient pas à la vitesse d'aujourd'hui. Mon PC actuel est cadencé à 4.3 GHz (et je ne parle ni processeur, largeur de registres, nombre de coeurs, taille et latence de la RAM, largeur de bus, etc), tandis qu'en 1992, il tournait à 25 MHz. En ces temps où il n'était pas question de se reposer sur des machines de guerre, l'optimisation en taille et en vitesse n'était pas un vain mot. SpeedRR est un outil de 490 octets qui impactait (légèrement) la vitesse d'un PC en jouant sur le taux de rafraichissement de sa mémoire vive. Code source fourni ;o)
Download speedrr1.zip (9KB)
Téléchargez speedrr1.zip (9Ko)
NoINT19h
NoINT19h
Freeware Open-source under BIOS/DOS - Written in assembler
Freeware Open-source sous BIOS/DOS - Ecrit en assembleur
I wrote this to prevent any warm reboot via ALT-CTR-DEL under DOS. It was for a client in the field of lighting (for shows)... But don't ask me why he needed this, I don't remember exactly (maybe because he had to manage combinations of keys near this special one in the dark, something like that). Anyway, this is also an example of "old school" resident hook; for the museum :o)
J'ai écrit ceci pour prévenir tout redémarrage à chaud via ALT-CTRL-DEL sous DOS. C'était pour un client dans le domaine de l'éclairage (de spectacles)... Mais ne me demandez pas pourquoi il avait précisément besoin de ça, je ne m'en souviens plus en détail (peut-être parce qu'il avait à gérer des combinaisons de touches proches de celle-ci dans le noir, un truc comme ça). Quoi qu'il en soit, c'est aussi un exemple de détournement résident "old school" ; pour le musée :o)
Download noint19h.zip (4KB)
Téléchargez noint19h.zip (4Ko)
A day in 1994, I "won" a small Tetris plastic console (with points in a gas-station:). Being not at all a gamer, but a developer, I started to observe it... Then I wrote a program in QuickBASIC to reproduce it. Finally, to increase the fun, I added a NINJA mode where the pieces are exploded in several parts (like on this screenshot, where I loose miserably - I told you, I do not play;)
Un jour de 1994, j'ai "gagné" une petite console plastique de Tetris (avec des points dans une station-service:). N'étant pas joueur, mais développeur, j'ai commencé à l'observer... Puis j'ai écrit un programme en QuickBASIC pour le reproduire. Enfin, j'ai ajouté un mode NINJA dans lequel les pièces sont explosées en plusieurs parties (comme sur cette capture écran où je perds lamentablement - je vous l'avais dit, je ne joue pas;)
Download minitris-10.zip (58KB)
Téléchargez minitris-10.zip (58Ko)
QBasm
QBasm
Demo/Tuto - Written in BASIC and assembler
Démo/Tuto - Ecrit en BASIC et assembleur
An article by a developer for developers that I wrote in 1993 and which dealt with a particular point of my specialty (of the time) : the mixed development ! Here, it was explained, with supporting example, how to optimize a Quick BASIC program (but the principle would work with any high-level language) by interfacing with assembler routines (low-level language, near the machine, by design the fastest).
Un article de développeur pour développeurs que j'ai écrit en 1993 et qui traitait d'un point particulier de ma spécialité (de l'époque) : le développement mixte ! Ici, il s'agissait d'expliquer, avec exemple à l'appui, comment optimiser un programme Quick BASIC (mais le principe pourrait fonctionner avec tout langage haut-niveau) par interfaçage avec des routines assembleur (langage bas-niveau, proche de la machine, par essence le plus rapide).
Download qbasm-r3.zip (32KB)
Téléchargez qbasm-r3.zip (32Ko)
Speed Refresh RAM
Speed Refresh RAM
Freeware Open-source under DOS - Written in assembler
Freeware Open-source sous DOS - Ecrit en assembleur
At the time I wrote Speed Refresh RAM (SpeedRR), the PC were not at today's rate. My current PC is clocked at 4.3 GHz (and I don't speak about processor, width of registers, number of cores, size and RAM latency, bus width, etc.), while in 1992 it turned at 25 MHz. At a time it was not question to stand by war machines, optimization in size and speed was not an empty word. SpeedRR is a 490 bytes tool which (slightly) impacted the speed of a PC, playing with the refresh rate of its RAM. Source code provided ;o)
A l'époque où j'ai écrit Speed Refresh RAM (SpeedRR), les PC n'étaient pas à la vitesse d'aujourd'hui. Mon PC actuel est cadencé à 4.3 GHz (et je ne parle ni processeur, largeur de registres, nombre de coeurs, taille et latence de la RAM, largeur de bus, etc), tandis qu'en 1992, il tournait à 25 MHz. En ces temps où il n'était pas question de se reposer sur des machines de guerre, l'optimisation en taille et en vitesse n'était pas un vain mot. SpeedRR est un outil de 490 octets qui impactait (légèrement) la vitesse d'un PC en jouant sur le taux de rafraichissement de sa mémoire vive. Code source fourni ;o)
Download speedrr1.zip (9KB)
Téléchargez speedrr1.zip (9Ko)
NoINT19h
NoINT19h
Freeware Open-source under BIOS/DOS - Written in assembler
Freeware Open-source sous BIOS/DOS - Ecrit en assembleur
I wrote this to prevent any warm reboot via ALT-CTR-DEL under DOS. It was for a client in the field of lighting (for shows)... But don't ask me why he needed this, I don't remember exactly (maybe because he had to manage combinations of keys near this special one in the dark, something like that). Anyway, this is also an example of "old school" resident hook; for the museum :o)
J'ai écrit ceci pour prévenir tout redémarrage à chaud via ALT-CTRL-DEL sous DOS. C'était pour un client dans le domaine de l'éclairage (de spectacles)... Mais ne me demandez pas pourquoi il avait précisément besoin de ça, je ne m'en souviens plus en détail (peut-être parce qu'il avait à gérer des combinaisons de touches proches de celle-ci dans le noir, un truc comme ça). Quoi qu'il en soit, c'est aussi un exemple de détournement résident "old school" ; pour le musée :o)
Download noint19h.zip (4KB)
Téléchargez noint19h.zip (4Ko)
An article by a developer for developers that I wrote in 1993 and which dealt with a particular point of my specialty (of the time) : the mixed development ! Here, it was explained, with supporting example, how to optimize a Quick BASIC program (but the principle would work with any high-level language) by interfacing with assembler routines (low-level language, near the machine, by design the fastest).
Un article de développeur pour développeurs que j'ai écrit en 1993 et qui traitait d'un point particulier de ma spécialité (de l'époque) : le développement mixte ! Ici, il s'agissait d'expliquer, avec exemple à l'appui, comment optimiser un programme Quick BASIC (mais le principe pourrait fonctionner avec tout langage haut-niveau) par interfaçage avec des routines assembleur (langage bas-niveau, proche de la machine, par essence le plus rapide).
Download qbasm-r3.zip (32KB)
Téléchargez qbasm-r3.zip (32Ko)
Speed Refresh RAM
Speed Refresh RAM
Freeware Open-source under DOS - Written in assembler Freeware Open-source sous DOS - Ecrit en assembleurAt the time I wrote Speed Refresh RAM (SpeedRR), the PC were not at today's rate. My current PC is clocked at 4.3 GHz (and I don't speak about processor, width of registers, number of cores, size and RAM latency, bus width, etc.), while in 1992 it turned at 25 MHz. At a time it was not question to stand by war machines, optimization in size and speed was not an empty word. SpeedRR is a 490 bytes tool which (slightly) impacted the speed of a PC, playing with the refresh rate of its RAM. Source code provided ;o)
A l'époque où j'ai écrit Speed Refresh RAM (SpeedRR), les PC n'étaient pas à la vitesse d'aujourd'hui. Mon PC actuel est cadencé à 4.3 GHz (et je ne parle ni processeur, largeur de registres, nombre de coeurs, taille et latence de la RAM, largeur de bus, etc), tandis qu'en 1992, il tournait à 25 MHz. En ces temps où il n'était pas question de se reposer sur des machines de guerre, l'optimisation en taille et en vitesse n'était pas un vain mot. SpeedRR est un outil de 490 octets qui impactait (légèrement) la vitesse d'un PC en jouant sur le taux de rafraichissement de sa mémoire vive. Code source fourni ;o)
Download speedrr1.zip (9KB)
Téléchargez speedrr1.zip (9Ko)
NoINT19h
NoINT19h
Freeware Open-source under BIOS/DOS - Written in assembler Freeware Open-source sous BIOS/DOS - Ecrit en assembleurI wrote this to prevent any warm reboot via ALT-CTR-DEL under DOS. It was for a client in the field of lighting (for shows)... But don't ask me why he needed this, I don't remember exactly (maybe because he had to manage combinations of keys near this special one in the dark, something like that). Anyway, this is also an example of "old school" resident hook; for the museum :o)
J'ai écrit ceci pour prévenir tout redémarrage à chaud via ALT-CTRL-DEL sous DOS. C'était pour un client dans le domaine de l'éclairage (de spectacles)... Mais ne me demandez pas pourquoi il avait précisément besoin de ça, je ne m'en souviens plus en détail (peut-être parce qu'il avait à gérer des combinaisons de touches proches de celle-ci dans le noir, un truc comme ça). Quoi qu'il en soit, c'est aussi un exemple de détournement résident "old school" ; pour le musée :o)
Download noint19h.zip (4KB)
Téléchargez noint19h.zip (4Ko)