Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Sprybug last won the day on June 6

Sprybug had the most liked content!

Community Reputation

1,158 Excellent

1 Follower

About Sprybug

  • Rank
  • Birthday 08/01/1976

Contact / Social Media

Profile Information

  • Gender
  • Location
    Magog, QC Canada
  • Interests
    Professional Character Animator

Recent Profile Visitors

17,447 profile views
  1. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ That did it! So, their site is broken! XD Thank you so much, I hope people trying to get this program find this thread so they'll be able to get it and not go insane trying to find it somewhere else!
  2. Thanks, but I tried that one last night. It just links to the original place. There's another one I found that does the same thing too. I find it odd, how difficult it is to find a program to develop the logic for a JEDEC file to program a GAL with, when people still use them. Thanks for the template though. If I ever get my hands on WinCupl, I'll be sure to take a look at it.
  3. Hey guys, I'm currently working on a hardware project that requires some address decoding and I was going to use a GAL to do the decoding. I ended up purchasing some GAL16v8's because it's all I need. It's really just some simple decoding, and thought it would be better to go this route instead of using 3 or 4 74 series logic chips to do it. Easier to have it all in one package. I already have an EPROM programmers that's capable of programming GALs, so I went to get some software to be able to create a JEDEC file. This is where I start running into problems. All signs seem to lead that I should get WinCupl for the task, but it doesn't seem like it's available any longer. I went to Microchip's site to get it. They have the page where you can download it. You click it and nothing happens. I've looked all over the web for an alternative download, and I can't find one. I'm kind of stuck at the moment. Does anyone happen to have a copy or know where an active link to WinCupl is? Any help would be great, thank you!
  4. Interesting idea. How would you work out the 3 dimensionality of the game being that it'll be top down? Would you only be able to dig once in a spot since you wouldn't be able to see the depths that you are going into?
  5. These were songs I wrote 20+ years ago using ModPlug Tracker. Still have the files. When in a tracking program, you know how the sequence is all laid out, and you can visually see the timing, notes, effects, tracks, etc. Makes it easy to see it and then just be able to take that and covert it to what you do in the program data because it's sequential as well. Of course though, you're just limited to two tracks (and notes) on the Atari, so a lot of adjustments need to be made. I know I even transposed a few of the songs in a different key because of missing notes.
  6. Thank you Gemintronic, that did it! I looked at the thread you linked, and it seems I ran across it myself 7 years ago. XD You definitely help save this project of mine that's been going on for years! It's interesting that it works fine with Princess Rescue without the modification, but didn't with Robot Zed. Really weird. I'm making notes now for people who helped me along the way, so that everyone gets credit for it. I'm curious what the point of discharging the capacitors accomplishes and why it might be necessary for games that don't use INPT1.
  7. This is very interesting information. That site you linked is terrific BTW. Definitely favorited! This makes me wonder if one of my kernel options automatically sets that bit on, and if so, I wonder why. Time for some more experimenting! Now I know where to focus my debugging and lets see what happens when I change my kernel options. Something tells me to try turning off my background kernel option. If that's it, then it makes me wonder why batari sets that bit high when you have background colors enabled as it doesn't seem like you would need to have that bit set. I do need that option for what I am doing in this game, and I wonder if there would be a way to override what batari is doing and force that bit to stay low.
  8. I have such a weird problem that was just boggled my mind. If anyone can help, that would be great. So, in Robot Zed, I have Genesis Controller support because it's a game that really needs 2 buttons to be able to play it without it being awkward. I've used the Genesis C Button, INPT1{7} in the past before on Princess Rescue and that worked just great. I basically did the same thing with Robot Zed, but this time it's acting like you are holding down the C button and never letting go. I ran a bunch of different test code to see if I can "unstuck" this, and nothing has worked. I even tried a little inline assembly! The funny thing is, the alternate shooting button if you don't have a Genesis controller is Joystick up, and that works perfectly fine. Note: Genesis_Controller is a defined bit (g{7}). Early in the code it detects a Genesis controller with if INPT1{7} then Genesis_Controller=1 else Genesis_Controller=0 Then when it gets to the part that deals checking the controls for shooting, I do this: if Genesis_Controller then GenButton if !joy0up then Zed_Shoot=0 : Shoot_Debounce=0 if joy0up && bally=Reset_Object && !Shoot_Debounce then gosub ZedFire bank6 goto EndControlCheck GenButton if INPT{7} then Zed_Shoot=0 : Shoot_Debounce=0 if !INPT{7} && bally=Reset_Object && !Shoot_Debounce then gosub ZedFire bank6 EndControlCheck Same code for up if you don't have a Gen controller as you do for C button if you do have a Gen controller. Up works great. C button acts like it's stuck. It'll shoot once, and that's it (while the zedshoot sprite stays). As a test, I changed the code to decrease sc0 on INPT{7} and increase on !INPT{7} Example: GenButton if INPT{7} then sc0=sc0-$01 if !INPT{7} then sc0=sc0+$01 sc0 only increases. Like if it's stuck. I'm not even pressing the C button. This is done through the Stella BTW, and yes it is detecting the Genesis controller automatically. James tried it on the real machine and the same thing happens. I even thought to bypass Batari completely and did a touch of inline to read directly from the INPT1 register. GenButton asm lda $001A sta $00EB end if x{7} then Zed_Shoot=0 : Shoot_Debounce=0 if !x{7} && bally=Reset_Object && !Shoot_Debounce then gosub ZedFire bank6 EndControlCheck $00EB of course being the variable x in the memory map. SAME RESULT. Now I thought, well maybe it's the version of Batari I'm compiling with. So I compiled my old Princess Rescue with it....AND IT WORKED FINE. I really don't know what else to do! Any help would be greatly appreciated!
  9. Yeah, if you'd like. Do you have the previous version of Zed (25) where the Genesis Controller is enabled? What's going on is, it's acting as if the c button is stuck, which means it is going to the GenButton routine. I've never run into this before and it almost feels like this is a bug with Batari and not with my code. I recompiled my old Princess Rescue game with the version of batari I am using and it worked fine on that.
  10. In batari you can define bits too. Like for example dim Extra_Bits = g and then def Enemy_Direction = Extra_Bits{0} def Ball_Direction = Extra_Bits{1} def Missile_Direction = Extra_Bits{2} def No_Scroll=Extra_Bits{3} def Zed_Turn = Extra_Bits{4} def RetOTBank = Extra_Bits{5} def Temp_Bit=Extra_Bits{6} def Genesis_Controller = Extra_Bits{7} If you want to take a look at the code, you're welcome, but it's a 64K code and a lot of it will probably be confusing, as I don't tend to comment on my code as I work. I actually make notes in separate text files on specific things for the game and where in the code it happens, etc. You can PM(DM) me if you'd like.
  11. The Genesis_Controller is a a defined bit g{7}. I do have one bit currently that isn't being used that I called CP_Debounce for when you change your power, but I decided if you hold down on down and the jump button, to have it cycle through your powers instead of one at a time. I might change this if people find that it changes too quickly and then decide to actually implement that bit to stop it from doing this. For now, I just tap the button if I want to change it once and since the power change takes nearly a second to do, then it shouldn't be an issue if you just want to change it once. It would free that bit up but I would need two. One for the soundtrack toggle and one for the sound effect toggle. I have a lot of defined bits, defined nibbles, and defined variables. I pretty much used every avenue available to me to squeeze the most memory I could for this. In fact for the boss battle, I ended up reusing variables that were used to keep track of the level information since I didn't need them anymore for the boss battle. It allowed me to have the boss do more than the average enemy. You'll notice this too in the other boss battles. You'll see it in Ice Land where the ice will fall from the ceiling after the Boss lands a jump for example. If those TIA sound registers were read/write capable, I could use them as a storage check. Like for example, if I put a 5 in AUDC0, a value I never use for that, then I could use that as a way to make it act as a state, since otherwise it would never be that value, but unfortunately TIA registers are rather read or write. I also tried your suggestion and it didn't change anything, I had another thing that I tried that was a shot in the dark that didn't work either. That bit doesn't get changed either after it is set to 1 or 0 and the beginning. I did a search through my entire code for both Genesis_Controller, g, and g{7} and nothing interacts with that bit other than the Genesis Controller routine. I did at one point clear the g variable when you started a level, but I changed that thinking maybe that had something to do with it, but all it did was put you back in regular control mode, which James experienced.
  12. Thanks for letting me know about the music/sound effect toggling issues. This is something I'm going to have to revisit on how I'm tackling it. I don't have any flags/bits set for it and rely only on the switches themselves to toggle it, since I really didn't have any more bits to spare. Well if there's no way to compare what it was before if you switch a toggle switch in the middle of the game, then I can't tell it make certain adjustments since it doesn't know if it was on/off before. I may make it that you have to have them set at the beginning and then not switch it after if I am going to do this, or else it's going to do what you are experiencing. So far now, just not mess with that and decide if you're going to have music and sound effects on or off. I may end up having to remove this option in the future, if I can't find a few extra bits to reserve for this option.
  13. Yeah it's worth a shot, because I'm not sure what else to try. I'll try a few things after work and if it works out, I'll quickly send it over to James in time for the show. I omit the goto on short jumps because it saves on cycle time and/or ROM space, and on a project like this, every tiny bit helps!
  14. Any help would be appreciated. I looked throughout the rest of the code and there's nothing that else checks for the up/fire button other than the main menu when you press up, so I don't know what's going on. Early in the code it checks and sets the bit if INPT1{7} then Genesis_Controller=1 else Genesis_Controller=0 Later on in the controller check section I do this if Genesis_Controller then GenButton if !joy0up then Zed_Shoot=0 : Shoot_Debounce=0 if joy0up && bally=Reset_Object && !Shoot_Debounce then gosub ZedFire bank6 goto EndControlCheck GenButton if INPT1{7} then Zed_Shoot=0 : Shoot_Debounce=0 if !INPT1{7} && bally=Reset_Object && !Shoot_Debounce then gosub ZedFire bank6 EndControlCheck joyup works just fine, however the exact same checks for button C just makes it act like your fire button is stuck. Also, INPT1{7} works in reverse. When it is high, it is not pressed, and when it is low, it is pressed.
  15. Hey James, thanks for all your feedback and testing for me to let me know what was going on with my scan line count. I've done some work tonight. I fixed the scan line count on the autoscroll and the no music freezing on the boss should be fixed too. Couldn't fix the Genesis Controller problem for now. It's a tiny part of the code, and I've stared at it so long, I can't see why it's not working. It's programmed in almost the same way that Princess Rescue was programmed for it. It doesn't make any sense to me. I'm going to take a look at it this weekend and see if I can figure out. Maybe I can get some help with it. It just makes absolutely no sense why it's acting stuck. It did work when I demo'd it for PRGE, so I don't know why it's not now. So for now, I've disabled it, and you play it just like you would a regular atari controller where up is fire. As for the jump and scroll, I found that it also happens when falling or just in the air in general during screen scrolling. There's a lot more conditional checks going on for the area around you to know if you're going to land, hit the ceiling, a wall, etc, and that's adding to the cycle time. I cleaned it up a touch and even took out a line of redundant code that wasn't needed anymore. It's better now, but it still goes to 263 here and there. I haven't seen it go above 263 since these changes. I'm really close to getting it within parameters. A few more goes at those routines should do the trick. I'll give that another look through this weekend, but for now it's better than it was, so here you go! Hopefully, even with the occasional 263 line count, it'll play nice with your capture. RobotZed_26.bas.bin
  • Create New...