coder sur un 8088 ;-) -> la super démo sur ZX-81

Tous les Sinclair. Du Mk14 au QL

Modérateur : Politburo

Répondre
Avatar de l’utilisateur
Carl
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2542
Inscription : 04 janv. 2003 00:47
Localisation : www.dole.org
Contact :

coder sur un 8088 ;-) -> la super démo sur ZX-81

Message par Carl » 09 avr. 2005 18:22

Hi !
pour les curieux qui ont un PC 8088...
une démo "Hornet" du groupe "8088 Corruption" a été nominé au Scene.org.Awards dans la catégorie "most original concept"

http://awards.scene.org/nominees.php?cat=7

prévoir une carte CGA :wink:
carl

Avatar de l’utilisateur
BubbleBobble
Modérateur
Modérateur
Messages : 2639
Inscription : 08 sept. 2004 22:24
Localisation : Ajaccio

Message par BubbleBobble » 09 avr. 2005 18:49

Super, enfin un programme à utiliser sur ma carte 8088 de l'Amiga 2000
:lol:

Pierre

Avatar de l’utilisateur
foolduplex
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 627
Inscription : 02 oct. 2002 23:06
Localisation : Lausanne, Suisse
Contact :

Message par foolduplex » 12 avr. 2005 12:59

Ouaip, streamer des caracteres et un peu de son sur une sound blaster, vachement technique!

Par contre je vois que Calodox est juste au-dessus, c'est des potes a moi :D

Fool

Avatar de l’utilisateur
Carl
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2542
Inscription : 04 janv. 2003 00:47
Localisation : www.dole.org
Contact :

Message par Carl » 12 avr. 2005 13:09

foolduplex a écrit :Ouaip, streamer des caracteres et un peu de son sur une sound blaster, vachement technique!

Par contre je vois que Calodox est juste au-dessus, c'est des potes a moi :D

Fool
Calodox utilise un PC + carte 3D sous Windows...et l'autre un PC XT sous DOS, pouvons comparer ce qui ce fait sur l'une ou l'autre machine ?

car il y a des demos sur PC +carte 3D / Win qui sont techniquement pas terrible...le plus dur est de repomper les routines des copains et coller une animation 3DS max :roll:

je vais essayer celle de Calodox...
carl

Avatar de l’utilisateur
foolduplex
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 627
Inscription : 02 oct. 2002 23:06
Localisation : Lausanne, Suisse
Contact :

Message par foolduplex » 12 avr. 2005 17:23

Oui, naturellement. Calodox bosse avec des outils modernes, ce n'est pas le meme credo, c'etait juste pour signaler que c'est des potes :wink:

Note quand meme que Calodox est specialise dans les demo qui tiennent en 4 Ko et qu'ils ont ecrit une demo sur sinclair ZX81 avec de la 3D et du graphisme haute resolution (256x192) ce qui est repute impossible sur cette machine (mode texte seulement).

Cela mis a part, la "demo" 8088 corruption n'a rien d'impressionnant pour un puriste : il n'est pas necessaire d'optimiser quoique ce soit pour streamer de l'ordre de 50 Ko/s sur l'ecran et 10-20 Ko/s sur une sound blaster (0.5% CPU en utilisant les DMA) sur un PC-XT, sans aucun calcul puisque tout est slurpé depuis un gros fichier de 10 meg.

Avatar de l’utilisateur
Fabrice Montupet
Administrateur
Administrateur
Messages : 11330
Inscription : 17 mai 2002 11:39
Localisation : Nevers - France

Message par Fabrice Montupet » 12 avr. 2005 17:34

foolduplex a écrit :Note quand meme que Calodox est specialise dans les demo qui tiennent en 4 Ko et qu'ils ont ecrit une demo sur sinclair ZX81 avec de la 3D et du graphisme haute resolution (256x192) ce qui est repute impossible sur cette machine (mode texte seulement).
Wow! je suis impressionné! 8O Chapeau les programmeurs !

Avatar de l’utilisateur
Carl
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2542
Inscription : 04 janv. 2003 00:47
Localisation : www.dole.org
Contact :

Message par Carl » 12 avr. 2005 18:04

Cette démo (sur ZX81), je l'ai essayé sur emulateur mais ça passe pas....
tu as une adresse ou je pourrais tenter un téléchargement ou bien un wav de cette démo ?

Carl

Avatar de l’utilisateur
foolduplex
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 627
Inscription : 02 oct. 2002 23:06
Localisation : Lausanne, Suisse
Contact :

Message par foolduplex » 13 avr. 2005 10:15

Carl a écrit :Cette démo (sur ZX81), je l'ai essayé sur emulateur mais ça passe pas....
Parce que ton emulateur n'est pas fidele... Pour developper Rezurection, Calodox a ecrit son propre emulateur ZX81 d'apres les docs et les plans de la machine. Leur emu emule meme la synchro avec un televiseur PAL, car tout le code a ete ecrit pour construire l'image ligne par ligne en synchro avec le rafraichissement d'un televiseur (le ZX81 ne possede pas de frame buffer, il genere l'image en continu, ce qui explique ses performances relativement basses en basic, ainsi que le mode fast qui calcule plus vite mais desactive l'affichage). Tout a ete developpe sur leur emu, puis transfere pour les tests a travers la carte son du PC en modulant un signal K7.

