Custom character set?

11 posts / 0 new
Last post
Offline
Last seen: 1 week 4 days ago
Joined: Nov 21 2008 - 17:41
Posts: 43
Custom character set?

Am I correct in my conclusion that there isn't an easy way of creating a custom character set for the Apple II? I've Googled around and can't really find any info on this.

 

Coming from the Commodore 64, I assumed it was as common on the Apple II. Google reveals replacement ROMs, as well as type-in programs like COMPUTE!'s SuperFont which seem to utilize the HGR mode to provide custom characters. (Conversely, it also appears that it isn't easy to put text on the HGR screen, but there are several websites which cover that topic.)

 

Offline
Last seen: 15 hours 7 min ago
Joined: Dec 19 2008 - 21:01
Posts: 392
The only way to do it is to

The only way to do it is to create them in HGR, and you will get color fringing because the color killer will not be activated.

 

Offline
Last seen: 1 day 12 hours ago
Joined: Aug 18 2017 - 16:53
Posts: 164
gmontag451 wrote:Am I correct

[quote=gmontag451]

Am I correct in my conclusion that there isn't an easy way of creating a custom character set for the Apple II?

[/quote]

The character set for text mode (40 columns) is in the Character ROM on the mainboard. You can change this to your own EPROM but you cannot change to custom characters in a running system.

 

 

Regards

Ralf

 

Offline
Last seen: 3 hours 4 min ago
Joined: Jun 18 2010 - 13:54
Posts: 731
Vista Vision-40.

Vista Vision-40.

This was an add-on card that provided Programmable Charater sets for the Apple II. If you can find one (I sold one a few years ago) this would do exactly what you want.

Offline
Last seen: 1 week 4 days ago
Joined: Nov 21 2008 - 17:41
Posts: 43
Thanks everyone, this

Thanks everyone, this confirms what little info I found. As I'm working on a program that ostensibly could be used on any Apple II system, custom chips or cards aren't an option. HGR text is too much overkill for the task at hand, but certainly an option I'd explore for future projects.

Offline
Last seen: 3 years 8 months ago
Joined: Jun 5 2019 - 17:43
Posts: 8
It's true that HGR text is a

It's true that HGR text is a bit of a pain on the Apple II. Games like Might and Magic that switch between HGR (for exploring) and Text (for combat) are very striking in the difference between mono and color even though the character set is exactly the same. On the other hand, the SSI Gold Box games like Pool of Radiance implemented an HGR font that I think looks really good in both mono and color. I'm not sure it's possible to design the perfect 40-column font for the Apple II HGR display given the constraints of the 7x8 grid, and forget about an 80 column font!

In Nibble Express Volume 7  they reprint an article and type-in program called Font Foundry which is a really nice HGR typeface designer that eats its own dogfood, so to speak, so you can also extract from it the routines to use the typefaces you can design with it. The character sets it produces are 1536 bytes which is actually two complete 96-glyph character sets back-to-back.

Just some food for thought. 

 

Offline
Last seen: 3 years 8 months ago
Joined: Jun 5 2019 - 17:43
Posts: 8
After re-reading the OP I can

After re-reading the OP I can try and give a better description. The C64 had the concept of redefining character sets on the fly as something it inherited from the VIC-20 which didn't have any graphics modes -- all VIC20 games consisted of essentially text characters that the programmers designed to look like game objects. The C64 had sprites and graphics modes, but also had this character set thing it inherited from its predecessor. (edit: meaning, the character set is addressable and pointable, which means you can put a new one in memory and have the system use it.)

The Apple II, on the other hand, has graphics modes but not sprites. Instead it has vector shape tables, which is a different conversation. It also doesn't natively support the kind of character set swapping that the C64 and VIC20 did. That doesn't mean you can't approximate the same thing. (edit: meaning, the Apple II had a non-addressable character set ROM but you could still put a character set in memory and design routines that use it to draw on the high-res screen.)

It's probably no coincidence that the Apple II HGR screen resolution divides cleanly into 40x24 cells of 8x8 dots. This makes the HGR screen a perfect complement to the 40 column text mode. The trick is you can't just PRINT to the HGR screen to get text unless you use a MIXED mode where you get 4 lines of text at the bottom of the HGR screen.

The program I mentioned above actually lets you build custom character sets consisting of 188 glyphs -- every key on the keyboard and its shift complement in both a standard and alternate. It also provides a runtime ML program that implements routines like setting "text windows" on high-res screens and letting you "PRINT" to them.

I used this to clone of the Gold Box font along with its decorator patterns and draw this on the HGR screen using nothing but Applesoft PRINT statements:

 

 

 

