Cowering #51 Posted March 30, 2016 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 Quote Share this post Link to post Share on other sites
+RevEng #52 Posted March 30, 2016 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. Quote Share this post Link to post Share on other sites
Cowering #53 Posted March 31, 2016 That will be good, as I emailed tech support for SpeakJet chip, and EEPROM is write-only Quote Share this post Link to post Share on other sites
Cowering #54 Posted April 1, 2016 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 Quote Share this post Link to post Share on other sites
CPUWIZ #55 Posted April 1, 2016 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. Quote Share this post Link to post Share on other sites
+RevEng #56 Posted April 1, 2016 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=2864640I 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. Quote Share this post Link to post Share on other sites
CPUWIZ #57 Posted April 1, 2016 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. Quote Share this post Link to post Share on other sites
+RevEng #58 Posted April 2, 2016 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. Quote Share this post Link to post Share on other sites
CPUWIZ #59 Posted April 2, 2016 If that is really the case, they are criminals for selling the chips at this price. Quote Share this post Link to post Share on other sites
+RevEng #60 Posted April 2, 2016 I tend to agree. Makes me want to revisit that old AVR Vox code I half-finished years ago. Quote Share this post Link to post Share on other sites
Cowering #61 Posted April 2, 2016 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) Quote Share this post Link to post Share on other sites
+RevEng #62 Posted April 2, 2016 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) Quote Share this post Link to post Share on other sites
+Trebor #63 Posted April 2, 2016 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. Quote Share this post Link to post Share on other sites
+iesposta #64 Posted April 2, 2016 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. Quote Share this post Link to post Share on other sites
Jinks #65 Posted April 3, 2016 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) 1 Quote Share this post Link to post Share on other sites
+RevEng #66 Posted November 19, 2016 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 3 Quote Share this post Link to post Share on other sites
+RevEng #67 Posted January 22 I've allocated some extra bits to represent hardware ([email protected], [email protected]/462) that has been implemented in the dragonfly cart. The new header asm is attached. a78header.asm 7800header and the docs at 7800.8bitdev.org have been updated. 4 2 Quote Share this post Link to post Share on other sites
+bhall408 #68 Posted January 23 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. 3 Quote Share this post Link to post Share on other sites