Logicielsmoto.com

Nous sommes le 30 Nov 2020, 15:26

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 10 messages ] 
Auteur Message
MessagePosté: 14 Nov 2020, 18:54 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 261
salut, Topic spécifique au lettrage et au générateur de caractères.

- J'avais besoin de redéfinir les lettres du TO pour customiser la fonts d'écriture pour utiliser avec LOCATE/PRINT en BASIC.
- J'ai fais ce petit outil pour générer mes caractères (Alphabet G0) dans fichier BIN à partir d'une image PNG.
https://oxustudio.com/to8/font/

- pour activer la font apparement il faut mettre l'adresse de début du graphisme dans $60CF et 60D0
- mon fichier BIN générer commence l'implantation en $A000 -> $0300 (768 octets | 32 caractères de 8x8 * 3 lignes | 96 caractères)

fichier BIN
Code:
000300A000000000000000000000100010101010100028505050280000005050FC28FC28281070181830505038004834282050B0480074889864
6050200000000000002010081020202020100840201010101020400000000020707020000010107C101000402000000000000000200000000000
000020000000000000004040202020101000708888A88888700070202020206020007840201008087000700808300808700008087C4828180800
7008087040407800708888F080403800402020101008F8007088887088887000E0100878888870002000000020000040200000002000000000083
040300800000000F800F80000000040300830400000200020100848301C205C5A5A5A241800444438282810100070484870484870003840404040
403800704848484848700078404078404078004040407840407800384848584040380048484878484848007020202020207000601010101010100
044484870504844007840404040404000888888A8A8D8880048585858686848003048484848483000404040704848700830484848484830004448
50704848700070080830404038001010101010107C0030484848484848002020505050888800505050A8A88888008850502050508800202020205
050880078402020100878181010101010101800101020202040400000000000000000000000380000000000000000000000007E00000000000000
001C241C0438000000704848487040400038404040380000003848484838080800384078483000000020202020782018487840304838000000484
84868504040001010101030001010101010103000100048506050484040001810101010103000A8A8A8A8D0000000484848685000000030484848
3000004070484848700000083848484838000000202020203800000070083040780000000C1010103C10000078484848480000002050505088000
0005050A8A8880000004830303048000020202050508800000078402010780000387C3E1E3E7C38001C3E7C787C3E1C00557F7F7F7F2A3E1CFF00
000000000000FFFFFFFFFFFFFFFFFF00000000


BASIC pour dire d'utiliser ma "font".
Code:
10 LOADM"PACFONT1.BIN"
20 POKE &H60CF,&HA0:POKE &H60D0,&H00


j'ai oublié un truc ? ! ça marche pas !

merci.


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 14 Nov 2020, 20:13 
Hors ligne
M. DCMOTO

Inscription: 06 Juin 2004, 08:23
Messages: 617
Localisation: Provence (France)
Dans quelle banque mémoire la police de caractères est-elle chargée ?
Si c'est la même que les programmes Basic, elle sera écrasée, ou elle écrasera le programme.
Si ce n'est pas la même, les programmes Basic ne la trouveront pas.
Je crois que la seule solution est de la charger en mémoire non commutée, après avoir réservé la place avec une instruction CLEAR.


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 14 Nov 2020, 20:24 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 261
humm j'ai essayé la bank courante, puis les autres bank, mais pas essayé en zone non commutable
- j'ai mon programme assembleur qui dois s'implanter de $7300->$8D75
- donc il faudrait que je lui trouve une petite place entre &h6100 et &h62ff

ok merci je vais essayer...


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 14 Nov 2020, 22:02 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 261
zut

j'ai essayé ça mais non, ça foire !

Image