A noter egalement que cette demo utilise un speedloader 27 fois plus rapide que le chargement k7 standard sur ZX81. Rien que ce bout de code, qui prend en compte certaines particularites analogiques de la machine, ne passera pas sur 95% des emulateurs.

Nous jouons de temps en temps cette demo dans les expos du Musee Bolo : le ZX81 est relie a un discman avec un cd audio, seul moyen d'avoir un signal fiable a cette vitesse : http://www.bolo.ch/?list=2&obj=570

Je vais demander a Minas si je peux distribuer l'emu ou si il a mis un wav quelque part sur le net. La demo est composee de cinq parties : un scroller geant (voir image ci-dessus), un peu de 3D avec des octaedres qui tournent, un generique avec un starfield, une image hi-res plein ecran du logo calodox, et un copper avec quelque chose comme 8 barres.

Fool

Avatar de l’utilisateur
Fabrice Montupet
Administrateur
Administrateur
Messages : 11330
Inscription : 17 mai 2002 11:39
Localisation : Nevers - France

Message par Fabrice Montupet » 13 avr. 2005 11:15

Merci Fool pour ce développement! Je suis très interessé de voir le résultat ! :D

Avatar de l’utilisateur
foolduplex
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 627
Inscription : 02 oct. 2002 23:06
Localisation : Lausanne, Suisse
Contact :

Message par foolduplex » 13 avr. 2005 11:39

Minas me signale que l'ensemble, sources et wav compris est disponible ici:

http://www.scene.org/file.php?file=%2Fp ... p&fileinfo

Il a lu le thread et est par ailleurs fort deconfi car j'ai oublie de mentionner que la demo fonctionne avec l'unique Ko de ram du ZX (pas de rampack additionnel); j'ai aussi sous-estime la resolution: certaines parties de la demo tournent meme en 320x240 pixels. Toutes mes excuses donc, Minas.

Je viens de tester le package, ca marche bien. Mais c'est quand meme nettement plus fluide sur un vrai zx (flou de l'ecran oblige - sur un vrai televiseur, l'image de fin est en gris clair au lieu de scintiller)

Fool

Avatar de l’utilisateur
fabrice93fr
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4135
Inscription : 28 mai 2002 15:45
Localisation : noisy le grand
Contact :

Message par fabrice93fr » 13 avr. 2005 12:06

ca a l'air impressionantk peut etre que quelqu'un pourrait nous mettre ca aux infoticaire ou vm

Avatar de l’utilisateur
Carl
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2542
Inscription : 04 janv. 2003 00:47
Localisation : www.dole.org
Contact :

Message par Carl » 13 avr. 2005 13:24

merci Fool...!
je vais essayé la chose...

Minas à des infos sur le chip Ferranti du ZX car je ne savais pas que l'on pouvait atteindre cette résolution..
et il y a une astuce pour afficher 320x240 avec 1Ko ?

carl

Avatar de l’utilisateur
foolduplex
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 627
Inscription : 02 oct. 2002 23:06
Localisation : Lausanne, Suisse
Contact :

Message par foolduplex » 13 avr. 2005 15:16

La notion de resolution n'existe pas sur ZX81, car il n'y a pas de frame buffer. Le signal de l'image est produit en temps reel par le processeur. Si tu arrives a bidouiller la sortie image (un unique bit) a la bonne cadence et en parfaite synchro avec le signal de rafraichissement, tu as une image. tu augmente la cadence, la resolution augmente. tu reduis la cadence, elle diminue.

Tout le secret de cette demo consiste a ecrire des algorithmes de production d'image bit a bit parfaitement synchronises (chaque cycle d'horloge compte) avec l'ecran. Cela implique entre autres un choix scrupuleux des instructions et egalement du code auto-modifiant ou d'autres astuces.

Comme tu passes une bonne partie de ton temps a sortir les pixels un a un, si tu as besoin de faire du calcul, tu peux considerer de le faire dans le bord de l'ecran (overscan) où tu n'affiches rien, ou alors d'afficher une ligne sur deux: calcul pendant une ligne blanche, puis boucle d'affichage de pixels sur la ligne suivante. En fonction de ce que tu peux caser, ta resolution et la taille de ton image sont susceptibles de varier.

En gros et pour resumer, ce que tu vois a l'ecran n'est stocke nulle part, c'est calcule en temps reel (au max, on stocke l'equivalent d'une ligne de pixels en ram). En etudiant la doc et les plans de la machine, Calodox est arrive a la conclusion que c'etait theoriquement possible de completement generer les images en temps reel comme une longue chaine de bits calcules et affiches les uns apres les autres. Le resultat concret est Rezurection (comme preuve supplementaire: 320x240 en monochrome = 9.6 Ko, or on n'a qu'un seul Ko a dispo!)

Fool

Avatar de l’utilisateur
Fabrice Montupet
Administrateur
Administrateur
Messages : 11330
Inscription : 17 mai 2002 11:39
Localisation : Nevers - France

Message par Fabrice Montupet » 13 avr. 2005 15:28

8O De plus en plus impressionnant!!! :D :D :D :D

Potrzebie
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 10726
Inscription : 09 mars 2003 17:23
Localisation : Vendée - France
Contact :

Message par Potrzebie » 13 avr. 2005 15:32

ca donnerais presque envie d avoir un ZX81 pour faire tourner ca
Image

Répondre

Revenir vers « Sinclair »