Jump to content
IGNORED

VersaBoard PIC BIOS W.I.P.


CPUWIZ

Recommended Posts

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! :P

 

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...

VBPICBIOS.png

MPLABBefore.JPG

VersaBoardPICBIOS.JPG

  • Like 4
Link to comment
Share on other sites

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. :evil:

 

Great work again!

 

Mitch

Link to comment
Share on other sites

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

 

jump.gif

Link to comment
Share on other sites

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."

  • Like 3
Link to comment
Share on other sites

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.

  • Like 1
Link to comment
Share on other sites

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. ;)

VBPICBIOS3.png

Link to comment
Share on other sites

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.

 

 

VBPICBIOS4.png

Link to comment
Share on other sites

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?

  • Like 1
Link to comment
Share on other sites

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? :ponder: ). 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. :cool:

  • Like 3
Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...