fichier .BIN
Code:
0003007300000000000000000000100010101010100028505050280000005050FC28FC28281070181830505038004834282050B04800748898646050200000000000002010081020202020100840201010101020400000000020707020000010107C101000402000000000000000200000000000000020000000000000004040202020101000708888A88888700070202020206020007840201008087000700808300808700008087C48281808007008087040407800708888F080403800402020101008F8007088887088887000E0100878888870002000000020000040200000002000000000083040300800000000F800F80000000040300830400000200020100848301C205C5A5A5A241800444438282810100070484870484870003840404040403800704848484848700078404078404078004040407840407800384848584040380048484878484848007020202020207000601010101010100044484870504844007840404040404000888888A8A8D888004858585868684800304848484848300040404070484870083048484848483000444850704848700070080830404038001010101010107C0030484848484848002020505050888800505050A8A88888008850502050508800202020205050880078402020100878181010101010101800101020202040400000000000000000000000380000000000000000000000007E00000000000000001C241C043800000070484848704040003840404038000000384848483808080038407848300000002020202078201848784030483800000048484868504040001010101030001010101010103000100048506050484040001810101010103000A8A8A8A8D00000004848486850000000304848483000004070484848700000083848484838000000202020203800000070083040780000000C1010103C100000784848484800000020505050880000005050A8A8880000004830303048000020202050508800000078402010780000387C3E1E3E7C38001C3E7C787C3E1C00557F7F7F7F2A3E1CFF00000000000000FFFFFFFFFFFFFFFFFF00000000


BASIC
Code:
3000 'CHARGEMENT FONT TEST
3010 BANK1:CLEAR,,,&H72FF
3020 LOADM"PACFONT1.BIN"
3030 POKE &H60CF,&H73:POKE &H60D0,&H00


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 14 Nov 2020, 22:13 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1305
Localisation: Brest
Faut pas mettre ca dans une bank car la fonte doit être accessible tout le temps. Tu dois la charger dans la partie commutable en dessous de $9FFF. Là ca marchera sans soucis (je le fais fréquemment). A noter: les octets sont lu du bas vers le haut du caractère. Donc on peut avoir des surprises.

Pour ton dernier exemple, est-tu bien sur de retrouver les données de ta fonte à l'adresse attendue ? (regardes avec le debuggeur de DCMoto.) J'ai l'impression que le LOADM n'a pas chargé là ou tu voulais.

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 14 Nov 2020, 22:19 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 261
ok , je vérifie que ça charge bien au bon endroit ....

sinon oui du bas vers le haut, j'ai suivi la doc technique page 162 :D


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 15 Nov 2020, 04:16 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 261
ok ça fonctionne !

https://oxustudio.com/to8/forum/font/font-02.mp4

mais c'est bizarre ! j'ai fais comme ça :

Code:
71 BANK1:CLEAR,,,&H72FF
72 LOADM"PACFONT.BIN"
73 POKE &H60CF,&H73:POKE &H60D0,&H00
...
...
930 BANK1:LOADM"PACMAN.BIN"
2000 CONSOLE,,,,1
2010 EXEC &H7300


PACMAN.BIN est implanté en $7300
et la PACFONT.BIN aussi !! en $7300

et y'a pas de bug !...


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 15 Nov 2020, 13:15 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1305
Localisation: Brest
Si il n'y a pas de bugs alors que les deux sont présent aux mêmes adresse, c'est qu'il y a un problème.

Sinon on peut faire des choses rigolotes en changeant les fontes, comme par exemple une version 100% fonctionnelle avec des caractères que nous sommes incapable de déchiffrer
Fichier(s) joint(s):
dcmoto.png
dcmoto.png [ 7.02 Kio | Vu 112 fois ]

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 15 Nov 2020, 18:56 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 261
ah c'est drôle du coup t'écrit à l'envers :lol:

PS: par contre le

Code:
K$=INKEY$
IF K$="E" THEN 120


ça déconne du coup !


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 15 Nov 2020, 19:41 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1305
Localisation: Brest
Non, ca marche encore. Un "E" en mémoire représente toujours le même code ascii même si sa représentation graphique est différente. Mieux encore, l'édition à l'écran marche encore car la routine GETS (lecture écran) du moniteur utilise la nouvelle table graphique, et donc reconnais le E inversé comme étant le code ascii du E, bref tout est transparent. C'est juste nous qui auront un mal fou à relire cet alphabet renversé.

On peut faire des trucs encore plus rigolo. Si tu connais le ROT13, on peut redéfinir la table des caractères de telle sorte qu'à l'écran un A s'affiche en M, un B en N, etc.. du coup on affichera à l'écran un truc qui est graphiquement la version ROT13 de ce qu'on veut, sans aucune transcription. A l'inverse un texte ROT13 s'affichera en clair.

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 10 messages ] 

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages
Vous ne pouvez pas joindre des fichiers

Rechercher:
Aller à:  
cron
Développé par phpBB® Forum Software © phpBB Group
Traduction par phpBB-fr.com