Jump to content

undeadmechanic

Members
  • Posts

    51
  • Joined

  • Last visited

Everything posted by undeadmechanic

  1. I actually started a hardware build to do just this. I was able to get 100% functionality on 3 btn controllers. I could read A, B, C, and start. http://atariage.com/forums/topic/259881-sega-genesis-3-and-6-button-controller-project/ I never did finish the 6btn version, though. Life stuff. I'll get back to it one day. :/
  2. Ugh. They won't ship to the US. :/
  3. Where did you find that header? I haven't run across one yet. All I have found is males... :/
  4. And here it is. The back side of the proto board is coated with plastidip to prevent shorts and to stiffen up and secure the wiring a bit. As I said earlier, I used an old 40 wire IDE cable that did not have pin 20 blocked off. I decided to go this route because I had no luck locating a female 90 degree 40 pin header. I figured even if I did find one, I was probably going to run into the same problem you did with clearance issues. It's not the best looking setup, but it works, and the cover goes on.
  5. Sure, but it's probably not as elegant as you think... I'll take a pic of it in the drive in a bit.
  6. Uh, maybe? I mean, it's not really complicated. Print out the schematics of the Indus, specifically the J3 connector pins, and the pinout diagrams of the 628128 and 74LS155 ICs and get started soldering wires. I used sockets for the ICs and a double row bulk header that you snap off to desired length. Just remember that everything is reversed since you're soldering on the back side of the prototype board. I can probably supply you with more detailed instructions when I get home from work tomorrow.
  7. Well, I'm no engineer... I have built a few projects of my own design, and can read the schematics, I have just never noticed this before. I just finished building my own Sramcharger last night, tested and working. I built it on a prototype board with a 40 pin header and an old, OLD(!) 40 wire IDE cable that didn't have pin 20 plugged off. After assembly, I dunked it in plastidip, let it cure, and tucked it into the rear of the drive. I bought enough parts to build two for less than 20 bucks. If you're handy with a soldering iron, you can do the same.
  8. I was just curious why they weren't shown. I was leaning towards an oversight, but I am unfamiliar with Eagle editor. Thanks.
  9. Er, I meant to say that Vss and Vcc on the 74155 do not show to be connected to anything.
  10. Trub, on your page, the 628128 version of the SRAMCharger shows Vcc and Vss not connected to anything. Is this correct?
  11. Not quite, lol. I have some ideas regarding that. While I was playing around with it last night, I discovered that I'm still facing the same problem as before... my select pulses perfectly match the output of a real Genesis, but original 6btns refuse to respond. I have a cheap YOBO knockoff that works perfectly for some reason. This requires more investigation. So close...
  12. Just had my eureka moment with the oscilloscope! I finally found my second lead for it and was able to monitor the select line and the UP/Z line at the same time to see exactly what was happening. This is with nothing pressed. One long low pulse gets the state of the A and Start buttons, followed by two quick low pulses. On the third low pulse, the UP line goes low as the controller acknowledges the "secret knock". Then, the select line is set high. Since nothing is pressed, the UP line goes high the instant the select line goes high. Now, this is with Z pressed. Same thing as before, but on the third low pulse, the UP line stays low when the select line goes high. It stays low until the select line is pulled low one last time to return the controller to it's normal state. THAT is the instant the controller reports the state of X/Y/Z/M! Now to bang it out.
  13. Here is the basic diagram for 3 button controllers. The only things in this circuit are a 74LS32 OR gate, 4 diodes, and a male and female DB9 jack. This will also work with a 6 btn, but it will only be able to read it as a 3 btn. Feel free to laugh at my diagram, this is my first attempt at drawing out a circuit. I laid this out in a mental image when I built the first one. I've got to draw out the V2 interface, but I'm not done with the driver yet, so no hurry. Also, please remember that I am a mechanic with LOADS of experience with electronics (and releasing magic smoke), but I am most definitely not an engineer. I've just been tinkering with Ataris since I was about 6 years old.
  14. Ok, here is the first version that is 100% functional with 3 btn controllers. It does not have any functions in it for 6 btn though. That's still to come. This ATR has MyDOS, the Mac/65 Source and binary, and "BTNREAD.BAS". The BASIC program just displays the button values for testing purposes. Now I've got to draw up the circuit diagrams to share. I'm getting there, guys! Genesis Controller.atr Genesis Controller Driver Source.txt
  15. My mom made a surprise visit tonight, so didn't get very much done. I restored full 3btn function to my driver and realized that I'm an idiot in the process. No point in using PADDL4 as a register for the start button when I can use PADDL1, since it's on the same damn joystick port... :/ Cleaned up the code a bit & temporarily removed 6btn polling from the PWM output driver until I polish the 3btn function to perfection. Sadly, my AspeQt machine seems to have died this evening. Was going to post the current code until that happened. Also, I acquired an MIO and SCSI2SD since the last time I was messing with this and I absolutely love it. Soooooo much faster.
  16. Tonight's' progress report: Rewrote the section that gets the status of the Start and A buttons. I decided that instead of using a memory location somewhere inside my program space, I would just stuff the values into the shadow registers for STRIG2 and PADDL4 since they are unused on the XL/XE, and it has the added bonus of working with STRIG(2) and PADDLE(4) commands in BASIC for quick testing. And I remember now why I said this.... I'll have to redo that part tomorrow. Time for bed.
  17. This is what I wound up with last night before I went to bed. Genesis VS 800 XL... Aside from a 1.4 volt difference due to some trickery with a resistor, it's pretty dang close. I got it to within 0.5 microseconds of the Genesis timing. Here's the code thus far: 10 ; Sega Genesis 6 Button Controller 20 ; Driver v0.1 30 .OPT OBJ 40 PACTL = $D302 50 PORTA = $D300 60 *= $0600 70 INIT PLA 80 LDY # <VBI 90 LDX # >VBI 0100 LDA #$07 0110 JSR $E45C 0120 LDA #$38 0130 STA PACTL 0140 LDA #$FF 0150 STA PORTA 0160 LDA #$3C 0170 STA PACTL 0180 RTS 0190 VBI 0200 LDX #$00 0210 LDY #$FF 0220 STX PORTA 0230 JSR WAIT 0240 STY PORTA 0250 NOP 0260 NOP 0270 NOP 0280 NOP 0290 STX PORTA 0300 JSR WAIT2 0310 STY PORTA 0320 NOP 0330 NOP 0340 NOP 0350 NOP 0360 STX PORTA 0370 JSR WAIT2 0380 STY PORTA 0390 NOP 0400 NOP 0410 NOP 0420 NOP 0430 STX PORTA 0440 JSR WAIT 0450 STY PORTA 0460 JMP $E462 0470 WAIT LDA DELAY 0480 STA LOOP 0490 COUNT DEC LOOP 0500 BNE COUNT 0510 RTS 0520 WAIT2 RTS 0550 LOOP 0560 *= *+1 0570 DELAY .BYTE $01 It's ugly and unrefined, but it was only to get the timing as close as possible to the Genesis. I don't know what happened to it, but I had a more advanced driver than this somewhere and misplaced the ATR file since I worked on this last. Oh well, not the first time I've started over.
  18. Genesis output from Super Street Fighter 2 Atari output from my VBI routine All the proof I needed right there. Time for a little tweaking.
  19. After a long intermission, I am back to work on my Genesis/Megadrive 3/6btn interface and driver for the A8s.

  20. Ok, guys. This project got put on hold for a while, but not cancelled. I was working for a towing company when I started this and I had very little free time. When I did manage to get a day off, I was usually on call... You can imagine how that usually went. I changed jobs recently, and now I work M-F, 8-5. After getting caught up on the more pressing things on the to-do list (read: "Honey-Do"), I am back on the case. I went digging through my stuff and pulled out all of my old Sega gear and hooked up my Sega CDX to the oscilloscope. This is from Super Street Fighter 2. It's been a minute (almost a year) since I was tinkering with this last, but I think I wasn't completing the secret knock correctly. Here, it's a long low select pulse, followed by 2 short pulses, and the final long pulse. More to come. Now I've got to clear the desk and reconnect my 800XL. Sorry for the delay, guys.
  21. That is exactly what I needed and that is how I thought it was wired. The diagrams I have seen just didn't have the resistor values listed. I guess the reason why was because Atari provided them as a preformed kit to the service centers. BTW: That's wired in parallel, not series. I'm using the official Atari service guide for it. As I said above, the parts list gives the quantity and value of the resistors, but not the individual positions in the circuit. Kinda goofy. Thanks, guys.
  22. Necro bump, sorry... I have all the pieces necessary to mod my 5200 4 port to get the VCS adapter to work, but I cannot determine where the 3.3kohm resistor goes in that god awful mess. The diagrams that I have seen all refer to them as r1, r2, r3. I'm guessing that the 3.3k is paired with the capacitor, but I really want to be certain before I hook up this kludge... Thanks.
  23. I have a brand new complete 1050 mech that I could part with.
  24. Well, I finally found the time to sit down and fiddle with it and the problem(s) were due to my inexperience with the MIO, SD, and the fact that I never changed the scsi2sd back to 512b/s... I was still in 256. Problem solved, MIO is working beautifully with my 800XL now and everything is lovely. Now I just need to figure out why my 130XE seems to hate it.
  25. I've tried it both ways, and MyDOS doesn't seem to care if it's 256 or 512 b/s, it just uses the first half and carries on blissfully ignorant of the remainder. I REALLY want to get SDX working so I can get 32MB partitions, among a host of other reasons.
×
×
  • Create New...