Jump to content

Asmusr

Members
  • Content Count

    4,006
  • Joined

  • Last visited

  • Days Won

    13

Posts posted by Asmusr


  1. Just a little update to my demo, now with checkerboard tiles and corrected bass notes.

     

     

    Regarding the music, I made a small Java program that reads an ePSGMOD file and adjusts the frequency of all zero volume notes in channel 2 by 15/16 (assuming all notes used to control periodic noise have zero volume). This compensates for the difference between the SN76489 and the TMS9919 sound chips. Let me know if anyone wants it.

    Isoscroll.zip

    • Like 5

  2. The next trick would be updating the F18A version to use a better color mode. ;)

     

    Very impressive, and interesting finally to see the GPU pushed to its limits. With 'a better color mode' I assume you mean the bitmap layer? I was thinking about doing an image rotation demo, but I'm not sure 4 colors would be enough to create a good effect.

     

    Edit: I noticed the GPU demo doesn't work in Classic99, any particular reason?


  3.  

    Hmm, now you mention it that does seem more logical. :) It would probably also be more efficient for building the name table.

     

    Actually, after looking in Magellan, my map is organized like this:

     

    00005

    00045

    00345

    02340

    12300

    12000

    10000

     

    So in this case it makes sense to do what I did and store it as:

     

    12345

    12345

    12345


  4. Is that the same as storing it like this ? I mean if you move up you move right and vice versa.

     

    4444

    3333

    2222

    1111

     

    Hmm, now you mention it that does seem more logical. :) It would probably also be more efficient for building the name table.


  5. Just curious, is something like this impossible on a TI with the F18A?

    http://www.youtube.com/watch?v=C98twocyv_g

     

    I don't think speed is an issue if you decided to use the GPU for the 3D/texture calculations, the problem is colors. You could either use the good old graphics 2/bitmap mode with all its limitations or the F18A bitmap layer (I don't think doing a 3D game using ECM tiles is an option). The bitmap layer is limited to 4 colors (AFAIK) but has no other limitations, so it would probably be the best choice. In order to double buffer the bitmap layer you would only use about half of the screen area. If you could accept these limitations a Wolfenstein like game is certainly possible, but only with very basic texture mapping. This is also discussed in another thread:

    http://atariage.com/forums/topic/211137-first-person-shooter-on-the-ti/?view=findpost&p=2736749&hl=%2B2d+%2Bshooter


  6. Just curious... how did you create the maps for this one? It looks like there are certain "building blocks" on the map which repeat over and over.

     

    In Magellan, using 24 patterns in total. The technique is basically the same as for the other scrolling routines, but in isometric scrolling you scroll 2 pixels horizontally for each 1 pixel vertically, so a transition depends on 6 tiles instead of 2 as in vertical or horizontal scrolling. E.g. if you want to move from F to T it passes through both A, B, C and D:

     

    -------------

    | A | B | T |

    -------------

    | F | C | D |

    -------------

     

    I made some code in Magellan to identify and export the unique transitions. Since a transition depends on 6 tiles the 256 patterns are used very quickly, so in order to reduce transitions I copied the same blocks a few times. I haven't got a visual tool yet to assist me, and it's possible that the number of transitions could be reduced if you could see what was going on.

     

    Since I'm using almost the full character set I cannot store all pattern frames in VDP RAM, so I'm pushing them from CPU RAM for each frame. Without music it could run at 30 FPS but the music reduces this to 20 FPS.

     

    The map itself is a diagonal strip, but you can save memory by skewing it so it aligns horizontally, e.g.:

     

    0000004444

    0000333300

    0022220000

    1111000000

     

    You can store as:

     

    11223344??

    ??11223344

     

    So there's nothing actual 3D in this, it's just an illusion. But in a game you *would* have to maintain a map of the 3D locations of each block to make collision detection etc. I wonder how they did this in some of the amazing games that was made for the ZX Spectrum (Gunfright is my favourite):

     

     

    Any ideas how to do this with very limited memory?

     

    Edit: The bass notes in the music are made using periodic noise, but because the MOD2PSG tracker is designed for the SN76489 sound chip I had to lower the frequency by 15/16. What I did was simply to transpose each bass note down 1/2 note which explains why it's slightly off key.


  7. Am I going cross-eyed, or do the colored squares appear to have more than two colors per 8 pixels?

    I know it can't be, but even pausing the video I think I see a transition of white-to-black-to-blue within an 8 pixel area...

     

    Sprites :P


  8. My guess is that you're very close to the 2 frame limit, and it just tips over on the hardware. You can measure the duration of the main loop (excluding the call to VSYNC) in Classic99 using the T(XXXX-YYYY) directive. You can also try to comment out the first line of VSYNC:

    MOVB @VDPSTA,R0 * Clear flag if already set
    

    Edit: My tests show that a loop takes up to 108000 clock cycles. Are you by any chance running Classic99 in 50Hz mode?


  9. The latest beta version with two major new features:

    • Undo/Redo support in the map editor
      Note that this works separately from undo support in the pattern editor, and that the undo history is cleared when you switch to another map.
    • F18A Enhanced Color Mode (ECM) support with a choice between 2 or 3 bits per pixel
      In these modes the color of each pixel can be set independently from a palette of 4 or 8 colors. Each character can be set to use a different palette from a pool of 16 (ECM 2) or 8 (ECM 3) palettes. The colors of the palettes can be changed by double clicking on a color. The only export option that supports ECM modes is 'Assembler Data'. The extra color information is exported as one or two additional bit planes, ready to upload to VDP RAM on an F18A enhanced system.

    This is a beta version so I don't expect everything to work perfectly. More work could be put into preserving the colors when switching color mode. I would also like to add a nice ECM example.

     

     

    magellan-1.9b.zip

    • Like 3

  10. However, I've now added some music. Rasmus, I hope you don't mind that I've copied your music player from "Titanium" and inserted it here... but the music is quite different to that in Titanium. ;-)

     

     

    Very nice, and it's fine that you're using my sound player. At first I thought you were talking about the music player that I use for the opening music, which is Tursi's work.

     

    If you want to add the envelopes and vibrato you need another sound player. You can actually download the music in VGM format (http://www.smspower.org/Music/MarbleMadness-SMS), load it into the MOD2PSG2 player (http://www.smspower.org/Music/Mod2PSG2), and export as a ESPG2MOD file for playback in Tursi's player. The problem here is that the noise generator is different on the Sega than on the TI, so all the bass/noise notes must be adjusted by 15/16, which is a pain to do in the tracker. I think Tursi is also working on a VGM player for the TI that would work directly.

×
×
  • Create New...