In the eighties, one of the most common graphics chip was the Texas TMS9128.
It was used in many systems of that time, including the MSX, the Colecovision, and
the Sega SG-1000. Even later consoles, such as the MSX 2 and the Sega Master System, had
a TMS9128 compatibility mode. While it was a very powerful chip for its time,
designing images for it was not straighforward, since the graphic mode used has
some pecularities, namely, each region of 8 consecutive pixels can have only two colors.
This limitation forbid the use of modern editing tools for current
homebrew developers. The best editor for the TMS9128 is still the Graphos 3,
an old editing software developed for MSX more than 15 years ago.
However, Graphos 3 has some drawbacks for the current homebrew developer.
First, it will only run on a MSX or an emulated system. At 3.57MHz, editing
graphics with Graphos 3 is slow, when compared, for instance, to Photoshop.
Second, the best feature of Graphos, the "Zoom" mode, has some idiosyncrasies
that difficult the work of the graphics artist. As an example, the artist
doesn't really need to know which color is the foreground and which one is
the background in a given octet of pixels. All he needs to know is which
two colors are available in this octet, the order is irrelevant. Third,
Graphos 3 has a keyboard-only interface, and this is obsolete in these days
of graphic tablets.
As a solution for these problems, I present Graphos DS. This new
graphics editor is inspired by the original Graphos 3, but it improves
the interface and add new functionality. For even greater ease of use,
Graphos DS was developed for the Nintendo DS, the new console
from Nintendo.
Some of the advantages of using Graphos DS are listed below:
- Design graphics anytime and anywhere, since Graphos DS runs
on the Nintendo DS, a portable system. Have some spare ten minutes? Use them
to draw your pictures!
- Use an editor aware of TMS9128 limitations. Graphos DS knows
the limit of colors in a octet and will enforce this while you are drawing.
- Use the Zoom mode and preview the screen, at the same time. In the
original Graphos 3, you couldn't view the screen and edit in zoom mode at
the same time. Graphos DS use the dual screens of the Nintendo DS for
editing and previewing simultaneously.
- Compare your work to a reference screen, in real time. Using
Graphos DS, you can compare your current drawings to a reference screen. This
is very handy when you are importing a picture from a previouly drawn source.
- Improve your productivity. Compared to the original Graphos 3,
the use of the stylus from Nintendo DS can speed up your drawing process up
to ten times.
Download Graphos DS: graphosds10.zip
Download source code: graphosds10.src.zip
You will need the two itens below to run Graphos DS:
- An Nintendo DS system unlocked to run homebrew code.
- A GBA flash cart with at least 64kb of SRAM.
If you have the hardware requirements, these are the steps to load, edit and save your pictures:
First of all, you need to create an SRAM image with your picture. Graphos DS is not intended to
create pictures from scratch, instead it focus on retouching pictures scanned or obtained from other
sources. The picture you want to edit must be in the .GRP format. This format is just an VRAM image
of TMS9128. The file must have exactly 16391 bytes, with the following layout:
- offset 0: header, 7 bytes, consisting of hex FE 00 00 FF 3F FF 3F.
- offset 7: pattern table, 6144 bytes.
- offset 8199: color table, 6144 bytes.
Right now some features of TMS9128 are not used, including the name table and the sprite tables.
If you are importing images from the original Graphos 3, they will be in .SCR format.
A converter is included in the package, in this case just type the following in your shell:
scr2grp image.scr image.grp
You also need a reference picture in jpeg format. However, not all jpeg images can be used
as reference. You must follow these guidelines:
- The jpeg image must be 256x192.
- The jpeg image must not be progressive.
- The jpeg image must be smaller than 49148 bytes.
If both files are ready, then you can create the SRAM image using the converter included:
tosav image.sav image.grp image.jpg
The .SAV file can now be flashed to the SRAM of your flash cart. Also, flash the graphos.ds.gba
main binary to your flash cart so the system can boot.
With the flash cart prepared, you can just plug it in your Nintendo DS and enjoy the editor.
When you are done with editing, you will need to extract the image from the SRAM. To do this,
read the SRAM contents to a .SAV file, and use the included converter to get your new .grp file:
fromsav image.sav image.grp
The default mode for editing in Graphos DS is the zoom. The top screen will present the entire TMS9128 screen,
while the bottom screen will have the zoom of a 16x16 pixels area. You can draw in the zoom are using
the stylus, and choose the color at the side of the screen.
Pressing the L button while drawing in the grid will change the color pointed by the stylus.
Pressing the R button will display the reference image in the bottom screen, so you can
compare your image with the reference.
To save your work, just press START, this will commit your changes to the SRAM, and they
can be extracted later with the converter.
If you are curious about the original MSX version of Graphos 3, you can still download it
at Adriano Cunha's website.
This version is enhanced to run from HD, instead of the original floppy disk only interface.
The original author, Renato Degiovani, has a section in his site dedicated to Graphos 3.
There, you can find lots of curiosities about the origin of Graphos 3, and even download versions for many
platforms, including a native Windows version, to edit PC graphics.