So the answer to your question is a qualified yes.

Yes, but you have to write or use routines to place your custom bitmapped characters on the high-resolution screen. You can't swap in a custom character set to use in TEXT mode.

 

edit:

I like Hennig's Font Foundry as it's a clean and simple glyph editor. You can find CHAR.ED and CHAR.GEN on the Nibble Magazine disk NIB29B.DSK. The Nibble disk archive is free to download from www.nibblemagazine.com. 

The OG character set editor may well be the ANIMATRIX program from the 1979 Apple DOS Toolkit which lets you put a matrix of characters on screen at once and edit them together, which makes designing tile graphics easier, but it requires a joystick (paddle) input.

The DOS Toolkit disk also includes a bunch of sample typefaces as .SET files that you can load in Font Foundry, too, since the format is more or less conventional: the character set resides at address $9000, there are 8 bytes per character, and characters start at 32 (SPACE) and proceed in ASCII order up through 127 (DELETE) (96 * 8 = 768 bytes). The reverse is not the case: Font Foundry writes 1536-byte .SET files which ANIMATRIX doesn't like. You can easily chop off the second character set though with a quick BLOAD/BSAVE.

Here is what ANIMATRIX can look like editing the frame decoration characters from my GOLDBOX.SET. You use the joystick to move around the grid and turn dots on and off.

 

 

Offline
Last seen: 9 hours 9 min ago
Joined: Jul 5 2018 - 09:44
Posts: 2516
The Apple /// had

The Apple /// had programmable character sets, but the Apple II family did not.  It is possible as others have mentioned to burn a new EPROM for most Apple II models (not sure about the IIgs).  A daughter board can be installed to allow use of a larger EPROM and switch between several fonts.  Someone mentioned a way to map the character generator into something that is editable on that fly.  That is a pretty neat mod.  I'd love to see a schematic for it.  I've considered designing something like this myself.  If Apple had built something like this in, as well as maybe a way to set the foreground and background colors for text modes, or even went further and allowed that to be done in zones or to use say the 2nd text page to be color data for characters, the Apple II could have had block graphics modes similar to some other systems.  But alas, it was never done that way.  It would be possible to make hardware to do it, but it would require totally new software to take advantage of it.  That makes it sort of a chicken and egg kind of problem today.

 

Offline
Last seen: 9 hours 9 min ago
Joined: Jul 5 2018 - 09:44
Posts: 2516
I've thought about writing an

I've thought about writing an editor, as I need one for a hardware project I have in mind (using a larger EPROM in a //e and allowing switching between fonts).  I did write a little utility to display the chargen ROM images.  It is kind of klunky but may be useful to someone.

 

https://github.com/softwarejanitor/chargen2png

 

It is writen in Perl using GTK and it runs on Linux.  That's where I do all my work these days, including burning EPROMs with a TL866CS.  The code probably would work on MacOS without much trouble although I don't have a recent Mac to try it.  It may even be possible to run it on Windows with the right Perl and modules installed, but I don't have Windows to try it.

 

Offline
Last seen: 1 day 12 hours ago
Joined: Aug 18 2017 - 16:53
Posts: 164
softwarejanitor wrote:That's

[quote=softwarejanitor]

That's where I do all my work these days, including burning EPROMs with a TL866CS.

[/quote]

Chargen ROMs for the Apple II are 2732. Most are programmed with 25V. But this voltage is not available with the TL866CS. Some 2732 are programmed with 21V which is available. But keep attention: the database of this chinese programmer is very poor. The newer model of this programmer cannot burn EPROMs which need 25V or 21V.

 

Chargen ROMs for the IIe and IIc are 2764. Older types need also 21V to be programmed.

 

Regards

Ralf

 

Offline
Last seen: 9 hours 9 min ago
Joined: Jul 5 2018 - 09:44
Posts: 2516
I haven't had any trouble

I haven't had any trouble programming any 2716-27512 EPROMs that I have with my TL866CS.  Mine is an older one and I only updated its firmware once to get it to work with the Open Source software.  I've heard that some of the newer revisions of the firmware broke compatibility with some chips, or possibly that newer versions of the Windows software did.  I only use the Open Source software because I don't have Windows.

 

FWIW, I've also heard that you can build an adapter to allow programming of 25V parts on a programmer that does not support that high of voltage using an external power supply.  I  haven't tried that because I haven't had the need.

 

Anyway, for me so far the TL866CS has worked great, especially since I got it with several additional adapters for under $50 from an Aliexpress vendor.  One of the main reasons I selected the TL866CS is that there was support for it under Linux.  Many of the expensive programmers only support Windows, and so I have no way to use them.

 

Log in or register to post comments