|
Joined: Mar 2001
Posts: 17,239 Likes: 263
Very Senior Member
|
Very Senior Member
Joined: Mar 2001
Posts: 17,239 Likes: 263 |
Presumably the tapes available to download are from hardware, in which case we have the original and we can save it back out in MAME and compare.
|
|
|
|
Joined: Apr 2015
Posts: 16
Member
|
Member
Joined: Apr 2015
Posts: 16 |
Presumably the tapes available to download are from hardware, in which case we have the original and we can save it back out in MAME and compare. It is true that the majority of the 300-baud and 2000-baud BASIC programs on ballyalley.com were recorded from real hardware. Usually this means that the recordings were made from tapes from the late 1970s or early 1980s. However, they these files were then all digitally archived using various audio archiving tools that are also available on the site here: http://www.ballyalley.com/program_downloads/tape_archive_tools/tape_archive_tools.htmlWhat this means is that these are "perfect" WAV files. If anyone here would like to have a RAW WAV file recorded from real astrocade hardware in either 300-baud or 2000-baud, than me know and I can do that within the next couple of days. By "RAW" I mean that it will be a digital recording of an analog signal. The file will not have been processed in any way. Adam
|
|
|
|
Joined: Jul 2004
Posts: 517
Senior Member
|
Senior Member
Joined: Jul 2004
Posts: 517 |
Yes, 40 year old tapes are generally too noisy to use as is. The typical process is to record a tape through a sound card, save it to a .wav file, run a digital processing tool on it, and generate a clean version of the original recording. The new recording will have perfect square waves, compress really well, and load on real hardware very reliably (running an audio cable from the sound card into the system and playing the digital file).
Of course, if you output and record a program directly from hardware today, it won't be "perfect", but should load just fine.
|
|
|
|
Joined: Jul 2004
Posts: 517
Senior Member
|
Senior Member
Joined: Jul 2004
Posts: 517 |
I'll second support for the VIPER System 1 keyboard. It was actually built directly into the RAM expansion, and should work on VIPERSoft BASIC and I believe even the regular BASIC versions without needing a driver or anything. The other thing that comes to mind is cartridge hot swapping. You should be able to remove one cart and insert another without resetting the system. The software list includes a bunch of BASICarts, which were BASIC programs converted into cartridge format. You need to swap the BASICart and the BASIC cartridge to run them. And with both of those feature implemented, you could actually load 2000 baud programs into VIPERSoft BASIC. Unlike Blue RAM BASIC, it doesn't have a built-in audio interface, so you need to swap between the VIPERSoft BASIC cart and the regular BASIC cart with the interface. There's not a whole lot of software for it, but Dragon's Castle is pretty cool. http://www.ballyalley.com/program_downloads/ram_expansion_required/programs_a-h/Dragon's%20Castle%20(198x)(unknown)(2000%20baud)(VIPERsoft%20BASIC).zip The Music Maker cart includes a tape interface. As far as I know, it's identical to the 2000 baud interface in the BASIC cart. This is really reminding me of all the surprising things people managed to make this system do--often just one or a few people selling software and hardware through newsletters. I don't even remember how all of it works, but we'll try to figure it out if you want more details. We'll have to think about what would even make sense to emulate. Like, I archived a driver for the Blue RAM Modem, but I have no idea what you could do with it if you emulated one. There is a little bit of light pen software. I also think it would kind of hilarious to emulate the Computer Ear. http://www.ballyalley.com/pics/hardware_pics/Computer_Ear/computer_ear.htmlYes, someone actually made a speech recognition device! Adam has one, along with some program printouts. (That would be a good video for your Youtube channel, Adam!)
|
|
|
|
Joined: May 2009
Posts: 2,223 Likes: 387
Very Senior Member
|
Very Senior Member
Joined: May 2009
Posts: 2,223 Likes: 387 |
I'll second support for the VIPER System 1 keyboard. It was actually built directly into the RAM expansion, and should work on VIPERSoft BASIC and I believe even the regular BASIC versions without needing a driver or anything. Thanks, I'll try to tackle this at the same time as I tackle the Blue Ram Keyboard. One thing that would be very helpful is to know how the keyboard matrices in both keyboards are laid out. Specifically, which row/column in the key matrix each key maps to, and in the case of the Blue Ram Keyboard, which pins in the expansion ZIF socket map to which rows/columns of the keyboard matrix. The other thing that comes to mind is cartridge hot swapping. You should be able to remove one cart and insert another without resetting the system. The software list includes a bunch of BASICarts, which were BASIC programs converted into cartridge format. You need to swap the BASICart and the BASIC cartridge to run them. This is not easily doable due to the need to reset the emulated machine when changing slot devices, but I'll throw some ideas around with Vas and see if we can come up with a solution. The Music Maker cart includes a tape interface. As far as I know, it's identical to the 2000 baud interface in the BASIC cart. If it is identical, then getting it working should be as simple as copying the line of XML that I added to hash/astrocde.xml into the entry for that cartridge, too. Can you point me at any tapes that I can use to test loading? This is really reminding me of all the surprising things people managed to make this system do--often just one or a few people selling software and hardware through newsletters. I don't even remember how all of it works, but we'll try to figure it out if you want more details. We'll have to think about what would even make sense to emulate. Like, I archived a driver for the Blue RAM Modem, but I have no idea what you could do with it if you emulated one. There is a little bit of light pen software. If we have schematics and appropriate documentation, why choose? I'm happy to take a crack at emulating any peripheral that has sufficient documentation. With enough effort, MAME could become the go-to emulator for Bally Astrocade emulation. MAME doesn't currently have a way of handling microphone input, but I can think of a couple workaround that would allow emulating the device in the meantime, assuming documentation and tapes can be found.
|
|
|
|
Joined: Apr 2015
Posts: 16
Member
|
Member
Joined: Apr 2015
Posts: 16 |
I converted Bally Ellerson's "Grandfather Clock" Bally BASIC program from 300-Baud to 2000-Baud. The 300-baud version of the program is here: http://www.ballyalley.com/program_d...(1981)(Barry%20Ellerson)(300%20baud).zipThe 2000-baud "AstroBASIC" version of the program, which I just converted to this format this morning, isn't online. If anyone needs it, then I can put the RAW version and the digitially archived version online at BallyAlley.com for testing purposes. I timed the grandfather clock running under Bally BASIC and AstroBASIC on real hardware. I also timed the AstroBASIC version running under MAME. I used a digital stopwatch to get these estimates which are probably accurate to within one second. Here are the results: 1) Real Hardware - Bally BASIC: 1 Minutes = 1 minute in real time. 2) Real Hardware - AstroBASIC: 1 Minute = 38 seconds in real time. 3) Emulation - AstroBASIC: 1 Minute = 55 seconds in real time. This means that it isn't my imagination that "AstroBASIC" runs significantly slower under MAME emulation. If my system speed makes any difference, my computer is a 64-bit, Windows 7 machine with an i7-4770@ 3.40Ghz with 8GB of RAM. I've never noticed this timing difference using regular astrocade cartridge games. Then again, I've never taken this close of a look either. If it's any help, using my Framemeister and AVerMedia Live Gamer Portable, I did record video of Bally BASIC and AstroBASIC running "Grandfather Clock." Using OBS Studio, I could also record footage of MAME running "Grandfather Clock." Maybe I could cobble together a video comparing all three at the same time. However, I've not done that before... so I'm not sure how to do it. I use Adobe Premiere Elements 14, so I'm pretty certain that there must be a way to do it. Anyway, I'm not sure if a video like this would even be useful. I still can't get over that I can load an "AstroBASIC" program into the astrocade emulator that's part of MAME. That's simply too good to be true! Even if the speed is slow, it is still extremely useful to me, as I've always wanted to use MAME's debugger to observe BASIC's RAM "live." Next up, I'm going to test loading an "AstroBASIC" program saved under MAME emulation onto real astrocade hardware. Adam
|
|
|
|
Joined: Apr 2015
Posts: 16
Member
|
Member
Joined: Apr 2015
Posts: 16 |
Paul is right about MAME's lack of "cartridge hot swapping." This is a missing feature that I should have already mentioned. So, special thanks to Paul for pointing it out to us. "Hot swapping" was used extensively back in the 1980s on real hardware. Probably the most common reason that it was used was to switch-out the "AstroBASIC" cart for the Bally BASIC cartridge. Using a specific technique, this allowed a user to load a program into "AstroBASIC," then put in the Bally BASIC cartridge, which supported printing to a serial printer via a modified 300-baud interface. Once the Bally BASIC cartridge was inserted into the astrocade, then the command :PRINT could be used to list a BASIC program to a printer. Here are the details of how users would swap the two different Astrocade BASIC cartridges: http://www.ballyalley.com/basic/Cartridge_Conversion.txtAs Paul also mentioned, there are many cartridges, now referred to as BASICarts, that will load a BASIC program from the cartridge. This method didn't become very popular in the 1980s until around 1986 and wasn't mentioned until the very last issue of the Arcadian newsletter was published. Therefore, it didn't get much use back then. However, once the astrocade library began to be archived extensively in the early 2000's, many BASIC programs were converted by an Astrocade fan named Mike White to run from cartridge. Many of these are now on the various versions of multicarts that exist for the astrocade. They're also available from BallyAlley.com if you want to burn them to EPROM. Since BASICarts are so prevalent in the astrocade library, it would be great if cartridge swapping was supported under the astrocade's MAME driver. Paul also mentioned support for Music Maker. As Paul said, this uses the same 2000-baud interface as the "AstroBASIC" cartridge. I have been told, but have been unable to verify, that there is one significant difference between how the data is handled between Music Maker and "AstroBASIC." Apparently, what Music Maker outputs as a '1,' "AstroBASIC outputs is a '0' and vice-versa. The outside of the Music Maker cart looks like this: ![[Linked Image from ballyalley.com]](http://www.ballyalley.com/pics/cartridge_pics/Carts_(Third-Party)/full_size/Music%20Maker.jpg) There are no recordings of any music or sounds in 2000-baud format that can be loaded into the Music Maker cartridge. There were only a few Music Maker cartridges available. I have one of them and it works, but I think my EPROM may be going bad in it, as when I tried to save music, the program now crashes. The modem driver that Paul archived is for use with a Star-brand modem. I think it is also supported with the Blue Ram Utility 3.0. The Blue Ram hardware uses an Intel 8154 for I/O. I guess that would have to be emulated for input/ouput to work correctly. Then again, earlier in this thread, I did see that a Blue Ram BASIC program was loaded into MAME. In order for the I/O of the Blue Ram to work, I presume it must support the 8154 chip. So maybe that hardware is already emulated? Yes, I do have the voice recognition hardware called the Computer Ear. The software for it, written in BASIC, is not archived in "tape" format (a WAV file). However, the BASIC listing of the program is available. I've always meant to type it in, but I have never done it before now. As far as I'm aware, even though about about eighty of the Computer Ear devices were made, I am the only person who has one now. Adam Oh, and thanks for letting me know to link to pictures rather than expecting support for in-line pictures for posts.
|
|
|
|
Joined: Apr 2015
Posts: 16
Member
|
Member
Joined: Apr 2015
Posts: 16 |
I have now successfully saved an "AstroBASIC" program from MAME as a WAV file and loaded it onto a real Astrocade.
The program was a simple "HELLO, WORLD!" three-line BASIC program. After the file was saved, I trimmed the beginning and end silence from the WAV that was created from MAME. I then loaded that WAV file without any modifications onto my real astrocade. It worked fine and didn't give me a "?" (question mark), which would have indicated a checksum error upon loading the program.
I wanted to make sure that the WAV file from MAME also could be processed properly using the 2000-baud digital archive programs for "AstroBASIC." I ran the WAV file created in MAME through BallyBin/AstroWAV 1.4 and it was processed without any errors. I then loaded the digitally archived output from AstroWAV onto my Astrocade without any issues. There were no issues at all.
What should I check now?
Adam
|
|
|
|
Joined: Apr 2015
Posts: 16
Member
|
Member
Joined: Apr 2015
Posts: 16 |
Astrocade Emulation MAME Speed Difference
Based on these two facts of running "Grandfather Clock" loaded from tape (see early post in this thread):
1) Real Hardware - AstroBASIC: 1 Minute = 38 seconds in real time. 2) Emulation - AstroBASIC: 1 Minute = 55 seconds in real time.
If I've done my math right here, then 55/38 = 1.4474.
This means real hardware runs "Grandfather Glock" about 1.45 times faster than it runs under MAME emulation. I noticed this real hardware vs. emulation speed difference when I loaded "The Gate Escape" from tape. I'm pretty shocked by this speed difference, as I don't remember seeing a speed difference like this between other non-BASIC cartridges.
Any ideas of why this speed difference is happening?
|
|
|
Forums9
Topics9,331
Posts122,197
Members5,077
|
Most Online1,283 Dec 21st, 2022
|
|
These forums are sponsored by Superior Solitaire, an ad-free card game collection for macOS and iOS. Download it today!
|
|
|
|