MODE : C64 HIREStuiles 1-bit, Color RAM obligatoire, fond general obligatoire. Choisis ce fond ci-dessus.
Charge un tileset pour activer l edition (clic gauche = peindre, clic droit = copier la tuile sous le curseur).
Position : —
24px · 300%
decaler map:circulaire, toutes layers, Ctrl+Z pour annuler
Rechercher / remplacer
chercher
remplacer par
portee
Apercu
4x
Reorganiser le tileset
Glisse une tuile sur une autre pour echanger leur position dans l image du tileset. Toutes les references a ces deux index sont automatiquement remappees sur la map active (layers, favoris, tuile selectionnee), pour que la map continue d afficher exactement le meme contenu visuel. Un echange est sa propre inverse : refaire le meme geste l annule exactement. Cette operation n est pas couverte par le Ctrl+Z general de l application (qui ne suit pas l image du tileset) ; elle a son propre historique local ci-dessous. Les autres maps de la banque ne sont pas affectees si elles utilisent leur propre image.
Editeur de tuile #0
16x
palette
contrainte machine
fond general (partage avec la map)
encre (apercu)
Modifie directement l image du tileset de cette map (clic droit sur une tuile pour ouvrir cet editeur). "Appliquer" reecrit le tileset entier avec la tuile modifiee ; les autres maps de la banque ne sont pas affectees si elles utilisent leur propre image. Une palette suggere des couleurs realistes ; une contrainte modelise et verifie la mecanique reelle de la machine (bloc de couleurs, palettes multiples...) directement sur le canevas d edition (zones en rouge = depassement). En contrainte C64/VIC-20 : la tuile devient effectivement 1-bit (transparent = fond, peint = encre), le canevas d edition affiche directement le fond choisi a la place du damier de transparence pour un apercu fidele ; la couleur d encre reelle de chaque case sur la map vient de la Color RAM (voir mode attribut auxiliaire), l "encre (apercu)" ici n est qu une aide visuelle a l edition.
Export
Dimensions map40 x 25
Octets totaux (toutes layers)1000
Tuiles distinctes (layer active)1
Tuiles dans le tileset256
Export C64 Hires
etiquette Color RAM
etiquette Charset
Format materiel C64 : chaque tuile 8x8 encodee sur 8 octets (1 octet par ligne, bit 7 = pixel gauche, bit a 1 = pixel allume). Color RAM : 1 octet par case de la map (encre 0-15), meme ordre que la tilemap. L import de tileset reconstruit une planche visuelle depuis un binaire deja encode dans ce format. Les boutons ci-dessus exportent en .bin brut ; le bouton Exporter du panneau principal (.asm/.c/etc) produit 3 fichiers separes dans le format choisi : la tilemap, "..._colorram" et "..._charset" (avec les etiquettes ci-dessus), plutot qu un seul fichier regroupant tout.
nom fichier
Nom de base utilise pour le .bin et le .asm/.h/etc exportes (extension ajoutee automatiquement). Laisse vide pour revenir au nom automatique. Caracteres non valides pour un fichier remplaces par _.
format
Survole une option pour une courte description (infobulle). Reglages fins dans Options.
Map active uniquement.
Chaque tuile du tileset actuel, avec son numero d index superpose. Pratique pour s y retrouver en documentant un projet.
colonneslignes
Planche brute (sans annotation), avec le nombre de colonnes/lignes de ton choix pour organiser l image exportee. Doit pouvoir contenir toutes les tuiles du tileset (colonnes x lignes ≥ nombre de tuiles), sinon l export est refuse.
Portee d export
de #a #
Avec plusieurs maps, chaque bloc de donnees est suffixe par son index de banque (#0, #1...) pour eviter les collisions d etiquettes. Le nom de map reste un simple repere interne a TileForge.
Reglages
Note de la map
Par defaut, la note n est sauvegardee que dans le projet .json (jamais dans les fichiers exportes). Coche l option ci-dessus pour l ajouter en commentaire en tete de fichier, pour cette map uniquement.
largeurhauteur
Peint la tuile #0 (index remplissage, voir Options) sur toutes les cases vides de la layer active.
offset index (map)
Ajoute cette valeur a l index de chaque tuile exportee pour cette map uniquement (utile si plusieurs maps partagent un meme atlas ou banque de tuiles a des positions differentes). Indisponible avec un mode d attributs materiel actif, comme l index de base.
Image de reference
opacite40%
Affiche une image en transparence sous la map, pour decalquer un concept art ou un plan. Etiree pour remplir exactement les dimensions de la map. Ne fait pas partie de l export, ni du projet sauvegarde (aide visuelle de session uniquement).
Calque fantome (autre map)
map
opacite40%
Superpose en transparence le contenu d une autre map de la banque (tuiles a l echelle de la map active), pratique pour aligner des bords qui doivent se raccorder (ecran suivant, world map). Purement visuel.
Taille de tuile
Change le decoupage du tileset deja charge (pas besoin de le recharger) et reinitialise les layers de cette map.
Picker de tuiles (affichage)
colonnes affichees
lignes affichees
0 ou vide = auto (le picker s adapte a la largeur du panneau). Colonnes : nombre de tuiles par ligne. Lignes : hauteur du picker en nombre de rangees avant l apparition de la barre de defilement. Purement visuel, sans effet sur l export. Valable pour toutes les maps de la banque.
Import
Charger image Tileset
Planche de tuiles classique : la largeur/hauteur doivent etre des multiples de la taille de tuile choisie (Reglages map).
Creer un tileset vierge
nombre de tuiles
Genere une planche transparente (taille de tuile actuelle : 8px) organisee automatiquement en grille, prete a dessiner dans l editeur de tuile (clic droit sur une case).
Importer tileset C64 (.bin)
Reconstruit une planche visuelle depuis un binaire deja encode au format materiel C64 (8 octets par tuile 8x8, 1 octet par ligne, bit 7 = pixel gauche, bit a 1 = pixel allume).
Importer une image MAP
Charge une image de map complete (pas un tileset) : detecte les tuiles uniques automatiquement (deduplication par pixel), reconstruit le tileset et la map. Remplace le tileset et toutes les layers de la map active.
Charger map (.bin)
Applique a la layer active, selon largeur/hauteur/taille d index actuels.
Remplissage procedural
tuiles (index:poids)
Le poids controle la proportion de chaque tuile (optionnel : "3" seul = poids 1). Ex: 3:5, 4:1 donne environ 5 fois plus de tuile 3 que de tuile 4.
mode
taille des zones6
detail (octaves)2
nettete des bords1
"Bruit organique" regroupe les tuiles en zones continues (comme un terrain naturel) au lieu d un melange uniforme. Plus d octaves = plus de detail/irregularite dans les zones. Plus de nettete = transitions plus franches entre zones (moins de melange progressif).
densite100%
graine
S applique a la selection si tu en as une, sinon a toute la layer active. La meme graine + les memes reglages redonnent toujours le meme resultat. Aperçu en direct sur la map (tuiles semi-transparentes) tant que cette fenetre est ouverte. Annulable avec Ctrl+Z.
#19
Comparer 2 maps
Rendu independant de chaque map (tuiles + layers visibles), a l echelle de sa propre resolution. Purement visuel, ne modifie rien.
Raccourcis clavier
Outils
1Peindre
2Effacer
3Pipette
4Remplissage
5Selection
Clic droitPipette temporaire (copie la tuile survolee)
Brosse
HFlip horizontal (mode attribut actif)
VFlip vertical (mode attribut actif)
Maj+1..9Selectionner un favori
Edition
Ctrl+ZAnnuler
Ctrl+YRetablir
Ctrl+Maj+ZRetablir (alternative)
Suppr/RetourEffacer la selection
Affichage
GAfficher/masquer la grille
RAfficher/masquer les regles
+Zoom avant
-Zoom arriere
Navigation clavier
←↑→↓Deplacer le curseur clavier
Espace/EntreePeindre a la position du curseur clavier
EchapFermer une fenetre / annuler la selection
Fenetres
Ctrl+KPalette de commandes
?Cette aide-memoire
Les raccourcis a une touche (1-5, G, R, H, V...) sont desactives quand le focus est dans un champ texte.
TileForge
EDITEUR DE TILEMAP GENERIQUE · v1.0
Version generee le 08/08/2026 · Build #23
Editeur de tilemap generique pour la programmation de machines retro (et au-dela) : chargement d une planche de tuiles, multi-layers, banque de maps, selection/copier-coller, export binaire, ASM, C, BASIC, JSON/XML/Lua adaptable a quasiment toute plateforme.
Multi-layersBanque de maps14 presets machine8 formats export
Logiciel realise par l IA Claude (Anthropic). Pilote par Jean Monos.
Utilise pour le nom du fichier .json sauvegarde. Laisse vide pour un nom automatique.
Dossier de sauvegarde (Chrome/Edge)
(aucun)
Une fois choisi, le .bin, le .asm/.h/etc et le .json du projet s ecrivent directement dedans (sans dialogue a chaque fois). Sans dossier configure : dialogue de sauvegarde natif si le navigateur le propose, sinon telechargement classique. Choix valable pour cette session seulement (pas encore memorise entre deux visites).
Un projet sauvegarde toute la banque de maps : chaque map avec son propre tileset, ses layers (tuiles + attributs auxiliaires), et tout le format d export choisi.
Options
Preregalge machine
MSX / ColecoVision Graphics II
Index tuile & attributs
taille d index
endianness (.bin)
1re tuile / vide
index remplissage
Utilise par le bouton Remplacer cases vides (fenetre Reglages map, accessible depuis la barre d outils) pour peindre en dur toutes les cases vides de la layer active avec cet index de tuile, au lieu de laisser un simple marqueur d index de base a l export.
attributs
Necessite un index 16 bits (voir plus haut) : les bits de flip n existent pas sur un index 8 bits.
attributs aux.
Peint la couleur d encre (0-15, palette C64/VIC-20) de chaque case. Exportee en octet separe, dans le meme ordre que la tilemap. Coche "simuler Color RAM sur la map" ci-dessous pour visualiser le rendu reel (case a case, teintee selon cette encre, sur le fond choisi) directement sur la map.
Optimisation export
Format de sortie
La compression ne s applique pas aux formats JSON/XML/Lua/JavaScript/Java (donnees brutes, lisibles directement).
dialecte Pascal
ligne depart/pas
val./ligne DATA
directive const.
directive octet
directive mot
label largeur
label hauteur
label data
Etiquettes ASM
Certains assembleurs refusent le deux-points, d autres l exigent. Decoche si le tien n en veut pas.
Decoche si tu geres tes propres etiquettes/constantes ailleurs (par exemple avec un include externe ou un assembleur qui numerote automatiquement).
Utile si tu exportes tes maps une par une mais veux quand meme des etiquettes distinctes et previsibles. Sans cette option, le suffixe n apparait que lorsque plusieurs maps sont exportees ensemble.
Decoche pour un fichier minimal sans aucun commentaire (utile en BASIC, ou tout simplement pour alleger le fichier).
Representation hexadecimale
S applique aux fichiers .asm exportes (le header C utilise toujours 0x, comme l exige le langage C ; le BASIC utilise toujours des valeurs decimales).
Compression des donnees
La compression s applique a chaque bloc de donnees (par layer / attributs) independamment, en .bin comme en .asm/.h. LZSS compresse mieux que RLE sur des maps variees (motifs qui se repetent a distance), mais reste plus simple a decoder que Pletter ; RLE reste imbattable sur de longues plages de la meme tuile. Sur des donnees tres aleatoires, la compression peut augmenter legerement la taille (normal, verifie les octets avant/apres dans l apercu).
Pletter (compression externe)
J ai etudie le vrai format Pletter (source pletter.c / unpack.asm, XL2S Entertainment). C est un LZ77 adaptatif avec un decodage de bits assez subtil ; une erreur d un seul bit corromprait les donnees silencieusement, et je n ai pas de Z80 pour verifier mon resultat contre le vrai decompresseur ici. Je prefere ne pas le reimplementer moi-meme et risquer une donnee incompatible. La LZSS ci-dessus est un format different (maison, plus simple), integre nativement et teste en aller-retour : c est l option "sans outil tiers" si Pletter precisement n est pas indispensable.
Telecharge un script pret a l emploi qui appelle le vrai pletter.exe (xl2s.tk) sur le .bin exporte, plus un fichier .asm avec les labels et l INCBIN corrects.
Langue de l interface
Traduit les menus, panneaux et boutons principaux. Le manuel, les descriptions detaillees des machines et les commentaires generes dans les fichiers exportes restent en francais pour l instant (traduire fidelement tout ce contenu technique, notamment en allemand, demande plus de travail que je n ai pas fait ici).
Session locale (auto-save)
Derniere sauvegarde automatique : 07:35:33
Sauvegarde automatique locale dans ce navigateur (toutes les 30s et apres chaque edition), pour recuperer ton travail en cas de fermeture accidentelle de l onglet. Ne remplace pas l export de projet .json : elle est propre a ce navigateur et cet appareil, et disparait si tu vides les donnees de navigation.
Utilisation hors-ligne
TileForge est un logiciel autonome : ce fichier ne charge rien depuis internet (pas de dependance externe, pas de police ou script distant). Une fois telecharge, il fonctionne integralement sans connexion, meme en local sur ton disque.
Telecharge une copie autonome du logiciel lui-meme (l outil vierge), pas ton travail en cours : utilise Projet - Sauvegarder pour ca. Pratique pour garder une copie hors-ligne ou la partager.