Jump to content
GroovyBee

A78 header changes

Recommended Posts

Does the AtariVOX ship with the EEPROM already programmed with some phrases? I didn't see a way to read out the current EEPROM contents from a quick look at the pdf so it would be 'impossible' to properly emulate it in MAME

Share this post


Link to post
Share on other sites

Just the boot-up phrase is programmed. It says "atarivox" on power-up.

 

This isn't strictly necessary, but we can reach out to Richard H for this data when the rest of the emulation is roughed in.

Share this post


Link to post
Share on other sites

Does the AtariVOX ship with the EEPROM already programmed with some phrases? I didn't see a way to read out the current EEPROM contents from a quick look at the pdf so it would be 'impossible' to properly emulate it in MAME

 

The EEPROM is socketed and can be read with a universal programmer, or a Microchip specific programmer. Or you could rig up a little Arduino interface to the EEPROM and read it that way. ;)

Share this post


Link to post
Share on other sites

Still crawling around the .a78 header.. does anyone have a concise doc for the header mod mentioned here for HSC? http://atariage.com/forums/topic/199637-work-in-progress-bentley-bear-crystal-quest/page-32?do=findComment&comment=2864640

I don't think Trebor was describing a header mod there. He's advising of older HSC handling code in MESS, I think. There's just the one HSC bit in byte 58. I'm not aware of any other HSC support in the header.

 

 

The EEPROM is socketed and can be read with a universal programmer, or a Microchip specific programmer. Or you could rig up a little Arduino interface to the EEPROM and read it that way. ;)

Cowering is talking about the EEPROM area in the PIC (I'm assuming a custom PIC is what Speakjet is. It's never been officially confirmed) vs the stand-alone EEPROM chip in the Atarivox.

Share this post


Link to post
Share on other sites

 

Cowering is talking about the EEPROM area in the PIC (I'm assuming a custom PIC is what Speakjet is. It's never been officially confirmed) vs the stand-alone EEPROM chip in the Atarivox.

 

I doubt it, since there is a real PIC on the board, that is the surface mount chip I keep soldering onto the PCB for the store. Reminds me, I need to find some time to build some more.

IMG_1164.JPG

Share this post


Link to post
Share on other sites

Doesn't seem that far fetched to me. The PIC 18Fxxxx series matches the +V, ground, Vout and RX lines on the Speakjet. The Soundgin and Speakjet were both developed by Scott Savage (of OOPic fame), and the Soundgin is known to be a PIC18F1320. I'd be surprised if the Speakjet wasn't the same.

Share this post


Link to post
Share on other sites

If that is really the case, they are criminals for selling the chips at this price.

Share this post


Link to post
Share on other sites

I tend to agree. Makes me want to revisit that old AVR Vox code I half-finished years ago. :P

Share this post


Link to post
Share on other sites

I don't think Trebor was describing a header mod there. He's advising of older HSC handling code in MESS, I think. There's just the one HSC bit in byte 58. I'm not aware of any other HSC support in the header.

 

 

Cowering is talking about the EEPROM area in the PIC (I'm assuming a custom PIC is what Speakjet is. It's never been officially confirmed) vs the stand-alone EEPROM chip in the Atarivox.

 

I was kinda talking about both :) I have not gotten deep enough into the AtariVOX to see that it had external EEPROM as well as internal EEPROM on the Speech chip. If the Speech EEPROM can be read out, that would work perfectly with MESS' slot system as slots can have ROM/RAM nowadays. Trebor's wording led me to believe Prosystem could get the HSC data from somewhere, it just didn't write it back to a permanent diskfile. If MESS did this, it would store the data in a file that was local to the slot, so that any other game you loaded with HSC in the slot would see a consistent set of data.. This is great when you are playing hacks of the same game... you get to keep the highest score of all of them (sneaky huh)

Share this post


Link to post
Share on other sites

Sneaky indeed!

 

The speakjet (speech data) EEPROM can only be written to, AFAIK.

 

The Atarivox external (game save) EEPROM is shipped uninitialized, with all bytes containing 0xff.

 

I'm not a Prosystem emulator user, but if I recall correctly, the HSC emulation is broken or incomplete, which I think is what Trebor was referring to. (I'm sure some Prosystem user will correct me if I have that wrong)

Share this post


Link to post
Share on other sites

I don't think Trebor was describing a header mod there...

 

Correct.

 

...Trebor's wording led me to believe Prosystem could get the HSC data from somewhere, it just didn't write it back to a permanent diskfile...

 

