We're using cookies to ensure you get the best experience on our website. More info
Understood
@dogpRegistered July 25, 2003Active 7 years, 2 months ago
1,461 Replies made

That would make an awesome creepy night light… I’ve noticed if you take a picture with a flash near a VB, the eyes REALLY glow… looks totally creepy. I’ll have to paste a link to a Gauntlet arcade game I was selling that had a VB in the background… looks awesome 🙂 .

DogP

Yeah, a laser display wouldn’t work to well unless you had 224 of them sweeping left to right (it’s raster, not vector, like VirtualZoa said)… laser displays are controlled like a vector monitor (and there’s actually LaserMAME, which lets you play vector games on a laser display: http://www.nightlase.com.au/lasermame/ ).

You did just give me a great idea though… I sometimes go to auctions, and a lot of times there’s a box of 100 laser pointers that goes for pretty cheap ($20 or so)… I could get 224 of them, make a huge laser bar, make an adapter from the VB display to the lasers, and control the sweeping with the mirror controller… probably need shutter glasses or something to have 3D though… but that would be TOTALLY sweet 🙂 . Never gonna happen though 😛 .

DogP

Nice! 🙂

DogP

LOL! Well you know I always release my code… well, I never keep any code private at least 😛 … I guess I don’t always actually get around to posting it out there without someone asking for it 😉 .

Not sure about skins/OS… feel free to do whatever you want for that… right now I’ve got no graphics on the VB side, just a red screen when the VB boots, and the PC side is a console app 😛 . If you want to make a GUI or a cool VB side app, feel free 😉 .

DogP

Hey,

Just an update, I’ve been working on an app to connect to the VB from the parallel port to the link port… right now it has 5 options… read memory (any memory location, including dumping ROMs and SRAM), write memory (again, any location, including SRAM), erase flash (waits for flash erased signal), write flash (self explanatory 😛 ), and execute instruction (I’ve been using this to execute the app by jumping to the reset vector, but could be used for seeing how the hardware reacts to an instruction, or jumping to some memory location in a retail ROM by hot-swapping). The whole VB side runs from WRAM, so this allows hot-swapping carts and of course to actually still work when the flash chips are erased.

About performance… I wrote a whole retail ROM in about 2 minutes, and most of my homebrew games in several seconds… since erasing the chips makes the flash all 0xFFFF, consecutive 0xFFFF’s are skipped, which GREATLY speeds things up. I also verified the flash w/ my Willem and there were no errors, but I’m still going to (re)add CRC32 checks.

So, my next thing to do is (re)add CRC32 checks, then probably block erase so if there’s a bad flash, I can just erase the single block instead of the whole chip… if I see errors are more common I’ll copy to memory first, CRC32 check, then write to flash, but I’d rather not if it’s pretty uncommon. After that I’ll probably get it so you can write small apps to WRAM and execute from there instead of having to flash every time, but of course there’s only 512kbit of WRAM (and you still need room for variables 😉 ), so it’s pretty limited. I’d like to add a debugger, especially one that is activated by a link interrupt that can be executed from a retail game, but I doubt I’ll get to that anytime soon 😛 .

I’ve also made a link loader in ASM that only takes up 48 bytes… of course 16 bytes for the reset vector, then 32 more bytes in one of the unused vectors. If I can chop out another 2 bytes somewhere, I can add a longer jump to get the 32 bytes in the game ID section… but then of course you still need another 16 bytes immediately after that for the original reset vector, or add another jump at the end (so the game will execute normally if there’s no app sent). I haven’t tested this, or even assembled it, but it looks like it should work 🙂 .

Anyone else have any specific things they’d like added? Of course I can’t guarantee they’ll be added, but if it’s doable, I can try 😉 .

DogP

That’s awesome! That’s FireWSP’s system, correct? I thought that had the different pinout and only played the prototype carts (like Space Pinball)? If not, that’s probably later than the early protos used at CES ’95/Shoshinkai ’94.

DogP

Yeah, I know… it was weird, all of our sites went down, then David’s site came back from the dead! Hopefully we can all get our sites back and active one of these days and VB dev will get moving again 🙂 .

DogP

Heh… those are both homebrewn games that I’ve made… the only way to play them is on a (well, 2) development cart(s) (flash/EPROM).

You can download them here: http://www.vr32.de/modules/games/index.php?type=homebrewn&sec=main .

DogP

TicTacToe and 3D Battlesnake 🙂 . Heh… unfortunately none of the official games support the link cable 🙁 .

DogP

That’d be cool! I don’t think I’d want to be the one starting it… adding all of the known info, but I’d be glad to add stuff to it 😛 .

DogP

Same here… and when you’re typing the reply message, it’s kinda hard to read too 😛 .

DogP

Ah… cool! I was wondering if that’s what you doing…

DogP

6×2? How does that work?

DogP

Yeah, 5 1/4″ cables should work, but they’re a lot thicker, so you wouldn’t really be able to have any plastic on the outside. I’ve been able to make one out of two female USB connectors (epoxied together), but with those there’s no sides, and I’m not really sure of the best way to add sides that will actually stay on :P.

DogP

Yeah, I don’t have any extras of those AV cables, and last time I looked for them (locally) I couldn’t find any for under $15 🙁 . I could probably order them, but I’m not too worried about it ATM since I’ve already hacked my personal one w/ an RJ45 connector.

I was thinking about the sector protection (mine don’t have the “boot block”), but then you’d have to do a sector by sector erase, not a chip erase (which AFAIK will abort if all blocks aren’t unprotected)… and if you want to upgrade it later, you wouldn’t be able to do it from the VB, since that requires Vid=12V. I haven’t looked into this for all chips, so it may be different for some of the x16 chips…

DogP

Any way for it to keep you logged in?

DogP

Cool… making a cable for the link port itself IMO is going to be the hardest part of this whole thing. When you’re ready to mess with it, drop me an email (virtual.boy – comcast.net) and I’ll send you some code that I’ve been working on.

Also, I was able to directly port: http://www.st.com/stonline/books/pdf/docs/6887.pdf , and it works great (just have to change the ID since I’m using AMD instead of ST) and write a small driver main(), but I’m rewriting just the useful stuff in macros and in the main program since this is going to have to run in RAM, and I don’t feel like keeping track of seperate functions in RAM 😛 . Plus there’s extra stuff just wasting space.

DogP

Ah… cool… I didn’t see that demo in the homebrew section… I’ll try it out when I get home 🙂 .

DogP

Yeah, direct screen drawing is fairly simple… I’ve written a few demos, I think they’re available on this site… Etch a Sketch, 3D Battlesnake, and I think a few small simple tests. I also wrote some line drawing functions, which should be in the libgccvb included with those. The drawing itself is very simple, the trick to using it well is in the control regs (screen refresh, writing to the back buffer, etc).

DogP

Well, I haven’t really started “making” carts, but yeah… I’m trying to contact a few people that I’ve already promised carts to so I can see how many I’ll have left over. Of course I should have at least a few extras left over.

DogP