Un fichier MAP peut contenir une zone quelconque de 8x8 pixels. Si c'est 40x25, c'est l'écran au complet et si c'est 2x2 on a un joli sprite.6502man a écrit : 2/3 secondes ca me convient tout a fait pour charger une image
Si j'ai bien lu la doc Thomson on peut ne charger qu'une partie de l'image et afficher aussi qu'une partie ?
Il existe des outils faisant cette conversion, mais apparemment ils sont devenus inaccessibles et/ou google ne les retrouve pas sur recherche "conversion image thomson".Bon maintenant comment je fais pour convertir une image PC (BMP, GIF, PNG ... ) vers le format MAP ?
Sinon, j'ai des scripts qui font cela. J'ai même des bouts de java aussi. Bon ca n'est pas bien packagé, mais si j'ai le temps pendant mes prochaines vacances je peux voir pour te faire un truc dédié. Question: tu veux du bitmap 160x200, c'est bien cela? Avec palette déjà adapté?optimisée, ou standard?
Le plus simple serait que l'entrée soit déjà dans un format proche du thomson (16 couls) auquel cas le programmes de conversion ne fera que produire le fichier MAP depuis le fichier d'entrée.
C'est assez simple. Sur la D7 de skyrim il a un fichier "AUTO.BAT" que tu peux directement utiliser. D'ailleurs voici le sourceEnsuite sous Basic je n'ai qu'a faire un petit programme qui charge ces images MAP, histoire de valider ou non un futur projet THOMSON....
Code : Tout sélectionner
10 ' *****************************
20 ' ** AFFICHAGE FICHIERS MAP **
30 ' ** Auteur: Samuel DEVULDER **
40 ' ** Date: 5 sept 2009 **
50 ' *****************************
60 PALETTE 0,0:PALETTE 7,4095:LOCATE 0,0,0:COLOR 7,0:SCREEN,,0:CLS
70 CLEAR 10000:DEFINT A-Z
80 DIM N$(90)
90 ' LECTURE DES FICHIERS
100 ON ERROR GOTO 480
110 FOR D=0 TO 3
120 FOR S=3 TO 16
130 A$=DSKI$(D,20,S)
140 IF A$="" THEN 200
150 N$=LEFT$(A$,8):P$=MID$(A$,9,3):A$=MID$(A$,33)
160 IF A$<>"" AND ASC(LEFT$(N$,1))=0 THEN 150
170 IF P$="MAP" THEN N$(NC)=CHR$(48+D)+":"+N$:NC=NC+1:PRINTN$;" ";
180 IF LEFT$(N$,1)=CHR$(255) THEN S=16: GOTO 200
190 IF A$<>"" THEN 150
200 NEXT
210 NEXT
220 ' LECTURE ET AFFICHAGE
230 SIZE=20000
240 DIM T(SIZE)
250 DEF FNC(R)=MAX(-R-1,R)
260 DARK=0:FIRST=1
270 DO
280 FOR J=0 TO NC-1
290 LOADP N$(J),T(SIZE)
300 ' ATTENTE
310 C=0: IF FIRST=1 THEN FIRST=0: GOTO 330
320 IF INKEY$="" AND PTRIG=0 AND C<1000 THEN C=C+1:GOTO 320
330 ' EFFACEMENT
340 COLOR DARK,DARK:CLS:COLOR 15
350 T=T(SIZE)
360 T=T+1: IF T(T)<>-23206 THEN GOTO 450
370 FOR I=15 TO 0 STEP -1: T=T+1:PALETTE I, FNC(T(T)) AND 4095:NEXT
380 T=T+1: CONSOLE,,,,T(T)
390 T=T+1: DARK=T(T): COLOR DARK,DARK: SCREEN,,DARK:CLS
400 T=T+1: POKE &H605F,T(T)
410 PUT(0,0),T(SIZE)
420 NEXT
430 LOOP
440 END
450 RESTORE 460: FOR I=0 TO 15: READ P: PALETTE I,FNC(P):NEXT
460 DATA -1,-16,-241,-256,-3841,-3856,-4081,-4096,-1912,-827,-932,-939,-2612,-2619,-3816,-124
470 GOTO 410
480 E=ERR:L=ERL:IF E=71 OR E=53 THEN S=16:RESUME 200
490 PRINT"ERROR ";E;" LINE ";L