The condition of whether HSC support 'works' under ProSystem has nothing to do with the header; rather, whether the data is present in the game ROM file it is running.

 

Some older/demo builds of Donkey Kong PK/XM contains HSC data already present, being included in the distributed game ROM file. ProSystem reads (only) that data.*

 

*EDIT: It is elaborated in more detail by a post from tep392 on how HSC provisioning is handled under the ProSystem emulator (Main piece pasted below for convenience)...

 

"...Since prosystem incorrectly treats everything up to $4000 as continuous ram, I simply copied a 2k saved RAM binary to $1000 and copied the HSC ROM to $3000. I did this by assembling my code with the binary data in an unused ROM bank. When the game is being initialized, I switch to that bank and copy the binary data to RAM. It then looks to prosystem like the HSC is present. The only drawback is that I can't easily save the HSC data before exiting Prosystem. I have to use a save state and hex editor to get the HSC data back into a binary file..."

 

Regarding MESS from a few years back, the way HSC support worked was improperly including it as part of the base console's functionality and performing read/writes to a "NVRAM" file to the address space where HSC data is stored ($3000-$3fff).

 

HSC support was properly re-written by etabeta to reflect actual hardware performance and behavior, removing support from the base console, and adding slots to the system's cartridge port; reading/writing data to the aforementioned address space, only when utilizing either hsc or xm as slot devices. Separate files are maintained for each device, storing data according to the HSC value assigned.

 

'Slotification' is needed for the controller ports though. Currently, only joysticks-pads are supported. Paddles and Light Gun support (Which the a2600 and Atari 8-bit drivers would also benefit from) is not present.

 

As a side note, the Atari Light Gun utilizes Cathode Ray Timing - similar to a Vectrex Light Pen. That same method is utilized for the SMS Light Phaser and SNES Super Scope; both of which are already supported in MAME. Further along those lines, the Light Pen has already been hooked up to vcs_ctrl, as well as mentioned under the video, machine, and driver for the Vectrex.

 

Technically, anything under 'vcs_ctrl' - including the paddles, wheel, keypad, etc., all can connect to the 7800. Of those, the paddles and light(gun) are the only ones utilized by 7800 games. Three original retail titles: Barnyard Blaster, Meltdown, and Sentinel, require Light Gun support. Consequently, they are all unplayable under MAME as a result. A few other games on the 7800 allow Light Gun support as optional.

Share this post


Link to post
Share on other sites

Between my AtariVox and AtariVox+, when powering up, the original kind of "sings" AtariVox, with Vox a higher note.

The AtariVox+ "speaks" it more, with emphasis on "tar".

 

Also, not to bring up paid-for hardware that hasn't shipped, but for facts on the start-up speech, I remember something about the ones that were to be built-in to the never-completed Anniversary 7800's - they were programmed to say something different at start-up.

Share this post


Link to post
Share on other sites

 

Also, not to bring up paid-for hardware that hasn't shipped, but for facts on the start-up speech, I remember something about the ones that were to be built-in to the never-completed Anniversary 7800's - they were programmed to say something different at start-up.

Ya I believe it was (sŭk′ər)

  • Like 1

Share this post


Link to post
Share on other sites

Heads-up that I've grabbed bit 7 of the A78 header byte 53, to represent "mram at $4000". This is to support correct emulation of the hardware used in the Rescue on Fractalus proto. "mram" stands for Mirror RAM - the proto doesn't use one of the address lines to intentionally create mirrors of even RAM pages at odd RAM page locations.

 

The header byte 53 now looks like...

 

bit 0 - pokey at $4000

bit 1 - supergame bank switched

bit 2 - supergame ram at $4000

bit 3 - rom at $4000

bit 4 - bank 6 at $4000

bit 5 - supergame banked ram

bit 6 - pokey at $450

bit 7 - mram at $4000

 

The 7800 header with updated comments is attached. [edit - removed. an updated header has been posted to this thread, below]

 

 

I've also updated the 7800 header utility in the 7800 Assembly Dev Kit

  • Like 3

Share this post


Link to post
Share on other sites
On 1/21/2021 at 8:43 PM, RevEng said:

I've allocated some extra bits to represent hardware ([email protected], [email protected]/462) that has been implemented in the dragonfly cart.

Thanks Rev!

 

Dual/Stereo Pokey is implemented in Argon (thanks to @ZihuaCode!)

 

We plan to add YM support once we find (or create) a license compatible (ie, non GPL) implementation.

  • Like 3

Share this post


Link to post
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...