Re: Changing Fonts in ZX Spectrum :)
Posted: Mon Jul 01, 2019 12:35 pm
I will use them, dont have time to write one of my own at the moment
The community forum for all Sinclair users
https://spectrumcomputing.co.uk/forums/
I’ve been searching for a character thickening routine, but this is the only mention I’ve seen of one. Can anybody point me in the right direction? I had a routine to make text bolder back in the eighties, but that’s lost in the mists of time. I’m hoping the one mentioned is the same thing (or similar).
Something similar to this one? Your mention of "thickening" fits the bill here. But there are plenty of people on this forum who know a lot more about this than I do, so I'm sure someone will have better help. All the best of luck with the programming though. I'm another one who's returned to it after decades and I still find it great fun.Neil48k wrote: ↑Thu Sep 26, 2019 4:25 pmI’ve been searching for a character thickening routine, but this is the only mention I’ve seen of one. Can anybody point me in the right direction? I had a routine to make text bolder back in the eighties, but that’s lost in the mists of time. I’m hoping the one mentioned is the same thing (or similar).
I’m getting back into Spectrum programming after a 30+ year break, so any help would be appreciated
Thanks
Neil
Not mine but I modded it a tad to make it a bit more helpful! Note I could of made it a lot more effecient but it causes confusion if I type PRINT "" vs PRINT '''' as the former is " and the latter is 'Neil48k wrote: ↑Thu Sep 26, 2019 4:25 pmI’ve been searching for a character thickening routine, but this is the only mention I’ve seen of one. Can anybody point me in the right direction? I had a routine to make text bolder back in the eighties, but that’s lost in the mists of time. I’m hoping the one mentioned is the same thing (or similar).
I’m getting back into Spectrum programming after a 30+ year break, so any help would be appreciated
Thanks
Neil
Code: Select all
10 CLEAR 31600 : LET A=31744
20 FOR N=32 TO 127
30 PRINT AT 21,0;CHR$ N
40 FOR Y=7 TO 0 STEP -1
50 FOR X=6 TO 0 STEP -1
60 IF POINT (X,Y) THEN PLOT X+1,Y
70 NEXT X
80 POKE A , PEEK (22432-256*Y)
90 LET A=A+1
100 NEXT Y
110 NEXT I : CLS
120 POKE 23607,60: PRINT : FOR A=32 TO 127: PRINT CHR$ A; : NEXT A
130 POKE 23607,123 : PRINT : PRINT
140 FOR A=32 TO 127 : PRINT CHR$ A; : NEXT A
Not exactly what you’re looking for, but since you’re getting back to coding, you might find this interesting nevertheless.
I think it was exactly that. The same routine I copied from a magazine back in the early eighties. Thank you so muchFahnn wrote: ↑Thu Sep 26, 2019 5:28 pmSomething similar to this one? Your mention of "thickening" fits the bill here. But there are plenty of people on this forum who know a lot more about this than I do, so I'm sure someone will have better help. All the best of luck with the programming though. I'm another one who's returned to it after decades and I still find it great fun.Neil48k wrote: ↑Thu Sep 26, 2019 4:25 pm I’ve been searching for a character thickening routine, but this is the only mention I’ve seen of one. Can anybody point me in the right direction? I had a routine to make text bolder back in the eighties, but that’s lost in the mists of time. I’m hoping the one mentioned is the same thing (or similar).
I’m getting back into Spectrum programming after a 30+ year break, so any help would be appreciated
Thanks
Neil
Thanks for all the work you’ve put into answering my question. Am I right in thinking this relates to emulators? I haven’t tried those yet. I’m using an original 48k Spectrum. I think I may have to investigate thisspider wrote: ↑Thu Sep 26, 2019 5:43 pmNot mine but I modded it a tad to make it a bit more helpful! Note I could of made it a lot more effecient but it causes confusion if I type PRINT "" vs PRINT '''' as the former is " and the latter is 'Neil48k wrote: ↑Thu Sep 26, 2019 4:25 pm I’ve been searching for a character thickening routine, but this is the only mention I’ve seen of one. Can anybody point me in the right direction? I had a routine to make text bolder back in the eighties, but that’s lost in the mists of time. I’m hoping the one mentioned is the same thing (or similar).
I’m getting back into Spectrum programming after a 30+ year break, so any help would be appreciated
Thanks
Neil
1. If using standard font ignore this step and step 2
2. Load your new font in and 23606/23607 to 'enable' it. Ensure its loaded into higher memory area say above 32768 as otherwise will be overwritten
3. Ready ? Here:Note I had to type that in here!Code: Select all
10 CLEAR 31600 : LET A=31744 20 FOR N=32 TO 127 30 PRINT AT 21,0;CHR$ N 40 FOR Y=7 TO 0 STEP -1 50 FOR X=6 TO 0 STEP -1 60 IF POINT (X,Y) THEN PLOT X+1,Y 70 NEXT X 80 POKE A , PEEK (22432-256*Y) 90 LET A=A+1 100 NEXT Y 110 NEXT I : CLS 120 POKE 23607,60: PRINT : FOR A=32 TO 127: PRINT CHR$ A; : NEXT A 130 POKE 23607,123 : PRINT : PRINT 140 FOR A=32 TO 127 : PRINT CHR$ A; : NEXT A
4. You can "save" the font (try LIST if needed) via SAVE " name " CODE 31744 , 768
5. POKE 23607 , 123 to enable it (at 31744) , POKE 23607 , 60 to switch to default rom one.
Tip: Just try it with the default one first. There's no check for the font in use at the time so if you have a custom one (see '2') make sure its out the way etc.
6. Enjoy!
You're welcome.
Hello!presuminged wrote: ↑Fri Dec 13, 2019 10:58 am Newbie here, how do you calculate the value to poke 23607?
Trouble there is, you'll need a loader to load the font, before your loader that loads your game uses it! (If I understand right)For example, I am working on an AGD project with a basic loader and I'd like to use the font in the AGD code in the loader. I know that the font address is 31232. Thanks.