gambler172 Posted July 9, 2017 Share Posted July 9, 2017 Hi Smitty played around with it on my Concerto cart.A 2nd joystick works well,but the keyboard....not. I tried the original keyboard,the Star Raiders touchpad and the Kid controller.None of these works.... but the game is great. greetings Walter 2 Quote Link to comment Share on other sites More sharing options...
+SmittyB Posted July 9, 2017 Author Share Posted July 9, 2017 Hi Smitty played around with it on my Concerto cart.A 2nd joystick works well,but the keyboard....not. I tried the original keyboard,the Star Raiders touchpad and the Kid controller.None of these works.... but the game is great. greetings Walter Glad the game itself works nicely on hardware but I guess I'll have to go back to the drawing board with keypad support. Maybe I've just missed something small or maybe it just won't work at all but I'll give it another go. Quote Link to comment Share on other sites More sharing options...
gambler172 Posted July 10, 2017 Share Posted July 10, 2017 Hi Smitty if i had a demo level....testing would be easier. Btw. what should the MAP sign do???? greetings Walter Quote Link to comment Share on other sites More sharing options...
+SmittyB Posted July 10, 2017 Author Share Posted July 10, 2017 The inescapable room directly in front of the start was going to be a level for testing objects and enemies but I haven't really added anything to it yet. The map doesn't do anything yet and I'm not sure exactly how I'm going to implement it. It will show a very basic layout of the current room but I'm not sure if I'll show the entire room or x many tiles around the player. I don't want to give the player an easy way to spot secrets or see how some of the impossible geometry like 720 degree loops and moving rooms will be done. If I have enough memory left then a simple auto-map might work but it would have to be reset when leaving a room. There are a lot of things where if I can, I will. I think I've also fixed the keypad as it looks like I forgot to implement the debouncing timers that I use for different buttons so it was never enabled. I've been doing some work on getting my pause routine working again. It seems to jump into the pause routine and then jump out again if you haven't let go of the button quickly enough. It used to work but I don't know when it broke. I'll get to adding more of the objects, even if they're incomplete, just for people to have a look at and play around with. 1 Quote Link to comment Share on other sites More sharing options...
+SmittyB Posted July 11, 2017 Author Share Posted July 11, 2017 Current version. I've fixed the pausing. It turns out the issue was that I wasn't flipping the screen buffer during the pause routine so it would just speed through the timer and jump out of the loop before I could let go of the key. I think the keypad should be working now, and I've put some more static objects in the room directly ahead of the start including the running boots item which adds to your inventory when you move into the same tile. At the moment a lot of the new objects don't have scaling of any kind and the boots pickup doesn't disappear yet but it's a proof of concept for how items will work. game.bas.a78 game.bas.bin 4 Quote Link to comment Share on other sites More sharing options...
gambler172 Posted July 15, 2017 Share Posted July 15, 2017 Hi Smitty new version looks great..but the keyboard does not work However,if i press SELECT,i can change the Weapons. Hope this helps... greetings Walter Quote Link to comment Share on other sites More sharing options...
+SmittyB Posted July 15, 2017 Author Share Posted July 15, 2017 Curse this keyboard issue, back to the drawing board. I might try copying what I have into a 2600 program (if I can remember how to compile it) to make sure I'm not making some stupid mistake with the assembly. I've rejiggered the way maps are loaded so I don't have to manually specify the data for each object, now I can include objects as part of the map data and preprocess it when the map loads to populate the object lists. I'll still have to specify extra info like which map to load for doors but it will make mapping much smoother. 2 Quote Link to comment Share on other sites More sharing options...
RevEng Posted July 16, 2017 Share Posted July 16, 2017 Hey SmittyB, try disabling 2-button mode on the port you're trying to read the keypad through. At the very least, 7800 2-button mode is going to interfere with INPT4/5. Also be sure you wait 400us after setting the row, before you read the columns. rem disable 2-button mode on 1st joy port... SWCHB=$ff:CTLSWB=$10:SWCHB=$00 rem disable 2-button mode on 2nd joy port... SWCHB=$ff:CTLSWB=$04:SWCHB=$00 1 Quote Link to comment Share on other sites More sharing options...
+SmittyB Posted August 7, 2017 Author Share Posted August 7, 2017 Thanks to the new a7800 branch of MAME I have keypad support working, kinda, sorta. It's now possible to pause the game with a keypad plugged into the second controller port but the pause loop doesn't check the keypad at the moment so you still have to get up and walk over to the console to unpause it. I'm still troubleshooting why the other keys aren't working as I'd expect. Even if it's very partial support at the moment would this be the first 7800 game to support keypads and / or the first to use something other than the standard joystick? Also I've been able to massively improve the way maps are loaded so level design is a lot quicker. The only time consuming bit is that I still have to hardcode which map and location doors go to but that's not too bad. 3 Quote Link to comment Share on other sites More sharing options...
Trebor Posted August 7, 2017 Share Posted August 7, 2017 Even if it's very partial support at the moment would this be the first 7800 game to support keypads and / or the first to use something other than the standard joystick? First 7800 game to support keypads, yes. First to use something other than the standard joysticks, no. Super Circus Atari Age allows joystick, paddles, or driving controllers to be utilized. Crazy Brix can utilize paddles or joystick controls. Of course, there are the original line of games supporting the light gun; however, presumption is those were excluded from the support pool being discussed. 1 Quote Link to comment Share on other sites More sharing options...
+SmittyB Posted August 7, 2017 Author Share Posted August 7, 2017 I forgot about the light gun games even though I own them and the XE gun. I'm glad that I got there first on keypads, I'll try and set the bar high for the improved experience of using one. Quote Link to comment Share on other sites More sharing options...
Jinks Posted August 7, 2017 Share Posted August 7, 2017 I forgot about the light gun games even though I own them and the XE gun. I'm glad that I got there first on keypads, I'll try and set the bar high for the improved experience of using one. I think it is excellent your using the keypad. I have several of them and they are very common as came with star raiders. There has not been any use for them as of late and would be a great option. Heck I feel every one player game should use it for pausing the game, selecting maps/inventory etc.. Quote Link to comment Share on other sites More sharing options...
+Mitch Posted August 8, 2017 Share Posted August 8, 2017 There is the 7800 monitor cart that uses the keypad controllers. Mitch Quote Link to comment Share on other sites More sharing options...
+SmittyB Posted August 8, 2017 Author Share Posted August 8, 2017 I've got the right hand column working perfectly by reading INPT5 but when I try reading INPT3 or INPT2 it acts as if the keys on the other columns are stuck on. Digging through the info I can find my guess is that it's something to do with INPT5 being a latched input and INPT3 and INPT2 being dumped inputs but I don't know how to properly read their values. 1 Quote Link to comment Share on other sites More sharing options...
RevEng Posted August 8, 2017 Share Posted August 8, 2017 INPT4/5 is inverted, with respect to INPT0+1/2+3. In my proto-7800basic driver, I use xor (eor) to invert the state bits that come from those 2 lines. Quote Link to comment Share on other sites More sharing options...
AlyoshaTAS Posted August 12, 2017 Share Posted August 12, 2017 (edited) Very impressive game. I downloaded it to give it a try, but I think there is a small glitch in the HUD. The bottom line of the HUD border is half cut off (I tested both NTSC and PAL just to be sure and got the same result.) BizHawk (the emulator used to capture this image) allows midscanline register changes in MARIA, so you can see effects like this that don't show up in MAME. I'm pretty sure BizHawk is correct here as it also correctly displays the midscanline tests in RevEng's test ROM. Of course maybe the emulator is wrong, but it would be nice to know for sure if someone can confirm on hardware. Edited August 12, 2017 by AlyoshaTAS 2 Quote Link to comment Share on other sites More sharing options...
+SmittyB Posted August 12, 2017 Author Share Posted August 12, 2017 If it is cut off on real hardware then I can easily fix it. I did have a fix in place on a previous build but I must have taken it out. Quote Link to comment Share on other sites More sharing options...
gambler172 Posted August 12, 2017 Share Posted August 12, 2017 Hi Smitty.. to check it out...i Need an actual Version....all Versions....i got here work fine for me on real Hardware. greetings Walter Quote Link to comment Share on other sites More sharing options...
AlyoshaTAS Posted August 12, 2017 Share Posted August 12, 2017 (edited) Hi Smitty.. to check it out...i Need an actual Version....all Versions....i got here work fine for me on real Hardware. greetings Walter I tested with the version attached to post # 130. So if that one displays correctly on hardware then i guess we've got an answer. I don't see how it could though, the game is pretty clearly changing background color midscanline: 5542: 85 STA $24 A:60 X:01 Y:00 P:25 SP:F5 Cy:11143343 nvTbdIzC 5544: A2 LDX #$01 A:60 X:01 Y:00 P:25 SP:F5 Cy:11143358 nvTbdIzC 5546: A0 LDY #$38 A:60 X:01 Y:00 P:25 SP:F5 Cy:11143360 nvTbdIzC 5548: AD LDA $22B0 A:60 X:01 Y:38 P:25 SP:F5 Cy:11143362 nvTbdIzC 554B: 85 STA $20 A:92 X:01 Y:38 P:A5 SP:F5 Cy:11143433 NvTbdIzC 554D: 85 STA $24 A:92 X:01 Y:38 P:A5 SP:F5 Cy:11143436 NvTbdIzC 554F: 88 DEY A:92 X:01 Y:38 P:A5 SP:F5 Cy:11143471 NvTbdIzC Swapping the order of STA $20 and STA $24 would prevent this from happening.... but if it's already not happening on hardware then I'm stumped. EDIT: are the .bin and .a78 different versions? They appear slightly different in hex editor Edited August 12, 2017 by AlyoshaTAS Quote Link to comment Share on other sites More sharing options...
+SmittyB Posted August 13, 2017 Author Share Posted August 13, 2017 So everyone is on the same page here is my current build. I've taken out the old maps in favour of the new map format. What's playable at the moment is a hub area leading to 2 rooms that demonstrate different functions and in each of the 2 test areas is an item to collect. The partial keypad functionality is enabled so items can be selected with the 3 and 6 keys. It is possible to pause with the # key but you still have to unpause with the pause switch. I don't think the issue you're seeing is with the background colour as the black is the background and the white is the foreground for reasons that I don't remember and are probably not relevant anymore. What should be happening is that the background is set to black and the 320A mode is set, then after 64 lines the 160A mode is set (possibly with colour turned off if the game is paused), then the character set is changed, then the background is set for the main screen and so on. So what you're seeing would either have to be a palette change which I'm not doing, or the change in character set but that would mean it's triggering a line and a half early. Below is the relevant bit of code, maybe I'm doing something completely wrong that I'm not seeing. I can always move the change in modes / tiles / colours further down the screen slightly by masking it all with a blackened palette if needed. topscreenroutine BACKGRND=$00 characterset text asm lda #%11001011 sta CTRL sta sCTRL LDY #64 loopBackgroundGradientHUD STA WSYNC DEY BNE loopBackgroundGradientHUD lda paused beq backgroundNotPaused lda #%11011000 ;Paused jmp skipBackgroundNotPaused backgroundNotPaused lda #%01011000 ;Not Paused skipBackgroundNotPaused sta CTRL sta sCTRL end characterset StoneTiles asm STA WSYNC LDX #1 LDY #56 LDA backgroundColour STA BACKGRND loopBackgroundGradientUpper STA WSYNC DEY BNE loopBackgroundGradientUpper game.bas.a78 game.bas.bin 1 Quote Link to comment Share on other sites More sharing options...
Jinks Posted August 13, 2017 Share Posted August 13, 2017 This is amazing!! Keep up the great work!!! 1 Quote Link to comment Share on other sites More sharing options...
RevEng Posted August 13, 2017 Share Posted August 13, 2017 Agreed! So what you're seeing would either have to be a palette change which I'm not doing, or the change in character set but that would mean it's triggering a line and a half early. Not that you have anything to do here (unless this shows on real hardware, which it sounds like it doesn't) but just wanted to highlight that the assembly that AlyoshaTAS was referencing is this bit... asm STA WSYNC ; $24 LDX #1 LDY #56 ; #$38 LDA backgroundColour STA BACKGRND ; $20 loopBackgroundGradientUpper STA WSYNC DEY BNE loopBackgroundGradientUpper 1 Quote Link to comment Share on other sites More sharing options...
AlyoshaTAS Posted August 13, 2017 Share Posted August 13, 2017 (edited) Ok I took another look. I was wrong, what I'm seeing is the midscanline change in read mode when writing to the CTRL register: 552F: A9 LDA #$58 A:CB X:00 Y:00 P:27 SP:F5 Cy:25054346 nvTbdIZC 5531: 85 STA $3C A:58 X:00 Y:00 P:25 SP:F5 Cy:25054348 nvTbdIzC So, if this doesn't show up on hardware, then I guess read mode is latched at the time the first pixel is rendered and kept for the entire scanline (unlike background color which is known to be able to change at any time.) Good to know! (and sorry for the confusion) Also cool game! Edited August 13, 2017 by AlyoshaTAS 2 Quote Link to comment Share on other sites More sharing options...
gambler172 Posted August 13, 2017 Share Posted August 13, 2017 Hi Smitty looksreally gteat...but the keypad But when finding the sword i can select the weapon with the SELECT key on my 7800 system. I also can pause the game with PAUSE key on the system. The keypad does not work. greetings Walter Quote Link to comment Share on other sites More sharing options...
+SmittyB Posted September 11, 2017 Author Share Posted September 11, 2017 Seeing as I haven't posted anything in a while here's a short update to prove I'm still working on this. I've redone the dynamic lighting so it doesn't slow the game down when it's dark, and the walls have a minimum brightness so that you can still navigate in complete darkness. I've added torches that can be toggled to change the light level in the area. Redrawn the cultist graphics so they look pretty good. Worked out some issue with the maps so mapmaking is about as straightforward as it's going to get. I'm currently working on the AI. At the moment I have cultists able to chase after the player and wander in search of them if the player escapes their sight. Even though the wandering doesn't work exactly how I want it to one of the test cultists was still able to ambush me from a side corridor and startle me so that's a good sign. 3 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.