Synthpopalooza Posted September 6, 2017 Author Share Posted September 6, 2017 Not very useful on their own. 320C requires that the first two columns of the 8x8 character use the first two colors of a palette, and the next two columns use the last two colors of a palette. 320D is interesting. It uses the same memory as 320A. Even columns get one color, odd columns get another. So by combining a character flip with a palette swap, in theory one can get a 4 color 8x8 320 pixel mode without the memory costs of using 320B. Quote Link to comment Share on other sites More sharing options...
Synthpopalooza Posted September 7, 2017 Author Share Posted September 7, 2017 Latest update! New in this version: * Sound effects for player death, coin pickup, and block change. The block change sound differs on each level, and is based on the palette colors. * Scoring and coin display is active for player 1. The coin display is also reflected in player 2. This is temporary. It also shows 3 lives left, but losing lives hasn't been added to the functionality yet. I had to do some tweaking to the interrupt at the top. It seems we're limited to two palettes at a time at the risk of running out of DMA. I may be able to tweak this a little bit. The score font and lettering fonts now look absolutely beautiful. I only have the letters for "PLAYER" designed, but I will add the rest later. I want to use this text font for the title screen, it is absolutely gorgeous. I also noticed a glitch: Level 1 starts off with a player death for some reason. Trebor: Screenshot on real hardware, please! Thank you ... ramcharmap5b.bas ramcharmap5b.bas.a78 ramcharmap5b.bas.bin Quote Link to comment Share on other sites More sharing options...
Synthpopalooza Posted September 7, 2017 Author Share Posted September 7, 2017 (edited) Noticed something odd ... level 5, the Vault: Something is wrong with the interrupt at the top ... the blocks aren't changing when they should. DMA cycles, or I am trying to change too many color registers. Of course, stupid ProSystem emulator didn't catch this, but MAME did. I can only assume this happens in real hardware too. EDIT: Quick fix ... had the interrupt end three lines earlier. Not a perfect fix, the top line of the blocks on level 5 are still colored blue. Hopefully a fix can be found. Also, the silver blue motif is back for Player 1, and Gold for player two. ramcharmap5b.bas ramcharmap5b.bas.a78 ramcharmap5b.bas.bin Edited September 7, 2017 by Synthpopalooza 1 Quote Link to comment Share on other sites More sharing options...
Trebor Posted September 8, 2017 Share Posted September 8, 2017 Not the greatest captures, but not too shabby either: 2 Quote Link to comment Share on other sites More sharing options...
Jinks Posted September 8, 2017 Share Posted September 8, 2017 That looks really cool! Quote Link to comment Share on other sites More sharing options...
Synthpopalooza Posted September 8, 2017 Author Share Posted September 8, 2017 Those captures look awesome. How does the font look? Is it easy on the eyes to look at? Quote Link to comment Share on other sites More sharing options...
Synthpopalooza Posted September 11, 2017 Author Share Posted September 11, 2017 (edited) Another small update: This binary renders the rocketman and missle in the first palette set, which I have rendered as gold. This will be the color scheme used for the second player, when we have 2-player mode. This color scheme will also be used for a different type of missile in the game too. ramcharmap5b-gold.bas ramcharmap5b-gold.bas.a78 ramcharmap5b-gold.bas.bin Edited September 11, 2017 by Synthpopalooza 2 Quote Link to comment Share on other sites More sharing options...
SlidellMan Posted September 13, 2017 Share Posted September 13, 2017 You and Pac-Man Red have progressed nicely. Quote Link to comment Share on other sites More sharing options...
Synthpopalooza Posted September 15, 2017 Author Share Posted September 15, 2017 OK, I tried to do a title screen: Frame 1: Frame 2: It looks ok ... but when you press the fire button to go to the game, the man continues falling forever. bummer. Any suggestions on how I can fix this would be appreciated. About the title screen: It's in 160B mode, but flickered. You get 91 colors per character cell. This is full frame flicker though. The flicker can be reduced through checkerboard dithering, which might require something a bit beyond my means ... but we will see. Here was the original graphic ... which I converted using a free web logo designer. ramcharmap5b.bas ramcharmap3.bas.a78 ramcharmap3.bas.bin 2 Quote Link to comment Share on other sites More sharing options...
Synthpopalooza Posted September 18, 2017 Author Share Posted September 18, 2017 OK,I still haven't fixed the title screen issues so I have taken it out for the time being. Latest version is here. Bug fixes: * Bug of player exploding on level entry has been fixed ... seems it had to do with the game triggering an explosion if the missile is not moving, which it would only do if it is in the same place as the player. * Adrenaline pill has been implemented. It lasts about 5 seconds, during which time you can kill the missile and traps. Traps may be walked over and destroyed. Traps and the missile score 1000 points when destroyed. You can also fall on a trap and take off immediately as it is disabled. The missile will not respawn until your invincibility runs out. The player changes colors while invincibility is working. The player will also flicker in the last couple of seconds of invincibility, as a warning. I added the Adrenaline pill to level one for testing, but I will be taking it out in the final version of the game. * Coin pickups now work properly and register on the scoring display. The next step is implementing the "?" blocks and the teleports. One bug still persists: The missile will glitch when it is beneath the structure if you are flying. Still haven't figured this one out yet. Also a warning: The scoring display will not show properly under ProSystem. I recommend MAME or real hardware. ramcharmap6.bas.bin ramcharmap6.bas.a78 ramcharmap6.bas 1 Quote Link to comment Share on other sites More sharing options...
Synthpopalooza Posted September 22, 2017 Author Share Posted September 22, 2017 (edited) Some progress tonight! Title screen works ... it still doesn't look legible yet but the colors are looking some better. There seem to be some errors in converting the colors from the original into 13 color 160B mode using GIMP, some of the 13 colors are being lost. It's going to need more work. The flicker mode used here, allows for 91 colors in the title display. It's full frame flicker right now, but I plan on doing some checkerboard dithering once I have it how I want it to look. I may also throw in a 320B font for any text below the title screen. It will also be in flicker mode, so we should be able to get 10 colors per character cell at 320 pixel resolution, just like during the game. This will, I hope, give a 16-bit look to the title screen. I might even go in and make the title screen 320 x 10 colors, just to see how it will look. Trebor: Screenshot this on real hardware please. Press fire to start the game after the title screen. ramcharmap6.bas.a78 ramcharmap6.bas.bin ramcharmap6.bas Edited September 22, 2017 by Synthpopalooza 1 Quote Link to comment Share on other sites More sharing options...
Trebor Posted September 24, 2017 Share Posted September 24, 2017 Title Screen... 1 Quote Link to comment Share on other sites More sharing options...
Synthpopalooza Posted September 27, 2017 Author Share Posted September 27, 2017 Still needs a lot of work. Tonight I am trying an experiment: Title screen in 320B mode. I think I may have a reliable means of doing this. Firstly, like the above example, I want to make the title fit into 128 characters. This means that we can use 64 characters across in two lines, and because we are using single wide mode, each character is going to have 4 hi-res pixels wide. So we are looking at a charmap of 256x16 pixels to begin with. Secondly, 320B means we can have 4 unique colors per character cell at 320 pixel resolution. But I am going to be using the same flicker technique used in the game on the title screen as well. This basically gets you 10 colors at 320 pixel resolution. So here are the ingredients: 1. The original graphic, which I created using an online text graphic utility: 2. Altirra Atari 8-bit emulator, using the Interlaced Character Editor, ICE IRG version. This is an Atari 8-bit utility for designing flicker characters using a 10 color 160 pixel mode, but the process is the same as in the 7800's 320B mode. What you want to first do, is select the Super IRG mode, then play with the colors in the Color Tuner, until you get a set of colors which closely match what is in the original graphic. Here is what I came up with: Color pattern 00 is the background/transparent Color pattern 01 is Red Color pattern 10 is Yellow Color pattern 11 is Blue When you then mix the possible color combinations, you get a total of 10 unique colors. Take a look at the color palette bar in the screenshot below: You will see the 16 possible color combinations, numbered in hexadecimal from 0 to F. Some colors are duplicated, this happens when you blend the same two colors on different frames. Here are the colors in the above palette: Black/BG: 0 Dark Red: 1 - 4Dark yellow: 2 - 8Dark Blue: 3 - CRed: 5Orange: 6 - 9Purple: 7 - DYellow: AGrey: B - Elight Blue: F Black, Red, Yellow, and Light Blue are solid colors which will not flicker. These are your primary colors from which the others are produced. The interesting color here is Grey (B and E). This is not a true Grey, but a mixture of Blue and Yellow. Mixing colors on opposite sides of the color wheel will produce a grey. For the others, when you design characters in these colors you must use a method called checkerboard dithering. For example: A solid color field of dark red will look like this: 1 4 1 4 4 1 4 1 1 4 1 4 4 1 4 1 1 4 1 4 4 1 4 1 1 4 1 4 4 1 4 1 This allows for an interlacing effect, which blends the colors better than full frame flicker. 3. Gimp editor This is a crucial step. Once you have the color palette you want, save an ICE file from your emulator (I chose SCRAPER.ICE) to keep your color palette settings. Then screenshot the ICE editor in the Color Tuner, and cut out the top color palette bar, until you get this: You will want to import this into Gimp, and export a 10 color palette from this image using Windows-Dockable Dialogs-Palettes. Next, import the original title logo graphic into Gimp. I've found that when reducing this into 10 colors, the best method is the following: Convert to Indexed using the preset "Web" palette Resize the graphic to 256x16, using linear interpolation Convert to Indexed using your 10 color Super IRG palette you made above. This is the result: Pretty close. The only color missing is Color F, light blue ... but that can be added in later in the process. After saving this image, you want to set a grid on this. Grid the picture into character blocks of 4x8 pixels. You should get something like this: The picture is now divided into 128 characters at 4x8 pixels, exactly the resolution we need. Now the real donkey work begins. Load ICE editor and configure your palette by reloading the SCRAPER.ICE font file you saved. Now comes the hard work. You will have to copy over by hand, all 128 characters, using the GIMP image as a reference: You will also notice I have a dithering pattern for all 6 blended colors, as a reference. Follow this pattern precisely in all characters, to ensure better blending of the colors and less full frame flickering. I am currently on this step. The next step, once you have all the characters drawn, is to turn off Frame Blending in Altirra, and to take two screenshots of the editor, one for each frame: The area you are interested in now on each shot is the character set display, which you want to cut out precisely, until you get this: The image must be precisely 32x4 characters high, down to the pixel. You then want to cut and paste until all 128 characters are in a single horizontal line, spaced precisely apart. Resize this down to a 512 x 8 pixel PNG, making sure no color loss has happened, then export your PNG. Repeat this process for frame 2. Make sure both have been indexed in GIMP down to 4 colors. You now have your source PNG files which can be imported into 7800Basic using your incgraphic command. When flipping two character sets, each one must be placed in seperate blocks, seperated by a newblock command. Then during your title screen, you want code like this: titleloop savescreen cflip=1-cflip if cflip=1 then characterset scraper_title_1c if cflip=0 then characterset scraper_title_1d drawscreen if joy0fire0 then clearscreen:goto startgame goto titleloop This will cycle the character sets at 60 frames per second (50 for PAL) and blend the colors. I am still in the middle of transcribing the graphic above. I am hoping for good results! This method will work for designing characters using either 320B, or 160A mode, both of which permit 4 colors per character/10 blended colors. No means exist yet for designing in 160B, which allows 13 colors per cell, 91 colors in blended mode. The nearest thing would be using the ICE GTIA editor in Super 10 mode, but you would only be able to use 9 of the 13 colors to draw your graphic. Ideally, a color palette tool written for the 7800, coupled with the ability to make frameblended shots from MAME, would fit the bill perfectly. 1 Quote Link to comment Share on other sites More sharing options...
Synthpopalooza Posted September 27, 2017 Author Share Posted September 27, 2017 I've drawn the first word in the title screen. A long way to go yet: Quote Link to comment Share on other sites More sharing options...
Trebor Posted September 27, 2017 Share Posted September 27, 2017 This method will work for designing characters using either 320B, or 160A mode, both of which permit 4 colors per character/10 blended colors. No means exist yet for designing in 160B, which allows 13 colors per cell, 91 colors in blended mode. The nearest thing would be using the ICE GTIA editor in Super 10 mode, but you would only be able to use 9 of the 13 colors to draw your graphic. Ideally, a color palette tool written for the 7800, coupled with the ability to make frameblended shots from MAME, would fit the bill perfectly. There may be interest in this thread: "The end result is 13 shades of 13 colours or a total of 169 colours in MARIA 160B mode." From the discussion in the above linked thread, the noted result appears ideal under a PAL console/display, but still respectable under NTSC as well. There is a demo provided in the thread which is a part of Trebors 7800 ROM PROPack, if interested [See: Demo X (v1_01F) (20100423).a78]. 1 Quote Link to comment Share on other sites More sharing options...
Synthpopalooza Posted September 27, 2017 Author Share Posted September 27, 2017 (edited) Very similar to the APAC mode on the 8-bit. 169 colors, with the drawback of halved vertical resolution, and the technique is more ideally suited to PAL. However, there are two ways to improve on this: 1. Using the character swap technique, combined with swapping the interrupts so that the chroma and luma lines are different each frame. This will cover the full vertical resolution. 2. Character swap without changing interrupts. This leads to near-true color resolution ... 91 colors x 25 lunas or 2275 colors at half vertical resolution. You use checker board dithering as above and only blend luminance within a step of each other. Both of these techniques would only be useful in static displays like titlescreens, not for in-game graphics. Edited September 27, 2017 by Synthpopalooza 1 Quote Link to comment Share on other sites More sharing options...
Jinks Posted September 28, 2017 Share Posted September 28, 2017 It is great your doing a 7800 game especially interesting to try out 320 stuff.. Quote Link to comment Share on other sites More sharing options...
Synthpopalooza Posted September 29, 2017 Author Share Posted September 29, 2017 (edited) OK, I have come across a conundrum ... I did a partial render of the title screen, based on what I have drawn. Two screenshots: Prosystem: MAME: We seem to have a problem. Color patterns of Red+Red and Red+Black are not showing up. The bottoms of the letters should be showing red, but instead they are black. It seems to work with Prosystem but not MAME. Red is color pattern 01 (palette 1) in this case. Is there some quirk with 320B where color 1 and the BG cannot coexist in the same bitpair? If so, is there any workaround for this? Again, the screenshots will not show the blending. A capture by Trebor on real hardware is necessary again. ramcharmap6d.bas.a78 ramcharmap6d.bas.bin Edited September 29, 2017 by Synthpopalooza Quote Link to comment Share on other sites More sharing options...
Synthpopalooza Posted September 29, 2017 Author Share Posted September 29, 2017 I tweaked the color settings, by swapping colors 1 and 4 (red and yellow), and got this: A bit of lookup in the hardware docs seems to say that colors 0 and 1 reference differing palettes somehow, and therefore cannot be in the same bitpair. How this works, I am unsure, but it seems solid yellow for the letter bottoms is going to be out, unless we can cheat a little bit. I think using red and yellow in the same bitpair might yield a solution, and TV artifacting might fudge the effect some. So the verdict is, 8 colors unlimited anywhere on the screen, but 00 + 01 or 01 + 01 ain't gonna happen unless stuck in bitpairs with one of the other colors. ramcharmap6e.bas.a78 ramcharmap6e.bas.bin Quote Link to comment Share on other sites More sharing options...
CPUWIZ Posted September 29, 2017 Share Posted September 29, 2017 Man, I keep forgetting. Roy just sent me his devkit to fiddle with (so he can keep going on the shooter), so I will try to get yours together on the weekend, at the same time. 1 Quote Link to comment Share on other sites More sharing options...
Synthpopalooza Posted September 29, 2017 Author Share Posted September 29, 2017 Success ... Seems we have to enable something called Kangaroo Mode, whatever the heck that is ... all I know is it makes sprites blocky by turning off transparency ... but you also get to unlock those extra colors as well. Coolness. So now, all 10 colors in this blended mode are freely usable. Trebor, please screenshot this for me and tell me how it looks. CPUWIZ: Thanks ... still going to need to grab a power pack for my 7800 (my other one lost it's adapter head) and an RCA to Coax converter before I can fully develop ... so no real hurry on that yet. I may need new controllers too. New screenshot and binaries: ramcharmap6d.bas.bin ramcharmap6d.bas.a78 Quote Link to comment Share on other sites More sharing options...
Trebor Posted September 29, 2017 Share Posted September 29, 2017 And it looks fantastic 2 Quote Link to comment Share on other sites More sharing options...
Synthpopalooza Posted September 30, 2017 Author Share Posted September 30, 2017 (edited) Excellent. But I think it can be improved. Going to try with 10 colors ... but consider this: The colors are striped horizontally ... so it may be that we can divide the top and bottom into two palettes, each with 10 colors, and have a 19 color logo on the title screen. It bears some consideration. I am also going to have a font for text on the title screen as well. I am thinking either an interlaced 320B @10 colors, or the interlaced 320D ... There is a method I have in mind that involves color register swaps to get 8 palettes at 4 colors per character. We will see. Edited September 30, 2017 by Synthpopalooza Quote Link to comment Share on other sites More sharing options...
Synthpopalooza Posted October 6, 2017 Author Share Posted October 6, 2017 The title screen is now fully done: I had to redo it from scratch because I had the png scaled down to 320 pixels, when it really needed to be 256. Next step is to add in a 320B font of letters and numbers, at 10 colors per character. This should be fun. Screenshot again please, Trebor. Left Fire button will scoot past the title screen. ramcharmap6d.bas.a78 ramcharmap6d.bas.bin 1 Quote Link to comment Share on other sites More sharing options...
Synthpopalooza Posted October 6, 2017 Author Share Posted October 6, 2017 (edited) A preview: The first three letters of the title screen font. Each letter can have 9 colors + BG so I thought I would do a diagonal gradient. Keep in mind these letters will ultimately be 1/2 width in 320 pixel font, so they should look quite 16-bit! I may also draw these letters using the second palette in 320B, so that we get 9 totally different colors from the ones in the title graphic. Edited October 6, 2017 by Synthpopalooza 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.