CPUWIZ Posted January 30, 2014 Share Posted January 30, 2014 Hello, on weekends and late at night, I've been working on and off on a "BIOS" for the VersaBoard, which if anything else, will help a lot with debugging. Yes, you read that right, I created a command interface between the 7800 and the PIC. This involved PLD logic, PIC ASM and 7800 ASM. The 7800 uses an extra bit on the bankswitch latch, to latch in the data bit, the PLD monitors a magic address, tells the PIC about it and the PIC picks up the signal and grabs the latched data bit. It then issues a IRQ to the 7800 and does this in handshake for 8bits (size of the commands). Not sure about reading from the PIC yet, but if I get that to work, HEHE! The "GeekPorts" sure are handy, I knew it. They are configured like a breadboard on one side and jumper headers on the other (I used wire wrap sockets). None of the wires in the board are soldered in, except the IRQ line, no way around that. I gotta lay back down for a bit, my back is killing me, I'll be back in a bit for a couple more pics. I will let pictures speak for themselves... 4 Quote Link to comment Share on other sites More sharing options...
DoctorTom Posted January 30, 2014 Share Posted January 30, 2014 Wow, great! If I only had any idea what you just said. 1 Quote Link to comment Share on other sites More sharing options...
CPUWIZ Posted January 30, 2014 Author Share Posted January 30, 2014 Quote Link to comment Share on other sites More sharing options...
+Mitch Posted January 30, 2014 Share Posted January 30, 2014 The "GeekPorts" sure are handy, I knew it. They are configured like a breadboard on one side and jumper headers on the other (I used wire wrap sockets). None of the wires in the board are soldered in, except the IRQ line, no way around that. For the IRQ line maybe you could solder in a short post and wire wrap it. Great work again! Mitch Quote Link to comment Share on other sites More sharing options...
CPUWIZ Posted January 30, 2014 Author Share Posted January 30, 2014 1 Quote Link to comment Share on other sites More sharing options...
CPUWIZ Posted January 30, 2014 Author Share Posted January 30, 2014 Final addition for now, I just had a few minutes to see if my EEPROM/RAM access control works now, looks like it does... 3 Quote Link to comment Share on other sites More sharing options...
Jinks Posted January 30, 2014 Share Posted January 30, 2014 When the earth implodes I am blaming you! Quote Link to comment Share on other sites More sharing options...
CPUWIZ Posted February 3, 2014 Author Share Posted February 3, 2014 Wow, is this really too technical for you guys? I know a couple people got it, but the response has been more than underwhelming. After a late night and a few hours today, I fracking did it! More later, I need to clean some stuff up in the code for all 3 processors. LOL Quote Link to comment Share on other sites More sharing options...
+Random Terrain Posted February 3, 2014 Share Posted February 3, 2014 Wow, is this really too technical for you guys? Yes. When we read your first post, this is what we think it says: "My weekends are full of logic and PCP. I have 7,800 pics of magic monitors. I like all of the geeky handshakes I get when I switch to a new bank." 3 Quote Link to comment Share on other sites More sharing options...
CPUWIZ Posted February 3, 2014 Author Share Posted February 3, 2014 No PCP for me though. 2 Quote Link to comment Share on other sites More sharing options...
gorfcadet Posted February 3, 2014 Share Posted February 3, 2014 Will I dream Dave? I see 256k bankswitching and commands from ram being written to the eprom? I feel so stupid. There looked like some clock cycle manipulation? Did you overclock the 7800 through software? Is this how the Terminators and Skynet take over? It looks very cool... please explain it to me in small words... I'm a graphics guy. 1 Quote Link to comment Share on other sites More sharing options...
CPUWIZ Posted February 3, 2014 Author Share Posted February 3, 2014 Ok, I'll take this step a little slower. This picture shows you the PIC development environment, right after assembling the code, the EEPROM contents are what are programmed onto the chip. This is optional and only for demo purposes. I then take the PIC and put it into the board. Notice memory location 112 ($70) and remember it. Quote Link to comment Share on other sites More sharing options...
CPUWIZ Posted February 3, 2014 Author Share Posted February 3, 2014 Next step, move over to the 7800 code, you can probably sort of figure out what that code is supposed to do, even if you are not a programmer. My comments should be enough, combined with the commands themselves. On the bottom you can see the ROM prepped and ready to roll, next the EEPROM (yes I am using flash for dev, shocking, right?), which is a AM28F020, is programmed. I insert the EEPROM into the board and turn on the power. Quote Link to comment Share on other sites More sharing options...
CPUWIZ Posted February 3, 2014 Author Share Posted February 3, 2014 First thing that happens is nothing exciting at all. Until! I hit the right joystick button and EEPROM location 112 ($7F) is read and displayed on the screen. So what could that possibly mean? Next, I fiddle with the joystick and select command $F0 (Set EEPROM location to 112/$70), I execute it (red flash), then I select command $0F (write one byte), I execute it (red flash), next I fiddle the byte I want to write into place and execute it (red flash), finally, I hit the right joystick button and read from 112 again, see what happened? Forget the rest, just more of the same. Still confusing? 1 Quote Link to comment Share on other sites More sharing options...
CPUWIZ Posted February 3, 2014 Author Share Posted February 3, 2014 1 Quote Link to comment Share on other sites More sharing options...
Wickeycolumbus Posted February 3, 2014 Share Posted February 3, 2014 That's pretty cool! Would have been easier to say that you can now save data with the PIC though, probably still confusing How much EEPROM does that pic have? And I'm sure a different 8 pin PIC could be used if more memory is desired? Quote Link to comment Share on other sites More sharing options...
CPUWIZ Posted February 3, 2014 Author Share Posted February 3, 2014 TADA! It has 128 bytes of EEPROM on board, I do not know of another 8pin PIC that has more. Not only that, but I have a command interface, that can even access the internal RAM of the PIC. Which could be utilized to do some bat-shit stuff, like play melodies on an internal (YES, IN THE CART) piezo speaker (think melodies or sound effects coming out of a greeting card). Nevermind driving LED's or hacked up USB rocket launchers. LOL Also, not all commands are used, custom ones can be created (Hmm, maybe at the beginning of the cart boot, query a serial number? ). The PIC can be code-protected to foil most of the people, trying to make reproductions of homebrews, I would think. Hell, you could code up a receiver and use the programmable IO pins as a terminal output. Or maybe hook up a LCD screen to the cart, that can display memory contents, for instance. 3 Quote Link to comment Share on other sites More sharing options...
AtariFriend Posted February 3, 2014 Share Posted February 3, 2014 Hell, you could code up a receiver and use the programmable IO pins as a terminal output. Or maybe hook up a LCD screen to the cart, that can display memory contents, for instance. Or an LCD where the end label goes that displays the current high score for the game on the cart. 2 Quote Link to comment Share on other sites More sharing options...
Jinks Posted February 3, 2014 Share Posted February 3, 2014 Amazing!! I sure hope these inventions get to be utilized by programmers someday to show their potential on upcoming games. There is lots of possibilities...great work!! 1 Quote Link to comment Share on other sites More sharing options...
gorfcadet Posted February 3, 2014 Share Posted February 3, 2014 An lcd that show the current inventory item or gives hints or a sort of spider sense/danger radar for in game baddie proximity... heck add a port and have it talk to an nes ROB or just run a light show! This really is so cool! 1 Quote Link to comment Share on other sites More sharing options...
Jinks Posted February 3, 2014 Share Posted February 3, 2014 Have it set off an m80 blowing up a rob robot. Revenge. 1 Quote Link to comment Share on other sites More sharing options...
CPUWIZ Posted February 4, 2014 Author Share Posted February 4, 2014 Sorry, been really busy, just got a few. Found a Piezo last night. Hmm. 1 Quote Link to comment Share on other sites More sharing options...
PacManPlus Posted February 4, 2014 Share Posted February 4, 2014 Quote Link to comment Share on other sites More sharing options...
RevEng Posted February 4, 2014 Share Posted February 4, 2014 Very nice! You could also use PWM out from the PIC to the external audio pin, as a pokey alternative. Quote Link to comment Share on other sites More sharing options...
CPUWIZ Posted February 4, 2014 Author Share Posted February 4, 2014 Blair Witch Project 3 (or too much caffeine) 1 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.