Search the Community
Showing results for tags 'koffi yellow kopter'.
-
Updated 10/12/20 with the results, see bottom. I'm running out of ROM memory with the new code I'm adding for the 2-player mode of the game. Koffi: Yellow Kopter was programmed in 32k back in 2002. It seemed like a huge amount of ROM at the time, so I didn't try much to keep things small. There ended up being huge graphics tables and repetitive code routines, just because that was easiest to do. Also, before I finished Koffi, I used up as much remaining memory as I could. Over summer 2020, I went back and rewrote several routines, and I've ditched the original game's credits / names text and freed up 1k or 2k. I thought this would be enough to add some fun new stuff, but I'm once again running low on ROM space, so I am now rewriting the routines/data tables which are the biggest ROM wastes: those that create the image of the Trees. Stage 1 Mountain Valley's Tree / leaves graphics take up 1,000 bytes originally. But most of the bytes are the value of $55. I am now trying to store a big rectangular block of $55's (no need to code these into the ROM now) programmatically, and then just have left-edge and right-edge tables to provide the more rounded tree details. To illustrate, an original code section: ;************ Draw Leaves Layer2 ****************** ; RWL 2001 lda #<leaves2 sta Ptr1 lda #>leaves2 sta Ptr1+1 lda #$32 ;row 4 starts at $3208 sta $81 lda #$08 sta $80 jsr CommonMVTreeDrawLoop ; rewritten as common routine RWL 072520, saved hundreds of bytes Using data tables like this one: leaves2 .byte $15,$55,$55,$55,$55,$55,$55,$55,$55,$55,$55,$55,$55,$55,$55 ;line 7 .byte $55,$55,$55,$55,$55,$55,$55,$55,$55,$50 ; ; .byte $55,$55,$55,$55,$55,$55,$55,$55,$55,$55,$55,$55,$55,$55,$55 ;line 8 .byte $55,$55,$55,$55,$55,$55,$55,$55,$55,$50 ; ; .byte $55,$55,$55,$55,$55,$55,$55,$55,$55,$55,$55,$55,$55,$55,$55 ;line 9 .byte $55,$55,$55,$55,$55,$55,$55,$54,$55,$50 ; ; .byte $55,$55,$55,$55,$55,$55,$55,$55,$55,$55,$55,$55,$55,$55,$55 ;line 10 .byte $55,$55,$55,$55,$55,$55,$55,$51,$15,$54 ; ; .byte $55,$55,$55,$55,$55,$55,$55,$55,$55,$55,$55,$55,$55,$55,$55 ;line 11 .byte $55,$55,$55,$55,$55,$55,$55,$55,$55,$54 ; ; .byte $55,$55,$55,$55,$55,$55,$55,$55,$55,$55,$55,$55,$55,$55,$55 ;line 12 .byte $55,$55,$55,$55,$55,$55,$55,$55,$55,$54 ; ; See all those $55 values? A compression routine would also reduce ROM needs, I could compress these tables and expand them into screen RAM directly. But I'm not wanting to add a compress/decompress routine to this game this late in the game, which would take up some ROM itself anyway. So, I'm reducing these tables with my own custom draw routines. 10/12/2020 Monday night. Results: Success! I got the same basic tree image but at a cost of about 640 bytes less! prior Blog entries: https://atariage.com/forums/blogs/entry/16854-koffi-redux-2020-part-2/ https://atariage.com/forums/blogs/entry/16763-koffi-2020/
-
- 1
-
- homebrew
- atari 5200
-
(and 1 more)
Tagged with:
-
In July 2020 I and sat down at my home-brewing desk and started to play around with tweaking my 2002 Atari 5200 homebrew, Koffi: Yellow Kopter. I have had notes about doing a 2nd Koffi game since 2002 when I finished the first one, but it seems ever more unlikely I'll devote time to do a whole new sequel with all the ideas I'd planned. So, I decided to play around with the original, add a few game play tweaks, some new visual details, fix a few bugs, and add a new 2-Player co-op mode. Some of my first changes are listed at an earlier blog entry: https://atariage.com/forums/blogs/entry/16763-koffi-2020/ As I started to experiment and add fruits, more colors, 2-Player code and other things, what it turned into was a serious need to reclaim some more ROM memory. And OH THE HORROR of some of my old code! Koffi was a 32K game, which seems like plenty of ROM for a game like this, but it fills up. And in 2002 I was new at 6502 ASM codeing and learning, so I did several routines burning more ROM memory than I needed. And I had tried to fill in all the 32K memory just for the principle of using it all, thus the original game had a lengthy Credits with people's names at Game Over. For this version, I axed all that. I reviewed several screen-drawing routines that were basically the same code, so I consolidated most of these to use tables and parameters and to call a common subroutine. Same deal with the BuildRainDrops / EraseRainDrops (which use the 5200s' missiles) - I consolidated 6 of these subroutine to be consolidated table-driven loops rather than 6 lengthy individual subroutines which all basically did 90% the same thing. Between these two categories I freed up about 700 more bytes in the past week, so that should be enough to finish 2-player mode and add some more interrupts and colors. Here are some WIP pictures. I hope to accomplish a few more dramatic visual changes, but it depends on free memory and if adding too much logic affects the gameplay. For this version, I kept Koffi's "Koloring Book" mode, where you press the #5 key and then can use *, 0, and # keys (at the bottom of the 5200 controller) to change the colors of 16 different categories on screen. And I added 3-character text descriptions to each of the 'categories', for example CL1 is Cloud Color 1, Tr1 / Tr2/ Tr3 are Tree colors 1/2/3, and so on. In the 5200 original, it just showed the hex value 0 through F. 2 Player Mode is starting to work. You toggle it on the Title Screen by pressing the #0 key. It is understandably glitchy for now, until I modify ALL the collision and Points logic to handle 2 players. To get 2 Kopters on-screen, I took Koffi's original Player0 and Player 1 (which gave him multi colors) and devoted Player0 to the first kopter, Player1 to the 2nd. If the first Kopter is named Koffi, then I guess the second Kopter will be named Toffi.
-
- 1
-
- atari 5200
- koffi yellow kopter
-
(and 1 more)
Tagged with: