Tempest is possible
-
- Posts: 1488
- Joined: Mon Feb 11, 2013 8:08 am
- Location: Brisbane, Australia
Re: Tempest is possible
How do you feel about fixed memory locations for the buffers?
Thats a bonus 3 clocks.
Also there is a decision reshuffle there that could save another 2or 3 clocks I think. Not in front of PC so will have to check that one later.
Thats a bonus 3 clocks.
Also there is a decision reshuffle there that could save another 2or 3 clocks I think. Not in front of PC so will have to check that one later.
-
- Posts: 1488
- Joined: Mon Feb 11, 2013 8:08 am
- Location: Brisbane, Australia
Re: Tempest is possible
Oh. And obviously you have a free odd/even scanline counter that could be used to alternate between TX and RX code.
(bit 0 of R10)
(bit 0 of R10)
Re: Tempest is possible
This,I think it's a good idea but I'm not sure if it could work with an idea directly related to this. I am begging that the kernel gets an additional small feature which looks like this:CunningFellow wrote:How do you feel about fixed memory locations for the buffers?
Code: Select all
//videoMode3.c->ProcessSprites()
//...
bt=vram[ramPtr];
if( (bt>=RAM_TILES_COUNT) && (free_tile_index < [b]max_ram_tiles[/b] ){ //RAM_TILES_COUNT) ){
//tile is mapped to flash. Copy it to next free RAM tile.
//if no ram free ignore tile
ram_tiles_restore[free_tile_index].addr=ramPtr;
//...
-
- Posts: 1488
- Joined: Mon Feb 11, 2013 8:08 am
- Location: Brisbane, Australia
Re: Tempest is possible
D3athAdd3r, Do you (and anyone else finding RAM limited) already do all the usual things like using unions/structures and bit packing to make the most of what is available?
Re: Tempest is possible
Yes definitely. I a little for Alter Ego, but for games that are really pushing it like Lolo I pack it to the max and also use parts of the kernel I dont need like sprites_tiles_banks[1..3] and multiplex stuff when feasible.
Re: Tempest is possible
Relocating variable/memory sections is a PITA so we should avoid it as much as possible. Mode 3 with scrolling uses it because the gains were so great. So we could always piggyback the buffer at the end of VRAM for mode 3 since it's already aligned at 0x100.How do you feel about fixed memory locations for the buffers?
Interestingly, I had done pretty much that I think when I did LoadRunner. It allowed the user to control the maximum ramtile index the kernel can allocate. It allowed me to blit stuff manually in ramtiles and guarantee that the kernel would leave them alone. The scrolling background, among other, was done with that. It was never included in the kernel since I thought I had lost this code just after completing the game. But I found it on my old WinXP machine. I remember that back then, I thought this user_ram_tile thing would be too confusing for most and would take time to document and explain...having to create pointers to ramtiles buffer sections on demand in not for the novices.I am begging that the kernel gets an additional small feature which looks like this:
if( (bt>=RAM_TILES_COUNT) && (free_tile_index < max_ram_tiles ){ //RAM_TILES_COUNT) ){
Code: Select all
if( (bt>=(RAM_TILES_COUNT-user_ram_tile_count)) && (free_tile_index < (RAM_TILES_COUNT-user_ram_tile_count)) ){
//tile is mapped to flash. Copy it to next free RAM tile.
//if no ram free ignore tile
ram_tiles_restore[free_tile_index].addr=ramPtr;
ram_tiles_restore[free_tile_index].tileIndex=bt;
if(user_ram_tile_count == 0){
CopyTileToRam(bt,free_tile_index);
}else{
if(bt<RAM_TILES_COUNT){
CopyRamTile(bt,free_tile_index);
}else{
CopyTileToRam(bt,free_tile_index);
}
ps: we should open another thread for this discussion.
-
- Posts: 1488
- Joined: Mon Feb 11, 2013 8:08 am
- Location: Brisbane, Australia
Re: Tempest is possible
I just spent several days chasing down bugs with the function-pointer thing.CunningFellow wrote:Changed the way collision actions work (now using function pointers) which makes adding extra enemies easier.
Its all sorted. I'll do a new release of T2K this weekend that looks a bit more polished.
Might even try squeeze in a title screen if Alec/Uze has some music for me.
Re: Tempest is possible
I didn't spent all that time on that song to see it go to waste! I'll convert it for your this week.Might even try squeeze in a title screen if Alec/Uze has some music for me.
Re: Tempest is possible
This will be cool to see the new progress. Did you ever get the "jump out towards screen" thing working?
-
- Posts: 1488
- Joined: Mon Feb 11, 2013 8:08 am
- Location: Brisbane, Australia
Re: Tempest is possible
Have not got jump going yet. Maybe this weekend when I am doing the title screen. They both need me to work in Qt.
I have been bug hunting a lot in the last few weeks and also polishing things.
Spent far too much time and effort in getting the flippers looking just right in their movement. Seems a bit silly spending a lot of time on that, but flippers are so big a part of the game.
I did go a bit mad with function pointers. They are used a LOT and it has made adding/extending things a lot easier. Can fully recommend people get that tool in their belt for any games/projects that handle a lot of different types of objects.
I have been bug hunting a lot in the last few weeks and also polishing things.
Spent far too much time and effort in getting the flippers looking just right in their movement. Seems a bit silly spending a lot of time on that, but flippers are so big a part of the game.
I did go a bit mad with function pointers. They are used a LOT and it has made adding/extending things a lot easier. Can fully recommend people get that tool in their belt for any games/projects that handle a lot of different types of objects.