Jump to content

Synthpopalooza's Photo


Member Since 27 Jun 2009
OFFLINE Last Active May 22 2018 7:58 AM

#3991764 Doing pictures using Super IRG 2 and other ICE modes.

Posted by Synthpopalooza on Thu Mar 22, 2018 10:13 PM

Some cuddly cuteness ... various modes:


spaniel-din.png Attached File  spaniel-din.obx   18.42KB   11 downloads


spaniel-min.png Attached File  spaniel-min.obx   18.42KB   12 downloads


spaniel-pcin.png Attached File  spaniel-pcin.obx   18.42KB   11 downloads


pug-din.png Attached File  pug-din.obx   18.42KB   10 downloads


pug-grey-min.png Attached File  pug-grey-min.obx   18.42KB   11 downloads


pug-pcin.png Attached File  pug-pcin.obx   18.42KB   12 downloads

#3991736 Graph2fnt

Posted by Synthpopalooza on Thu Mar 22, 2018 9:28 PM

Here's a feature request:

Ability to inverse the 4x4 dither pattern. That is, alternate the checkerboard dither pattern. Making two such renders with differing dither patterns would make Super IRG screens easy to do.

#3991732 Graph2fnt

Posted by Synthpopalooza on Thu Mar 22, 2018 9:24 PM

I have played around with the optimization. What I really want is a means of optimization without having to change the character map. That is, both font screens map to the same optimized character map. In that way, I can then convert the screen to .ICE font files and load the super IRG font into my ICE editor to do touch ups.

Graph2font has been an integral part of all my graphic experiments.

#3988404 Quadro Pokey PCB (4x for TMC2)

Posted by Synthpopalooza on Sun Mar 18, 2018 7:37 PM

I would probably use it in 16 bit mode. 8 channels of music with extended range and pitch perfect tuning in all distortions would put the NES to shame!

#3979188 Altirra 3.00 released

Posted by Synthpopalooza on Tue Mar 6, 2018 3:09 PM

For a future versión of Altirra I would like to see an emulation of the Sophia board. Specifically, 16 greyscales selectable in antic modes, independently programmable text color in graphics 0, and no pixel shift in Graphics 10.

#3978042 Graph2fnt

Posted by Synthpopalooza on Mon Mar 5, 2018 1:08 AM

Have never played around with the 480i mode ... it requires a lot of overhead but it does bear some experimenting perhaps.


I did an example for you to look at ... DIN mode (Antic 2 + Antic 4) plus source code.


Some notes:  For the High res Graphics 0 render I took the image into GIMP, and posterized it using a 1-bit binary palette, with Floyd Steinberg dithering.  Save as PNG and import it into G2F to get font and SCR files.


In the code, I set it to where PF1 and PF2 are altered every scanline.  Where the screen is Antic 2, PF2 should be the BAK color and PF1 should be $0c (brightness 12 decimal) though it may be necessary to play with these settings to find the optimal picture with minimal flicker.  Where the screen is Antic 4, these two settings will be the normal colors for the Antic 4 render.


spaniel-din.png Attached File  spaniel-din.obx   18.42KB   19 downloads Attached File  spaniel-min.asm   3.74KB   7 downloads


ZIP file with source g2f's:

Attached File  spaniel source g2f.zip   8.27KB   10 downloads

#3976447 Graph2fnt

Posted by Synthpopalooza on Fri Mar 2, 2018 8:03 PM

Also, your Tramiels ... in PCIN mode:


tramiels-pcin.png   Attached File  trams-pcin.obx   18.42KB   17 downloads Attached File  trams-pcin.asm   3.72KB   10 downloads


I used a different source G2F than your render ... and I also converted the picture to Graphics 9 colors using GIMP


tramiels-g10.PNG - Graphics 10 g2f


tramiels-g12.PNG - Graphics 12 g2f


There are optimizations that could still be done, for example, where the PF0-PF3 and BAK colors intersect in the picture, checkerboard dithering can be done to improve the flicker.






#3976407 Graph2fnt

Posted by Synthpopalooza on Fri Mar 2, 2018 7:03 PM

OK here's an attempt:


interlace dude-min.png Attached File  idude-min.obx   18.41KB   19 downloads Attached File  idude-min.asm   3.73KB   12 downloads



I did this in MIN mode, quick and dirty using a graphics 9 and a graphics 12 source g2f.  It's not optimal, but it gives you an idea.


To optimize this best with minimal flicker (better than I did above), you would want to convert your original image to 21 level greyscale.  Then use these settings for Antic 4:


BG - 0

PF0 - $06

PF1 - $0A

