Jump to content
IGNORED

A7800x


A7800x v5 for the Xbox Released!  

11 members have voted

  1. 1. Which xbox emu should I work on next?

    • Z26x (2600)
      0
    • Mednafen (Lynx)
      1
    • WinstonX (Atari ST)
      2
    • OdysseyX
      1
    • BlissX (Intellivision)
      1
    • KegsX (Apple II)
      2
    • AdamX (Colecovision)
      4

  • Please sign in to vote in this poll.

Recommended Posts

Off topic, so please excuse me, but I thought more xbox people would see it here.

1- which is the best Colecovision emulator?

2-Is Daphne X any good?

3-Anyone got any DaphneX discs they want to let me "borrow"?

 

Thanks

Link to comment
Share on other sites

1. As far as I know AdamX

2. From what I remember it was fine.

3. You could always get them from here.

 

The daphne mpegs are ratio free and can be used to build up a ratio if you are interested in downloading other stuff there. The Dragon's Lair, Space Ace and others can be downloaded as well, as long as you have an original Dragon's Lair DVD to "authenticate" them with. There may be other options as well.

 

If you do use them I would recommend setting aside a good amount of space so the stuff can sit there while your ratio builds up. :)

Link to comment
Share on other sites

1. As far as I know AdamX

2. From what I remember it was fine.

3. You could always get them from here.

 

The daphne mpegs are ratio free and can be used to build up a ratio if you are interested in downloading other stuff there. The Dragon's Lair, Space Ace and others can be downloaded as well, as long as you have an original Dragon's Lair DVD to "authenticate" them with. There may be other options as well.

 

If you do use them I would recommend setting aside a good amount of space so the stuff can sit there while your ratio builds up. :)

Thanks, shame I got a permanent ban from that site, my uploads are severely choked by my isp :(

Link to comment
Share on other sites

There is a small possibility, depending on how long ago it happened, that you were unbanned. They had a big discussion on why people get banned (considering the large torrent sizes, understandable) and that is when they came up with the free ratio torrents.

 

Download the free ratio torrent and you are not penalized for the download, but any uploads you provide with that torrent are counted towards your ratio.

 

Back when they implemented that. I download the more popular ones (like mame romsets) and built myself up a pretty decent ratio. Although it took a huge amount of my hard drive space to do that..

 

I need to update my daphne stuff as well. I actually had all that stuff on my xbox a handful of years ago, but the hard drive crapped out and I never really restored it to the way it was. It was a bit of a downer to put all that work into it and have it die like that. :lol:

Link to comment
Share on other sites

Off topic, so please excuse me, but I thought more xbox people would see it here.

1- which is the best Colecovision emulator?

2-Is Daphne X any good?

3-Anyone got any DaphneX discs they want to let me "borrow"?

 

Thanks

 

1. AdamX (v.3)

2. It rocks. That being said it pretty much only rocks at Space Ace, Dragons Lair (v1.0, 1.2, and 1.2) , and Dragons Lair 2. Astron Belt works fine too as far as I can tell. While a number of other laserdisc games work, I've had some issues here and there with them. One issue I have with Daphne-X is apparently Cobra Command (my favorite laserdisc game) used to work in an earlier version but doesn't in the last one... bah.

3. If you're looking for mpegs they get uploaded to usenet pretty often. I might be able to put em up somewhere if ya really want them..

Link to comment
Share on other sites

ok. Well I added the stick 2 mapping in. So all one needs to do with robotron is to go into the "configuration->controller configuration->controller 1->change joypad mappings->change game mappings" and assign Joy2_up/down/left/right to the appropriate buttons.

 

It seems the joysticks can be mapped to the analog stick. So if you wish you can map the stick one to the left analog stick and stick two to the right analog stick. Be sure to also go into the "configuration->controller configuration->controller 1->change joypad mappings->UI mappings" and UNMAP the "sfx volume up/down, bgm volume up/down" or you will find yourself changing the volume of the emulation and/or music. :lol: Believe it or not I think at one point x-port emu's did not allow this which is why it didn't even cross my mind.

 

I made it so if for some reason a second person picks up the 2nd controller and decides to help out that it will still work but if controller one is mapped to stick 2 it wins by default.

 

I also tweaked around some more with the save/load state some more. As well as modifying rewind so it saves every other frame (might increase this). I'm not sure if this really helps with the sound getting staticy or not yet so I may change this in the future.

 

Really the only thing to do next is implement all the little niceities that I put in atarixlbox (aka commonfuncs) into a7800x and then I'll probably give you all one to test.

 

Might have to make a new rule too. No signing up just so you can play dual stick robotron, you have to participate. :lol: ;) :P

Edited by Shannon
Link to comment
Share on other sites

In case anyone didn't notice I pretty much implemented all the commonfuncs changes I made in atarixlbox into a7800x, although I realized today that I missed a couple things. :lol:

 

Well I created code that should allow me to implement the prosystem.dat (database) file into a7800x. Hopefully everything will compile correctly when I get around to trying it. It doesn't really do much except grab the region (pal/ntsc) and cart type data. This will make files without a header playable (as long as they are in the database).

 

It doesn't really do anything with the "flags" parameter. I'd love to do that as well but MESS code is pretty confusing so I wouldn't really know how to squeeze it in. It's mostly related to cycle counting. I'm not sure how much, if any, cycle counting MESS does.

 

It will also pop-up a nice little dialog box telling you that the ROM will not work, if it has no header and is not found in the database.

 

I also noticed that a7800x does not really take into account the "region" byte of a ROM so it always runs in NTSC mode. I'm gonna fix that, but I do not have any PAL carts that I know of..

 

Anyone have any PAL 7800 carts?

Edited by Shannon
Link to comment
Share on other sites

Yeah, just attach everything you got, if you could please? That way I can keep an eye out for anomolies. :lol:

 

Well I compiled the code and it seems to be functioning ok. One thing that kinda confuses me though is the prosystem.dat file does not really have any entries for the homebrews/hacks out there. So I was wondering how you all handle that? Do you add entries yourself? It looks like if Prosystem does not find an header or an entry in the database it just assumes the carttype is 0?

 

The way I setup a7800x to read the prosystem database gives me some ideas for a replacement for the current configuration "lookup" system of atarixlbox.

 

Of course this brings up another question. Since the region is embedded in the cart header, or listed in the database. Should I have a7800x automagically change the palette to mess-pal?

 

Anyways I'm not sure if I have a whole lot of "headerless" ROMS as well (for the commercial titles). So if someone could send some my way, that'd be great!

Edited by Shannon
Link to comment
Share on other sites

Well I just snooped around my hard drives and dont seem to have any 7800 files that are in .bin or PAL format. I vaguely remember running across commercial games that were in .bin format (no header). But maybe that was my over active imagination. :lol:

 

Nevermind. I found a torrent with PAL files...

Edited by Shannon
Link to comment
Share on other sites

Well I just snooped around my hard drives and dont seem to have any 7800 files that are in .bin or PAL format. I vaguely remember running across commercial games that were in .bin format (no header). But maybe that was my over active imagination. :lol:

 

Nevermind. I found a torrent with PAL files...

or try http://www.atari7800.org/bin.htm

Link to comment
Share on other sites

ok. I'm a little confused now. I'm having a little trouble understanding the purpose of the prosystem "database" file in relation to using .bin files.

 

I see no entries in the database for games typically released as .bin files (homebrews/demo's) so I'm guessing the database is used for reading headerless commercial ROMS? There are also flags for certain ROMs that the emu uses. Not sure if it reads this from the database when a cart has a header. I'll have to look again.

 

So really I see no use in using the database for a7800x, unless I suddenly get a brainstorm and figure out how to implement the various flags.

 

Best I can tell prosystem defaults to cart_type 0 for .bin files (actually there is 1 exception) so on 1st load the .bin files for the new prototypes plutos and sirius will not work. The exception is if you load the .a78 files "first", and then load the .bin files it will work because it carries over the cart_type from the previously loaded cart.

 

So this kinda leads to a problem. I'd probably have to research a little more, but it seems to me it'd make sense that if there is no header to let the user choose the cartridge type and whether a pokey chip is "used". At least doing this would allow them to get it to run, although they may have to take a few guesses.

 

Just to give another example. Try loading the beef drop demo (bin) file after loading prosystem. Now listen to the music when playing the game. Notice anything? Yeah, the bass part is missing. Now load the .a78 file and play and you will see that all of the music is there..

Edited by Shannon
Link to comment
Share on other sites

Well I did it. I completely modified the configuration "lookup" system for atarixlbox. It was a fair amount of work, but I think worth it. This will carry over to a7800x in the form of ROM cartridge type database once I figure out how I'm gonna handle that. I don't wanna overload the user with too many options. :lol:

 

Anyways all those configuration files are no longer needed. All the data is in a text file. I'm still debating whether I wanna give users the option to save configurations to this text file. To give you an example, just look at the download website configuration stuff for the Amiga. All the user submitted stuff is a total mess. Half the set-ups are just ones that happen to work and arent really correct, etc.

 

All my code really does is scan the configurations and stores info for any game whoms settings do not match the "defaults".

 

The sticky issue with a7800x is the best time to "add" an entry to the database is after the user knows the ROM is working correctly. So I have not decided how to best handle this. I'd rather not add all this extra info to the config file if I do not need to.

Link to comment
Share on other sites

Well after straining my brain over it for a while. I think I finally figured out the cart type thing!!

 

What was throwing me off was the lack of correlation between the cart_type as defined in prosystem.dat and the cart_type defined in the header of A7800 ROMS. So once I got that straightened out things began to make more sense. :lol:

 

Prosystem uses the following cart types...

 

prosystem type 0 -> 0	Normal Cart
prosystem type 1 -> 2	Supercart
prosystem type 2 -> 10	Supercart with additional ROM at $4000 (Large)
prosystem type 3 -> 6	Supercart with additional RAM at $4000
prosystem type 4 -> 02	Supercart no additional RAM/ROM
prosystem type 5 -> 256 	F18 Hornet
prosystem type 6 -> 512 	Activision Cart

add 1 if pokey=true

 

The number on the left is the prosystem internally defined number. The number after the -> is the actual header value of the ROM. The text on the right is the actual description. That being said I should be able to narrow the user configuration for headerless ROMS down to two options..

 

Cart Type (as defined by prosystem)

Pokey Supported (yes/no).

 

That being said. I noticed all homebrews (that I've tried so far) are cart type 0. With pokey either being true or false.

The two prototypes (Sirius and Plutos) that came out recently are type 2 (I believe, going from memory here).

 

So in 99% of the cases the user can just pick cart_type 0 with pokey on/off and let her fly. For future newly released prototypes it would be just a matter of trying each cart_type until it works. :lol: Or just manually adding it to the prosystem.dat file.

 

Other things that threw me off. :lol:

 

1. My Commando ROM has the wrong header, so no pokey sound.

2. My Sentinel had a bad header and didn't work as a result. (wrong cart_type and PAL)

3. My Summer Games has a wrong header thus the graphics were scrambled.

4. My Winter Games had the same issues as Summer Games.

5. The two Frogger ROMS with headers have invalid header. Hence impromper music (no pokey).

 

None the less I have it all figured out now. :lol:

 

On a side note while perusing the a2600 code I noticed they had the "Fry" option commented out. Which leads me to believe it was attempted to add it but disabled for some reason. Something tells me the "implementor" did not realize which games are "Fryable" and which are not. I'm gonna have to compile a version and try it out. :D

 

Oh and the emulator now displays a message when you change the difficulty level on switch A or B.

 

I'm debating on whether to display a message when the "Pause" button has been pressed and still "active".

 

I'm curious. Has anyone tried "Dual Stick" robotron yet?

Edited by Shannon
Link to comment
Share on other sites

Well after straining my brain over it for a while. I think I finally figured out the cart type thing!!

 

What was throwing me off was the lack of correlation between the cart_type as defined in prosystem.dat and the cart_type defined in the header of A7800 ROMS. So once I got that straightened out things began to make more sense. :lol:

 

Prosystem uses the following cart types...

 

prosystem type 0 -> 0	Normal Cart
prosystem type 1 -> 2	Supercart
prosystem type 2 -> 10	Supercart with additional ROM at $4000 (Large)
prosystem type 3 -> 6	Supercart with additional RAM at $4000
prosystem type 4 -> 02	Supercart no additional RAM/ROM
prosystem type 5 -> 512 	F18 Hornet
prosystem type 6 -> 256 	Activision Cart

add 1 if pokey=true

 

The number on the left is the prosystem internally defined number. The number after the -> is the actual header value of the ROM. The text on the right is the actual description. That being said I should be able to narrow the user configuration for headerless ROMS down to two options..

 

Cart Type (as defined by prosystem)

Pokey Supported (yes/no).

 

That being said. I noticed all homebrews (that I've tried so far) are cart type 0. With pokey either being true or false.

The two prototypes (Sirius and Plutos) that came out recently are type 2 (I believe, going from memory here).

 

So in 99% of the cases the user can just pick cart_type 0 with pokey on/off and let her fly. For future newly released prototypes it would be just a matter of trying each cart_type until it works. :lol: Or just manually adding it to the prosystem.dat file.

 

Other things that threw me off. :lol:

 

1. My Commando ROM has the wrong header, so no pokey sound.

2. My Sentinel had a bad header and didn't work as a result. (wrong cart_type and PAL)

3. My Summer Games has a wrong header thus the graphics were scrambled.

4. My Winter Games had the same issues as Summer Games.

5. The two Frogger ROMS with headers have invalid header. Hence impromper music (no pokey).

 

None the less I have it all figured out now. :lol:

 

On a side note while perusing the a2600 code I noticed they had the "Fry" option commented out. Which leads me to believe it was attempted to add it but disabled for some reason. Something tells me the "implementor" did not realize which games are "Fryable" and which are not. I'm gonna have to compile a version and try it out. :D

 

Oh and the emulator now displays a message when you change the difficulty level on switch A or B.

 

I'm debating on whether to display a message when the "Pause" button has been pressed and still "active".

 

I'm curious. Has anyone tried "Dual Stick" robotron yet?

I have managed to delete the update from my system, any chance you can send me the beta again?

Link to comment
Share on other sites

Yeah the cool thing about the HSC cart addition is that since a7800x uses MESS, those changes will be able to be incorporated into a future release of MESS. Once it meets the approval of the MESS standards committe. :lol: Or whoever is in charge of that.

 

Interesting story on the HSC cart addition. When I started working on it and plugged all the information into MESS it didn't work at first, no biggie. But I spent like two days or so pooring over technical info, source codes, dissasemblies for the 7800 trying to figure it out. So I finally just decided to ask the people over on the MESS board for some advice. While preparing my message I realized I had the ROM size incorrect. Seems that I need to work on my hex math skills. :lol: After correcting that small little issue the rest was easy. In fact I'm surprised someone has not already done it considering how easy it is to do.

 

Moving along I enabled the "fry" option in the 2600 emu. Now I know why it was disabled it literally crashes (fries) the xbox. Locks it cold. I tried tracing the code unfortunately some of Z26 is in assembly and that is where it happens to crash. Now that I think about it I could probably pull that code over into main .cpp file and do it my self. hmmmm

 

I got all the prosystem DB stuff added in now. The emu scans the DB and if it finds a match it overrides the header settings. I do that mainly because I have found it to always be accurate whereas the headers on some ROMS are off. It the ROM has no header AND is not in the database the user has the option to set the parameters themselves..

 

Cart Type, Region, and Pokey (yes/no). The only catch, though, is it can LOCK your xbox if you pick the wrong cartridge type. Luckily "Normal Cart" is pretty much used by most homebrews. So picking that and selecting pokey if needed should do the trick. Prototypes are a whole different story. I also gave the user the ability to add a game to the Prosystem DB once they got it running.

 

I went ahead and added all the homebrews and prototypes that I know of. I also fixed up a small oversite where pressing the button assigned to the onscreen keyboard on systems that do not use a keyboard did funny things. Once I fix up a few minor things I'll have another beta to send out.

Edited by Shannon
Link to comment
Share on other sites

I woulda had a beta release this week but I wasted a bunch of time pouring over the video and riot code to see if I could notice anything "unusual" that may create issues with certain games. Pretty much came out with nothing but a headache. :lol:

 

Regardless I do know quite a bit more about the 7800 hardware now, especially the Maria and Riot chips. :lol:

Link to comment
Share on other sites

Well I did the boring stuff like adding in the gameshark DB stuff and comments to "commonfuncs.cpp" regarding implementing my gameshark DB and CRC32 code. For future x-port coding wannabees. :lol:

 

Modified the default difficulty switch settings so that TowerToppler will automatically be playable. I don't think this will affect other 7800 games..

 

Once I get it compiled and do a quick test I'll probably send it out to you guys. Outside of that I suppose there is not much to do. The only hold up will be me going thru and creating cheat codes.

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