Jump to content

johnnywc

+AtariAge Subscriber
  • Content Count

    2,579
  • Joined

  • Last visited

  • Days Won

    6

Everything posted by johnnywc

  1. I check the reviews every couple of weeks; it's always nice when a new one pops up. Lady Bug turns 15 next year and just got a new review (29!) as well as Mappy and Galagon, but I can't read them yet either. I think @Albert has fallen behind in his review approvals... what does that guy do all day!?!?
  2. That looks really cool! Do you plan on selling those or is the project a one off?
  3. That algorithm is really cool! Unfortunately we're not using the DPC+, just plain ol' TIA. DPC+ requires you update the DPC chip every scanline and unfortunately the kernels in Robotron don't have any more free cycles to do that. I guess we could try to update the TIA registers twice a frame, but I think that would take a ton of ROM for the sounds and we're already at maximum cycle usage just to run the game as is, so we're probably stuck with single-update TIA sounds. Thanks for the insight! I'll take a look at the animations more closely and see about syncing them with movement instead of being constant.
  4. I tried 10K and 4.7K, and they both work without issue with regular Atari joysticks. However, the circuit doesn't work with Genesis controllers with these values (they work fine at 100K). I tested with a game of Robotron and the response seemed fine to me at 100K, but I'll have to do more thorough testing to see if the delay (if any) is acceptable. Any idea why the Genesis controllers would work fine at 100K but not at 10K and less? I just have the 4 directions, button and ground hooked up (no Vcc) to the joysticks. We would definitely want people to be able to use their Genesis controllers though the adapter so getting them to work would be recommended. They do work at 100K; unfortunately I don't have any resistors between 10K and 100K, but I think I could just connect a few 10Ks in series to find out what the minimum value that would allow the Genesis controllers to work also. That may be an option too; could a Schmitt trigger be used in conjunction with the 4053? Hmm that's interesting. I can certainly try it in the demo test ROM I have, but it's tough to measure whether the responsiveness will be better as it's pretty good now. Unfortunately Galagon and WoW Arcade are already released with DUMP_PORTS being disabled at the end of VBLANK and enabled at the start of overscan (reversed), but I could certainly make the change for newer games if it turns out to be a better solution (and make sure it's backwards compatible with Galagon & WoW).
  5. I had a loose resistor lying around (100K) and it fixed the switching issue, thanks for the suggestion! So, Good news: The circuit works great, very simple and inexpensive (2 chips and 1 resistor) Bad news: there is very little sparkle effect sometimes. It's hard to tell because the picture I have on RF is pretty bad to begin with (with no Quadtari plugged in). Actually, the picture *improves* slightly when I plug in the QuadTari, but there is very slight sparkling effect sometimes when both joysticks are moved at the same time (a good test is to hammer on both buttons and a few white dots will appear). I tested with my multi-tap test ROM with switching disabled and with switching slowed down to 2 seconds and there was no change in the interference (very very little in all cases). I also tested with the release candidates for Wizard of Wor Arcade and Galagon and both worked without issue and with little or no interference. As usual, there is no interference on video modded systems. There is no sparkling effect if joysticks/buttons are pressed. In my opinion I think this is a major step forward, thank you everyone! If there are any suggestions on how the sparkles could be reduced that would be great.
  6. Hello ZB, I personally like the 7800 sounds but agree they can probably be improved upon. I'm using them for the demo out of necessity (I don't have the talent nor ability to make decent sounds for the 2600) and right now there is no plan as to what sounds will be used in the final release (planned for early 2021). If anybody wants to volunteer to spice up or redo the sounds, send me a PM. I would certainly appreciate it! Good point and suggestion! I'll take a closer look at the arcade and will try to more closely mimic the clunky movement.
  7. I do have a pull up resistor on the select line; I hope I hooked it up correctly. It's actually a resistor network I had used in the previous design; I have the pin with the dot on it on +5V, I connect the select line from Pin 9 of the Atari on one side and then a wire on the other side that goes directly to the select lines of the 4053. I'm not sure what the resistance value is; is there any particular value I should try? I'm pretty sure the RN is 1M but it may be 100K; I'm not sure how to tell. Do I need pull up resistors on the joystick inputs or the outputs to the Atari? Any measurements I can take with the multimeter that may help? Thanks!
  8. Well, I was able to get the circuit hooked up and did some testing, and it is a mixed bag. Good news: there doesn't seem to be any interference Bad news: the switching doesn't seem to work I did several tests: Test 1: a normal test where the switching is done twice a frame: in Overscan, I set DUMP_PORTS to 1 (read joystick 2) in Vertical Blank, I read joystick 2 (DUMP_PORTS=1) I then set DUMP_PORTS to 0 when drawing the screen (end of VBLANK) at the end of drawing the screen, I read joystick 1 (DUMP_PORTS=0) Goto 4 Result: FAILED I checked the multimeter and Pin 9 from the Atari is always read as low (it's tough to get a reading since it is bouncing from high to low each frame) As a result, Joystick 1 controls both players (Joystick 2 is never active) Interference: none Test 2: I modified my test program so I can disable the switching (set left diff to A) and manually set the DUMP_PORTS with right difficulty (A = 1, B = 0) Result: PASSED When switching is disabled and DUMP_PORTS is manually set, the circuit behaves as expected. When the right diff is B, Joystick A is active. When right diff is A, Joystick B is active Interference: none Test 3: I further modified my test program so I can slow down the switching to once every 2 seconds by setting the Color/BW switch to BW. In this case, DUMP_PORTS is set to high for 2 seconds (for the entire frame) and then set to low for the entire frame (for another 2 seconds), repeat. Result: PASSED When switching is slowed down to once every 2 seconds, for 2 seconds Joystick 1 is active and then for the next two seconds Joystick 2 is active, as expected. Interference: none Any ideas? It seems that maybe the analog solution isn't fast enough to handle multiple switches per frame? I can do more tests to see what the threshold is (ie. right now it's switching every 128 frames; I could try 64, 32, 16, etc. to see when the circuit recognizes the switch long enough to enable the other joystick. However, for a real solution I think it would need to support switching twice per frame as the other solutions, or at a minimum 1 controller read each frame (ie. read Joystick 1 on frame 0, Joystick 2 on frame 1, etc.). Any help is appreciated! Thanks, John
  9. Okay, I picked up a couple 4053BE muxs and 4011 inverters as recommended above, but I'm having trouble wiring this thing up. 😕 I don't think I completely understand how the 4053BE works; perhaps it's different than the 4053 in the jmux design? From the spec sheet: Pin Functions CD4053B PIN I/O DESCRIPTION NO. NAME 1 BY IN/OUT I/O B channel Y in/out 2 BX IN/OUT I/O B channel X in/out 3 CY IN/OUT I/O C channel Y in/out 4 CX OR CY OUT/IN I/O C common out/in 5 CX IN/OUT I/O C channel X in/out 6 INH I Disables all channels. See Table 1. 7 VEE — Negative power input 8 VSS — Ground 9 C I Channel select C. See Table 1. 10 B I Channel select B. See Table 1. 11 A I Channel select A. See Table 1. 12 AX IN/OUT I/O A channel X in/out 13 AY IN/OUT I/O A channel Y in/out 14 AX OR AY OUT/IN I/O A common out/in 15 BX OR BY OUT/IN I/O B common out/in 16 VDD — Positive power input According to the design: I looks like this is saying to hook up +5V to INH (pin 6) of the muxs but the datasheet seems to say that if this is enabled, all channels are disabled. Shouldn't this be wired to ground, unless I'm misunderstanding how the INH pin works, but looking at the truth table in the datasheet it looks like if this is 1 all of your selects are don't care. Also, I assume I need to hook up pin 8 to ground? Also, do I need to hook up +5V to pin 7 (Vee, negative power input) or pin 16 (Vdd, positive power input)? What's the difference? I assume the way the muxs work is that you hook up an input from one joystick to one of the channel inputs, the input from the other joystick to the other channel input, and based on the select pin, it will choose one or the other (that makes sense to me). However, it looks like the select line from the Atari (pin 5), half of the inputs are wired up to the select lines of one mux, but the inverse is wired up to the other select lines of the other mux. Shouldn't it simply be connecting the select line to A,B,C for both muxs since we want the 6 values passed through for x0,y0,z0 or x1, y1, z1 depending on the value of the select line? I'm not sure why there is a need for the 4011 inverter? Shouldn't inverting the select line (which is controlled in software for pin 5) control the output of the muxs? Apologies in advance if some of these questions are basic; I appreciate any assistance! Thanks, John PS Do I need pull up resistors on any of the inputs or the outputs?
  10. Excellent work Nathan! People are gonna look at this and ask "how much more white can this be?", and the answer is "none. none more white".
  11. Sounds good, thanks! I'll pick up some of these then: Mfr. Part # CD4053BE Mouser Part # 595-CD4053BE Another silly question; the 4011N that looks like a NAND gate; any idea what chip that is? I did a search on mouser and 4011 only brings up push buttons. 😕 Can I use some of the NAND gates that I purchased before? https://www.mouser.com/ProductDetail/595-SN74HC03N Lastly, I notice there are no pull-up resistors on this design; are they needed? Thanks! John
  12. Thanks! That link brings up 12 results (much better than the 1000's I was looking thru ); can you recommend a specific one? Hmmm, that's something I could try. Yes, I agree that an external power supply isn't the best solution especially if a solution exists that doesn't need it. The design with the Schmitt trigger is a bit overwhelming to me since I don't have a background in electronics so I'm trying other alternatives that may be more up my alley before attempting it.
  13. Well, it's been about 5 months and I'm finally finding some time to try to get this QuadTari finished. 😕 Demand has ramped up since I announced Champ Games' port of Robotron: 2084 for the 2600, which is best played with 2 sticks (and would use the other port for the AtariVox for saving high scores), along with the release of Wizard of Wor Arcade (2 player simultaneous with AtariVox for speech/high scores) and Galagon(Galaga) with co-op mode and AtariVox high scores. I want to give the analog solution recommended above by @Danjovic a try since that seems more in the realm of my hardware abilities; I went on Mouser but can't seem to find any suitable through-hole 4053N alternatives. Can someone recommend one that would be suitable for this solution? Here's a link to my search on Mouser. Any help is appreciated! If this doesn't work, I'll give the Schmitt trigger version recommended by @ChildOfCv. Thanks, John PS After reviewing the thread, I noticed at one point I had tested the NAND gate solution with Vcc disconnected and it worked (not sure how) without any interference. I know running the circuit without Vcc is not a good solution, but what if an external Vcc was provided (not from pin 7 of the Atari but from a power supply similar to the one powering the Atari). Would that potentially remove the interference since there would be no power draw over the controller ports? Just an idea but thought I would mention it to see if this seems like a possibility or is a bad idea.
  14. Does anybody know if you can hook up an Xbox 360 controller to the Retron 77 using the USB wireless dongle? I've gotten it to work on Retropie but was wondering if anybody had tried this... it would be a great way to play Robotron on the big screen!
  15. I put that in on purpose to see who would watch the entire video. Congratulations, you all passed the test! Seriously though; it look like this only happens on wave 10 with the larger electrodes so it probably has something to do with that. I'll make sure it's fixed for the next demo!
  16. I agree, I don't think inserting/removing a Savekey/Avox will be a viable solution. 😕
  17. Not exactly. It is using an ARM processor to do a lot of the data processing and game logic, but that is done during vblank and overscan (when the screen is not being drawn). The VCS still needs to draw the screen and is limited to 76 CPU cycles per line and can only use VCS registers (low resolution playfield, 2 player sprites, 2 missile sprites and 1 ball sprite). So, in short, it is using both CPUs.
  18. this is only for the full version since the demo version goes back to wave 5 after wave 9.
  19. Great score! What do you mean by "add an extra digit"? It already displays scores for 1 million + (it just hides the rank). It will actually display up to 99,999,999 if you can get that high. Novice is meant to be a bit easier than Standard and Advanced (all waves have 50% less enemies than Advanced and 25% less than Standard). In the full version, of course it contains more enemies for waves 10 - 40 like the arcade, and starting at wave 41 in Novice the # of enemies increases to Standard level, and from wave 61 on the # increases to Advanced, so it will get much tougher. I am currently working on adding in pursuit logic to the cruise missiles which will make the brain levels more challenging too. It should be noted that there is a bug in the current demo; in my haste the Advanced level incorrectly has 25% less enemies than it should. I will post a new demo soon that has this fixed. Agreed, 2 joysticks is the way to go! I personally use 2 WICO ball joysticks. Hmm, that's possible, especially if you're on the far left or far right of the screen. Since the PF color is changed 2 twice on that line, it's possible that the PF color is black for a little bit before it switches over to the color of the grunts and electrodes (the timing isn't perfect). The missiles are drawn with the PF and ball. I'll take a look and see if I can recreate the issue. I see your point; I can look into how this might be accomplished. Thanks for the suggestions!
  20. First playable demo for Robotron: 2084 for the 2600! 

     

     

    1. Zoyous

      Zoyous

      That is seriously impressive!

    2. GoldLeader

      GoldLeader

      Incredibly well done!!!   Amazing to see stuff that "can't be done" get done!!

    3. H.E.R.O.

      H.E.R.O.

      Thank you, Johnny.

    4. Show next comments  21 more
  21. Thanks! You need to enable Phosphor effect (Alt-P) before taking the screen shot since the text is displayed using the 96-pixel interlaced routine (1/2 the text on alternating frames). Hope that helps!
  22. Thanks! Hmmm, I'm not sure - can you kill multiple grunts with one shot in the arcade? If so, I can easily change this. Yes - I spent the least amount of time on the brain waves so it's truly a work in progress. Some things that I'm working on to improve this level: Add in special wave-intro sound with brains and grunts "materializing" in like the arcade Add in trails to the humanoids once they are turned into progs Add in logic to the cruise missile so it pursues your player. Right now it's moving around randomly. Add in cruise missile animation when it changes direction (similar to the arcade) On level 10, 20, etc. add in double-wide electrodes (possibly with "84" displayed as well). In the arcade it displays "2084" but since 2600 pixels are double wide, this would be a good compromise. Thanks for the feedback! John
  23. EDIT: The most updated ROMs can be found in this post. Hello all, As some of you may have heard, the Champ Games secret project was revealed this week on @ZeroPage Homebrew's Twitch stream - Robotron: 2084 for the 2600! Object: The object of Robotron is to guide your player around the screen and save the last human family (dad, mom, & Mikey) while avoiding a vast array of enemies, including: The Grunts robots constantly pursue your player and speed up as the wave progresses The Hulks roam around aimlessly and are indestructible, and will destroy the humanoids if they come in contact with them. The Sphereoids are circular enemies that fly around the borders of the screen, launching Enforcers. Enforcers will pursue your player and fire a steady stream of Spark missiles towards you. Brain Robotrons will wander around the screen searching for humanoids to program into deadly Progs. Brains will also fire Cruise missiles that must be avoided. Quarks move around in erratic patterns and spawn Tank Robotrons. Tank Robotrons will purse your player and fire bouncing Bombs that ricochet off the walls making them difficult to avoid. Electrodes are scattered throughout the level and are deadly to the touch; however, they will also destroy Grunts if they collide with them also. Control: Robotron supports multiple control schemes: 1 joystick with no autofire (left difficultly on B) In this mode, use the left joystick to move your player and press the button to fire in the current direction. You can continually fire in one direction by holding down the joystick button and move in another direction. To fire in a different direction, release the button and move in the new direction you wish to fire and then press the button. To fire in place (fire without moving), center the joystick and hold down the button. You can then fire in any direction by moving the joystick in that direction (your player will not move). Release the button to move your player. If you have a Genesis controller connected, you can press the second button to fire backwards (opposite direction that your player is currently firing). 1 joystick with autofire (left difficulty on A) This is similar to the no-autofire mode except your player automatically fires in the current direction (no need to press the button) To change the fire direction, press the button and move the joystick to the new direction. Release the button to continually fire in the new direction. You can also "fire in place" by centering the joystick and pressing and holding the button. In this mode, you must fire by moving the controller in the direction you wish to fire (your player will not move). Note that your player will not fire if the button is held down and the joystick is centered. If you have a Genesis controller connected, you can press the second button to fire backwards (opposite direction that your player is currently firing). 2 joystick (prefered) If you have 2 joysticks, you can use the left joystick to move your player and the right joystick to fire, just like the arcade. There is no special settings that need to be done to enable 2 joystick mode since the buttons aren't used. Note that you can also play a co-op game by having one player move and the other player fire! Game Play: From the title screen, move the joystick left or right to select the skill level. Note that your player's helmet will match the color of the skill level: Novice (green): 5 lives to start. 1/2 of the enemies from the Advanced level. Less enforcers and tanks are spawned. Grunts move slower. Standard (blue): 4 lives to start. 3/4 of the enemies from the Advanced level. Advanced (red): 3 lives to start. # of enemies on each level match the arcade. More enforcers and tanks are spawned than Standard. Grunts move faster. Bonus lives are awarded every 25,000 points. Game Over: Your game ends when all your reserves have been destroyed. If you obtain a high score, the high score entry screen will be displayed for the current skill level. Move the joystick up/down to select the characters to enter and press the button when finished. Note that Savekey support is currently not supported so high scores will be reset when the game is turned off. Credits: Special thanks to Nathan Strum who did all the graphics for the game and all the game testing and assisted with the design. It should also be noted that the sounds have been "borrowed" from the 7800 version of Robotron, which was developed by David Brown. We are currently trying to reach Mr. Brown to obtain his permission to include his sounds in this game. Current State: We estimate the game to be about 80% done. Due to other projects, a release is not expected until early 2021. Here is a playable demo if you would like to download it and give it a try. It works on real hardware (recommended), the latest version of Stella and Stellerator, and will also work on the Retron77 with the latest community build. It will *not* work on the Flashback Portable. robotron_20200516_demo1_NTSC.bin robotron_20200516_demo1_PAL60.bin The demo is fully playable with the following restrictions: When the player competes Wave 9, the game will wrap back to Wave 5. In the release version, all 40 unique waves will be included and up to 99 waves will be playable. There is currently no SaveKey support in the game (this has been disabled) but it will be available in the final version. Any feedback is appreciated. Have fun! John
  24. Wow, that sounds pretty detailed! Lol we probably don't need Ruth as a pitcher but I do agree that having one fun player added to each team would be cool. Great thanks! I need to figure out a balance between sim and arcade so it's not too overwhelming for casual players, so I don't expect things to be as fine-grained as EWB did it (they had a lot of attributes and even different hitting stats for vs R and vs L, etc.). I'll send you a PM and we can start working out some of the details.
  25. I don't think there are any haters out there, just non-ARM developers trying to educate people on the differences between ARM and non-ARM development to promote an appreciation for both. Congratulations! When you're ready to take the dive, there are a ton of resources here on AA that would be glad to get you up and programming!
×
×
  • Create New...