PF2  - $0E

PF3 - $02


Then arrange your palette as so to get your 26 greys:


Antic 4                       Graphics 9               Combined greyscale

BG - 0                        0 1 2                        0 1 2

PF3 - 2                       0 1 2 3 4                  2 3 4 5 6

PF0 - 6                       4 5 6 7 8                  7 8 9 10 11

PF1 - 10                     8 9 10 11 12            12 13 14 15 16

PF2 - 14                     12 13 14 15             17 18 19 20


BG/2 and 2/0 are the same color and can be checkerboard dithered.


Then read the pixel pairs of your 21-grey PNG and convert them to the paired Antic 4/Graphics 9 colors using the table above:


You might need to rearrange your Antic 4 palette as to best avoid PF2/PF3 conflicts in the picture but in theory this will provide an optimal picture.

#3974184 Graph2fnt

Posted by Synthpopalooza on Tue Feb 27, 2018 11:26 PM

Well, before I get started ...


There are two ways that I have used Super IRG in my experiments ... that is, an Antic 4 screen with font changes.  Typically you don't alter the color registers at all, just the font data and screenmap.  This allows for 14 (or 15 - I will explain later) colors usable, in theory.  However, when doing greyscale, you don't really have all of these.  It's more like 9 level shading.


If I want to perform a monochromatic Super IRG (which is what the above image is a sub-optimal version of), how do you suggest that I...

  1. Use the 5th color? Does one typically leave it unused, or do they save a pair of them for a special purpose? (Many of the errors seen in this test message were from 3rd/4th color conflicts.)



You can ... when blending two charactermaps though, you do have to watch out for PF2/PF3 conflicts alot.  You can't have PF2 and PF3 in the same character cell in the same frame.  If you make two screenmaps, and flip between them, PF2 and PF3 blending becomes possible (getting you a 15th color) but the tradeoff is those areas of the picture can't be checkerboard dithered.  One possible method that I haven't tried yet, is making two G2F renders, one with 5 colors, and one with only 4, and blending the two to make a sort of 9-level greyscale picture.


There was a bitmap mode called Interpainter that did this sort of thing.  You blended two Graphics 15 bitmaps to get a 7-greyscale monochrome picture.  Atari Interlace Studio supports this mode.


Assuming I go with static assignments for the colors (no DLI changes), what colors should I allocate to each pair of 4 or 5 registers? I figured there might be some clever mathematical formula to obtain the optimum intensity (or color) response? (That's potentially a tie-in to question #5.)



I always allowed G2F to set the color palette ... In general, having your darkest shade as PF2, and your brightest shade as PF3 (or vice versa) tends to avoid a lot of conflicts.  The colors should remain steady in both frames for best results.  However, if you do change the colors (a mode I named Super IRG+ or Super IRG 2) you can increase your color resolution, but it means you must do full frame changes.  So if you were to change your colors, you could try something like this:


Frame one:  PF0: 6  PF1: 10  PF2: 2  PF3: 14

Frame two:  PF0: 8  PF1: 12  PF2: 4  PF3: 14


PF3 will be the same in both frames, because the Atari only has 8 luminances in Antic mode 4.  If you are using the SOPHIA video card, you can use 16 greyscale in Antic 4.


For pictures that don't change the colors each frame, maybe a setting like this:


PF0: 6  PF1: 10  PF2: 2   PF3: 14


  1. If appropriate, should I shy away from the highest intensities to mitigate some of the potential for flickering?
  2. Is there a good rule for how far the difference between two frames can be for a pixel without the flicker becoming bothersome? Do you do anything to enforce these between the two images?



Well the key is, you don't want the pixels being blended to differ than more than 2 steps luma.  High luminances are not bad in and of themselves, but in greyscale pictures it limits the number of actual colors you get.  In theory there are 14/15 color combinations in Super IRG (23 to 25 in Super IRG 2 with color changes) but combinations which blend the highest and lowest luminances should not be used ... so in actuality, you would end up with about a 9 level greyscale picture in Super IRG, or maybe about 17 level in Super IRG 2.


So for example, in Super IRG (no color changes), these would be your 9 colors:


0, 0/2, 2, 2/6, 6, 6/10, 10, 10/14, 14 ... keeping in mind that you can't have lum 14 and lum 2 in the same character cell as these are PF3 and PF2 respectively.


I haven't done a lot of monochrome pictures in these modes, as I have never been happy with the results.  One mode that I have gotten good monochrome results out of is one I named MIN (Monochrome Interlace) ... you blend an Antic 4 screenmap with a Antic 2/GTIA 9 (16 grey) screenmap.  This mode gets you about 20-21 greyscale but with a lot less flicker, and the 160 pixel resolution is still apparent.  I generally prepare my pictures in GIMP and resize them to a 320 wide resolution.  Then you can either rescale them to 5 colors, or just use G2F to rescale them.  My MIN pictures are a straight blend of the G2F's created in Antic 4 and GTIA 9 respectively.  I'm going to try a MIN render of your picture to see how it comes out.


If I wanted a monochromatic 320x160 graphics mode, would you suggest Antic Mode 4 and Graphics 0? If so, what would be your choices for the Graphics 0 background intensity (plus appropriate color), and then the foreground intensity? 0% and 100%? 0% and 50%? 33% and 66%?




Antic 4 and Graphics 0 (a mode I have named DIN, Display Interlace) is a good combination.   There are some requirements to make this work though:


1.  You have to alter PF2 each frame.  In the Antic 2 frame, it should be toggled to the same value as BAK to avoid background flicker.


2.  You may need to alter PF1 each frame.  PF1 works best in this mode at about luma 10, but you may want to play with it.  You will then either need to arrange the palette in Antic 4 so that the brightness 10 color you use is at PF1, or you will need to alternate the color each frame.


3.  You will need to either flip two screenmaps (with the screenmap in Antic 2 having no inverse characters), or alternate CHACT to kill inverse video when the screen is showing Antic 2.  Otherwise the characters where PF3 is present in Antic 4 will show garbage in Antic 2.


What I usually do is process the Graphics 0 render in GIMP and apply Floyd Steinberg dithering, this gives the illusion of greyscale.  Keeping in mind, on a CRT you will get color artifacting which can muddy the picture.  There are some DIN pictures in my thread which show what can be done. 


I've also done the same by blending Graphics 10 and Antic 2 (a mode I called PC0 or Palette Color 0) ... it does ok, depending on the picture, but the 4x1 pixel blending tends to look a bit muddier than DIN mode.


Hopefully this proves to be of help.

#3973806 Graph2fnt

Posted by Synthpopalooza on Tue Feb 27, 2018 2:15 PM

Super IRG mode. :) This is the same technique I have been using in my experiments, swapping two g2f renders every frame. Many of them involved swapping Antic 4 with a gtia mode, usually gr. 9 or 10.

You can process this with checkerboard dithering to reduce the flicker even further. Do you have the original image? I might give it a try.

#3969758 Doing pictures using Super IRG 2 and other ICE modes.

Posted by Synthpopalooza on Thu Feb 22, 2018 5:37 PM

Haven't messed around with these in awhile, but a post on the rastaconverter thread inspired me to try some pics based on the TV series Dark Matter:


MIN mode (12+9)


dark matter - five.png   Attached File  dm-five.obx   18.41KB   18 downloads

dark matter - android.png   Attached File  dm-android-min.obx   18.41KB   22 downloads

#3969751 Images generated by RastaConverter

Posted by Synthpopalooza on Thu Feb 22, 2018 5:31 PM

ICE - Interlace Character Editor ... a series of experiments I have been doing, rendering pictures in character flip modes similar to Super IRG.  Most of these mix Graphics 10 or Graphics 9 with Antic 4.  They do flicker, but I've gotten some good results too.


I started a thread awhile ago with these experiments:




If you could zip up all the forest and tiger scenes and PM them to me I'd appreciate it.  I'm curious as to how they will turn out.  320 pixel resolution would be perfect.

#3937824 Legend of Silverpeak RPG

Posted by Synthpopalooza on Wed Jan 17, 2018 3:44 PM

Agreed!  But, yeah, I suck at music and sound effects.  I'll be adding sound to the game eventually, but I'd definitely need to collaborate with someone to help with music.

I'd be willing to help out on some music. Will you be using POKEY sound, or just TIA ... or POKEY music plus TIA sfx?

#3930477 Graph2fnt

Posted by Synthpopalooza on Mon Jan 8, 2018 3:10 PM

As it is character based, it is Antic 2 .

Antic 4/5 with GTIA changes the color mappings. You get 14 of the 16 colors, and all 9 Graphics 10 colors, but some of them change in inverse.

This is partially useful for me when building displays using my ICE graphics modes. I've done experiments using Antic 5 to get about 60 colors onscreen.

#3925613 7800 XM update

Posted by Synthpopalooza on Tue Jan 2, 2018 3:56 PM

What's so special:

On board POKEY and Yamaha sound chips for upgraded sound.
SIO ports for peripherals plus ability to plug in an XEGS Key board and turn it into a computer.