Arlasoft Posted September 16, 2022 Share Posted September 16, 2022 (edited) After spending the past few years writing C64 & Fairchild Channel F games, I finally got round to giving the 2600 a go. This is my first attempt so I kept the scope deliberately small and knocked this up over the last few days. It's a bit rough round the edges but I've learned enough from the project in terms of what is possible to begin planning something more ambitious. Currently NTSC only, will add in PAL compatibility and an original tune in the next few days. Instructions and some more rambling here: https://arlagames.itch.io/toptom-2600 Top&Tom.a26 Edited September 16, 2022 by Arlasoft 12 Quote Link to comment Share on other sites More sharing options...
Prizrak Posted September 16, 2022 Share Posted September 16, 2022 @ArlasoftI'll check it out, I'm elated to see you still creating. I follow the C64 stuff you do and happy to see you creating for the 2600. Quote Link to comment Share on other sites More sharing options...
+SpiceWare Posted September 16, 2022 Share Posted September 16, 2022 1 hour ago, Arlasoft said: add in PAL compatibility To get started, do this in constants.asm: NTSC = 0 PAL = 1 COMPILE_VERSION = NTSC ;COMPILE_VERSION = PAL IF COMPILE_VERSION = NTSC BG_COLOR = $1 ; background color TOP_COLOUR = $AA ROAD_COLOUR = $0a logo_color = $40 ELSE BG_COLOR = $1 ; background color TOP_COLOUR = $9A ROAD_COLOUR = $0a logo_color = $60 ENDIF then just change which COMPILE_VERSION line is commented/uncommented to build with different colors. This will generate a PAL60 build. 1 Quote Link to comment Share on other sites More sharing options...
+ZeroPage Homebrew Posted September 17, 2022 Share Posted September 17, 2022 2 hours ago, Arlasoft said: After spending the past few years writing C64 & Fairchild Channel F games, I finally got round to giving the 2600 a go. This is my first attempt so I kept the scope deliberately small and knocked this up over the last few days. It's a bit rough round the edges but I've learned enough from the project in terms of what is possible to begin planning something more ambitious. Very challenging and clever design for movement of the characters, love it! I'll be featuring your game on this coming Tuesday's ZPH stream! - James 2 Quote Link to comment Share on other sites More sharing options...
Thomas Jentzsch Posted September 17, 2022 Share Posted September 17, 2022 (edited) Welcome! I am always happy when people chose to face the very special challenge of the 2600. That you you already have a lot of assembler experience shows. And especially with the C64 (which seems to shine through in the game too), that's my origin too. I really like your game and I hope you stick with us for longer. BTW: Is it just me, or is this game really hard? Edited September 17, 2022 by Thomas Jentzsch Quote Link to comment Share on other sites More sharing options...
Arlasoft Posted September 17, 2022 Author Share Posted September 17, 2022 9 hours ago, SpiceWare said: To get started, do this in constants.asm: NTSC = 0 PAL = 1 COMPILE_VERSION = NTSC ;COMPILE_VERSION = PAL IF COMPILE_VERSION = NTSC BG_COLOR = $1 ; background color TOP_COLOUR = $AA ROAD_COLOUR = $0a logo_color = $40 ELSE BG_COLOR = $1 ; background color TOP_COLOUR = $9A ROAD_COLOUR = $0a logo_color = $60 ENDIF then just change which COMPILE_VERSION line is commented/uncommented to build with different colors. This will generate a PAL60 build. Yeah I've seen that in a lot of the disassemblies I've been studying, just been lazy 1 Quote Link to comment Share on other sites More sharing options...
Arlasoft Posted September 17, 2022 Author Share Posted September 17, 2022 8 hours ago, ZeroPage Homebrew said: Very challenging and clever design for movement of the characters, love it! I'll be featuring your game on this coming Tuesday's ZPH stream! - James Thanks, I'll try and tune in! 1 Quote Link to comment Share on other sites More sharing options...
Arlasoft Posted September 17, 2022 Author Share Posted September 17, 2022 (edited) The only thing I'm not happy with is the P1 obstacle sprites glitching/ghosting on the left side when a double/triple wide sprite moves in from the far right. I mitigated it happening with repeated sprites by spawning them as single and then upgrading to two/three copies as the sprite moves further to the left. Similarly as they leave the screen on the left, they are switched down to 2 and then 1 copies and shifted back to the right by the distance between them. Is there a trick to having expanded or repeated sprites move in smoothly from the right side without ghosting? Edited September 17, 2022 by Arlasoft Quote Link to comment Share on other sites More sharing options...
Thomas Jentzsch Posted September 17, 2022 Share Posted September 17, 2022 (edited) There is (as always) more than one option. You could enable HMOVE blanks for each line. This will hide the first 8 pixel. A bit to similar making the screen narrower for soft scrolling on the C64. Note: This would also work if you decide to go for smooth scrolling. Instead of HMOVE blanks, put a 4 pixel ball on the left or right of the screen (or e.g. 2 pixel left, 2 pixel right). You have to enable PF priority and make the playfield black. For the scrolling effect, just set the background to the current playfield color. You could change the graphics of the sprite copies when they scroll into or off the screen. This is a bit more complicated and needs good timing, but leaves you with the whole screen width. And since you are scrolling in 4 pixel chunks, this should work well here without having to manipulating the width too. Edited September 17, 2022 by Thomas Jentzsch Quote Link to comment Share on other sites More sharing options...
Arlasoft Posted September 17, 2022 Author Share Posted September 17, 2022 7 minutes ago, Thomas Jentzsch said: There is (as always) more than one option. You could enable HMOVE blanks for each line. This will hide the first 8 pixel. A bit to similar making the screen narrower for soft scrolling on the C64. Note: This would also work if you decide to go for smooth scrolling. Instead of HMOVE blanks, put a 4 pixel ball on the left or right of the screen (or e.g. 2 pixel left, 2 pixel right). You have to enable PF priority and make the playfield black. For the scrolling effect, just set the background to the current playfield color. You could change the graphics of the sprite copies when they scroll into or off the screen. This is a bit more complicated and needs good timing, but leaves you with the whole screen width. And since you are scrolling in 4 pixel chunks, this should work well here without having to manipulating the width too. Thanks I'll give it some thought. I need to look into the HMOVE after WSYNC on every line, I tried it and P1 obstacles just glitched horribly so didn't look at it any further - next game I'll build it in from the start. Quote Link to comment Share on other sites More sharing options...
Thomas Jentzsch Posted September 17, 2022 Share Posted September 17, 2022 4 minutes ago, Arlasoft said: Thanks I'll give it some thought. I need to look into the HMOVE after WSYNC on every line, I tried it and P1 obstacles just glitched horribly so didn't look at it any further. You most likely forgot to reset HMP1. Quote Link to comment Share on other sites More sharing options...
+ZeroPage Homebrew Posted September 20, 2022 Share Posted September 20, 2022 ZeroPage Homebrew is playing Top & Tom on tomorrow's stream LIVE on Twitch, hope you can join us! Tue Sep 20, 2022 @ 6PM PT | 9PM ET | 1AM GMT+1Day WATCH LIVE: https://www.twitch.tv/zeropagehomebrew/WATCH LATER: https://youtube.com/zeropagehomebrew/ Games: Alien Holocaust (2022 Exclusive World Premiere | 2600) by Bitnamic Software / Fernando "Bruce" Salvio Fetch (2022 | 2600) by Magic Sky Publishing @MSP Snake Fiasco (2022 WIP | 2600) by Fort Apocalypse @Fort Apocalypse Top & Tom (2022 WIP | 2600) by Nick Sherman @Arlasoft Quote Link to comment Share on other sites More sharing options...
TrekMD Posted September 24, 2022 Share Posted September 24, 2022 This looks like a fun game! Just downloaded it to give it a try. Quote Link to comment Share on other sites More sharing options...
Ecernosoft Posted September 24, 2022 Share Posted September 24, 2022 On 9/16/2022 at 6:05 PM, Arlasoft said: After spending the past few years writing C64 & Fairchild Channel F games, I finally got round to giving the 2600 a go. This is my first attempt so I kept the scope deliberately small and knocked this up over the last few days. It's a bit rough round the edges but I've learned enough from the project in terms of what is possible to begin planning something more ambitious. Currently NTSC only, will add in PAL compatibility and an original tune in the next few days. Instructions and some more rambling here: https://arlagames.itch.io/toptom-2600 Top&Tom.a26 4 kB · 32 downloads That title screen....... 😃 Quote Link to comment Share on other sites More sharing options...
Arlasoft Posted September 24, 2022 Author Share Posted September 24, 2022 1 minute ago, Ecernosoft said: That title screen....... 😃 Unfortunately I haven't found a kernel that can render it yet! When I export it from https://alienbill.com/2600/atari-background-builder/ the image is garbled 😶 Quote Link to comment Share on other sites More sharing options...
Ecernosoft Posted September 24, 2022 Share Posted September 24, 2022 1 minute ago, Arlasoft said: Unfortunately I haven't found a kernel that can render it yet! When I export it from https://alienbill.com/2600/atari-background-builder/ the image is garbled 😶 =( Quote Link to comment Share on other sites More sharing options...
Ecernosoft Posted September 24, 2022 Share Posted September 24, 2022 (edited) But maybe I can make you one! If you want @Arlasoft, I can code you a kernal to do what you want. 😃 Edit: It will be in Assembly language, though. What do you want? Also, you're doing the 40px mode right? Playfeild is only 40 pix and maybe you are trying to render it as if it was a 48 pixel wide player sprite? Can you show me the resulting garbled image? Edited September 24, 2022 by Ecernosoft Quote Link to comment Share on other sites More sharing options...
Arlasoft Posted September 24, 2022 Author Share Posted September 24, 2022 15 minutes ago, Ecernosoft said: But maybe I can make you one! If you want @Arlasoft, I can code you a kernal to do what you want. 😃 Edit: It will be in Assembly language, though. What do you want? Also, you're doing the 40px mode right? Playfeild is only 40 pix and maybe you are trying to render it as if it was a 48 pixel wide player sprite? Can you show me the resulting garbled image? This is the project from atari-background-builder, 48 pixel player, colour per scanline. If I download the generated abb.asm file, and add the appropriate labels/ZP locations, it is either garbled or rolls the screen - can't remember which, the mono version just didn't seem to be updating the sprites in time. Just putting the kids to bed so will show what happens in 8bitworkshop later on. toptom.abb.json Quote Link to comment Share on other sites More sharing options...
Ecernosoft Posted September 24, 2022 Share Posted September 24, 2022 (edited) Huh... picture? Remember, the playfeild is only 40pixels wide. Not 48. Edit: I have no idea what file type that is. Can I run it directly in Javatari or Stella?? Edited September 24, 2022 by Ecernosoft Quote Link to comment Share on other sites More sharing options...
Ecernosoft Posted September 24, 2022 Share Posted September 24, 2022 (edited) 31 minutes ago, Arlasoft said: Just putting the kids to bed so will show what happens in 8bitworkshop later on. Am I Your child? Lol (I'm only 14) Edit: Finally, another person who uses 8bitworkshop! Edited September 24, 2022 by Ecernosoft Quote Link to comment Share on other sites More sharing options...
Arlasoft Posted September 24, 2022 Author Share Posted September 24, 2022 31 minutes ago, Ecernosoft said: Huh... picture? Remember, the playfeild is only 40pixels wide. Not 48. Edit: I have no idea what file type that is. Can I run it directly in Javatari or Stella?? It's a project for this tool, which should theoretically output a 6-sprite kernel for the image: https://alienbill.com/2600/atari-background-builder/ Quote Link to comment Share on other sites More sharing options...
Arlasoft Posted September 24, 2022 Author Share Posted September 24, 2022 This is the .asm file generated by the editor, inserted into a blank project. hmm.asm Quote Link to comment Share on other sites More sharing options...
Ecernosoft Posted September 24, 2022 Share Posted September 24, 2022 1 minute ago, Arlasoft said: This is the .asm file generated by the editor, inserted into a blank project. hmm.asm 12.58 kB · 0 downloads Hold on... are you coding your game in ASM or batari basic? It's brobably bad timing in the kernal. Quote Link to comment Share on other sites More sharing options...
Arlasoft Posted September 24, 2022 Author Share Posted September 24, 2022 Assembly. I've seen this tool working for other people in posts from a few years ago, so I don't know if it was broken since then. Quote Link to comment Share on other sites More sharing options...
Ecernosoft Posted September 24, 2022 Share Posted September 24, 2022 1 minute ago, Arlasoft said: Assembly. I've seen this tool working for other people in posts from a few years ago, so I don't know if it was broken since then. 8bitworkshop still works. 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.