Jump to content
IGNORED

Interesting Spectrum -> Atari experiment


happymonster

Recommended Posts

Since it seems to be the trend to do Atari versions of Spectrum games, I thought I'd do a little experiment. Firstly, I haven't done any Atari programming for about 20 years, so I'm not 100% sure that I have got all the technical details right..

 

The idea I had was to use 4 Players in quadrouple width alligned next to each other to overlay over the two colour Atari bitmap mode (0 or 8?). Unlike other uses of Players, I would use Emkay's suggestion to colour the actual 'lit' pixels rather than the background, at the expense of a background 'fringe' colour. So, with doing this we can overlay over the 8 x 8 pixel data and emulate to a limited degree the spectrum attribute capability as the 256 x 192 screen could be completely overlayed. Each byte of data would be repeated 8 times to cover a complete attribute block.

 

The disadvantage is that we only have one colour, and we have a background colour whether we want one or not. However it does give us a third colour to play with and can look perfectly ok in wall and other similar level tiles.

 

I've whipped up a quick PC program to do some conversions and show what I mean. In the screenshots the top-left is the spectrum original. The top-right is the 3 colour version.

 

The next logical step is to change the colours of the players every 8 pixel lines and pick the most used colour for that row of attribute blocks (bottom left picture). This looks better, but if we are changing all 4 colours, then we might as well change each one individually, thus splitting the screen into 4 quarters for each row of attribute blocks. This looks better in every case, despite there being a few errors. Although changing 4 registers might prove expensive, with only 32 byte width, every 8 pixel rows for a change only and with the colours not being needed to be changed at all once (the 4th PM covers the last 1/4 of the horizontal screen only), then I hope it is possible.

 

Notice, this program does the spectrum->atari conversion automatically (and I wrote it quickly), and so things could be improved with more Atari specific colours used, rather than something close to the Spectrum ones. The conversion process doesn't deal with attribute cells with a background colour other than black very well yet. Finally, we could also use the 4 Missiles to correct one (or two adjacent) block errors on some rows. If we find processing time to do this, then this could make a real difference to some games :)

 

Examples:

 

spec_atari_5.png

In the 3 colour version, this looks quite good with this kind of gfx. The sprites should be all white of course and the purple can be a lighter colour than changes every screen. This still looks more interesting than the monochrome version.

 

The bottom right version has a few errors, but the extra blue and yellow colours do look nice. The errors here could be corrected with the use of missiles as well.

 

spec_atari_3.png

Since we have Jetpac already, here's what it would look like using this system. Pretty good! The sprites would be white again to avoid the background colour fringe, but the platforms and text looks nicely coloured (as would a partially fuelled purple rocket)

 

spec_atari_6.png

The classic Manic Miner! Some errors again (including conversion errors on the AIR text, and the disintegrating tiles, the conversion routine is unfinished). Some of these could be corrected with missiles, or slightly different colour / gfx choices on some rows. Again the enemy sprite and some blocks would be better as pure white.

 

spec_atari_1.png

Dizzy! Despite the fringing, the 3 colour version looks quite nice, and the full colour version looks even better. This works really well on the status bar and most of the level. Again, a few manual changes and missile use would correct some errors, it's just a pity about the green background fringing..

 

spec_atari_2.png

Willy again, and more conversion errors. But for the most part the level gfx convert well (despite the restriction to one hue per block compared to the originals).

 

spec_atari_4.png

Everyone's a Wally, and a very colourful game. This causes fringing galore! But it does look very colourful. Some tile colour errors in the fountain and bench could be corrected with missiles. The character sprites would be white except when walking over coloured areas..

 

spec_atari_7.png

Finally Monty. With some manual editing, the 3 colour version would look pretty good. Despite some conversion errors, the full colour version looks good and this kind of blocky level design works well using this system.

 

 

Well, hope this proves interesting. I for one would like to see some spectrum games using these kind of techniques rather than just being monochrome. Especially if they used nice atari colours and had extra bits added. I know the fringing takes a bit of getting used to, compared to other more accurate PM placements for hand edited levels. But this is a generic system, to be touched up slightly and thus take less time overall. :)

Link to comment
Share on other sites

@happymonster...quite interesting...people discussed kind of "attribute" or "colourram" simulation couple of times ago... i like the idea but being a coder i am not good or personally do not found a quick way (but this is because of me... and my code... ;)) handling dynamic "PM"-colourram... for static pics...ok... but in a game...you have to draw and set the pms...

 

@Miker... what do you mean with "passee"?

 

@TMR of course i ment the Maniacs of Noise msx... ;)

Link to comment
Share on other sites

I'm not really a fan of the method, but I guess it's better than just plain monochrome hires.

 

For a game like Dizzy with prettywell fixed backgrounds, doing the overlays dynamically could be a possibility.

 

There is another way to get hires with colour attributes although it is somewhat costly:

 

Interlace with GTIA colour-only mode on alternate scanlines.

 

But of course, the cost is a rather large CPU penalty, plus the problem of effectively halving your resolution. Not to mention having to make custom characters (if in charmode).

 

In bitmap, there's always the option to use LMS trickery to keep the graphics mapping the same, and you can reuse attribute RAM if you don't need colour changes every second scanline.

Link to comment
Share on other sites

@Happymonster & Heaven:

Recently converting from Spectrum is passé.

 

And i've became involved in something really bigger than such a Jetpac or Manic Miner... :)

 

 

I hope that the something really bigger is related to Atari 8 bit ;) Perhaps One Moon & Two Suns game? :P (btw. little OT, does anyone knows something about it? Still workign on it or abandoned project? I really liked the screenshots and early "alpha demo" )

Edited by MaPa
Link to comment
Share on other sites

Heaven: Forget to say.. are my technical assumptions correct? I hope it's all possible!

 

I think the best way to handle this for conversions would be to write a PC program to do an automatic conversion and then allow manual editing based on a screenshot. Then you could make the program write out the data and colour bytes for each PM to make it easy to add to a spectrum conversion.

Link to comment
Share on other sites

@Happymonster: well - like said above - i would like some game with less amount of colors (even monochrome) but running at resonable speed.

 

@Heaven: BBC Micro is 6502-based machine, assembler is the same, there are only some differences in graphics (there's other gfx-chip and screen handling) and thus the game ports from BBC are more doable. :)

 

Moreover - Jet Set Willy 2007 has a procedure located at $208b which adds color to the objects (like happymonster mentioned in his mockups) but it is used only for collectable items.

Link to comment
Share on other sites

Well, what about this then:

spec_atari_8.png

 

Pseudo 4 shade (tinted to a colour) hi-res mode. Set up players once at start of level drawing. No futher player/colour changes necessary (so no DLI's), and no colour fringing. 4th colour is emulated with alternate white and PM overlays. Looks quite nice for some games. :)

 

spec_atari_9.png

Edited by happymonster
Link to comment
Share on other sites

I thought about using alternating PM colours to get 2 extra colours and 3 colour combinations in total. The problem is that the alternating effect looks less attractive than a normal coloured version and the colour choices possible aren't great. So, despite the extra colour, I still prefer the look with one solid mid-range colour as well as black and white, and then minimal white-colour alternate dithering..

 

Also, in your image you are forgetting that the different colours will create colour fringing. :)

 

If anyone else can think of a way to get a better look, feel free to suggest something. It's a pity we don't have more players to use!

Link to comment
Share on other sites

One problem I have with the high resolution graphics games, is with artifacting. Artifacting can be used for extra colors (ala Droll), but if you use source graphics that were not designed with artifacting in mind, it looks very distracting to me.

 

Is artifacting not as bad in PAL? Or do we assume that everyone these days is running in an emulator/on a monitor?

Link to comment
Share on other sites

@ Happymonster

 

Question: What would you do if you wanted to make it all scroll?

 

Note that when using maximum # of players for over-/underlays, then you cannot scroll without 'colourcell defects'

 

When using vertical scrolling you also need to move around huge amounts of PM data.

 

On a scanline you should reserve at least one player (or maybe a missile) for underlaying the new gfx data that comes in at the borders.

 

But, this reminds me of a small demo I did 4 years ago with scrolling PM underlays in Antic 4. Maybe I can make a hires-version of it. Should be quite easy.

 

Isn't there any website holding 'levelmaps' of spectrum games?

 

 

Other comments on your pics.

 

(*) In post one, the top-right: it seems like you used all players for purple. You would save some players when inverting most of the gfx lines, i.e. do purple COLPF1 and white players.

 

(*) In post one, the two bottom pics: here you see that you have a lack of players to come out properly.

Remember that you can also change COLPF1 register every gfx line. Use COLPF1 for the colour that's occuring the most in that gfx-line (or set of gfx-lines).

The only thing to take care of is player-priority of (software-)sprites that you want to enhance with PMU's

 

(*) In post seventeen, the top-right seems very O.K. to me. Just the fact that you used dithering in the PM graphics hides colourcell 'clashes' somewhat.

Link to comment
Share on other sites

Analogue:

 

Scrollers would have had the same colour cell problem on the Spectrum, but yes it would involve writing a lot of PM data. However for the games we are talking about (and the ones that have been ported) they are all flip screen or static screen, which would work well.

 

As for changing the colour every scan-line. I could have made the code do that, but I am unsure just how much CPU this would use. Also this automatic process for the screenshots doesn't take into account manual editing and use of missiles to mix up the colours a bit.

 

(*) In post seventeen, the top-right seems very O.K. to me. Just the fact that you used dithering in the PM graphics hides colourcell 'clashes' somewhat.

I agree. And I think it would look better with manual editing and making the bright yellow use the pure white. :)

Please feel free to do some atari code to test! There are plenty of spectrum maps and screenshot sites around..

Link to comment
Share on other sites

I thought about using alternating PM colours to get 2 extra colours and 3 colour combinations in total. The problem is that the alternating effect looks less attractive than a normal coloured version and the colour choices possible aren't great. So, despite the extra colour, I still prefer the look with one solid mid-range colour as well as black and white, and then minimal white-colour alternate dithering..

 

Also, in your image you are forgetting that the different colours will create colour fringing. :)

 

If anyone else can think of a way to get a better look, feel free to suggest something. It's a pity we don't have more players to use!

Regarding colour fringing - I was too lazy to draw it in the mock up :-) Anyway it shouldn't be too disturbing since the fringing only happens in the darkest shades.

Link to comment
Share on other sites

Slightly refined, turing the original yellow to white, using a brighter PM colour (for better alternate row dithering) and changing the pure white to use the brightest colour in the specified colour hue, to be accurate to what I understand are the hardware effects of the colour mixing and colour selection in mode 8:

 

spec_atari_10.png

 

I prefer the colour versions myself, but this is much easier to implement in an Atari and looks better to me than the 2 colour monochrome games. :)

Edited by happymonster
Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...