Previous Thread
Next Thread
Print Thread
Page 4 of 5 1 2 3 4 5
Re: Bounty: $100 for Astrocade Tape Support [Re: BallyAlley] #114877
03/19/19 03:15 AM
03/19/19 03:15 AM
Joined: Mar 2001
Posts: 16,206
USA
R
R. Belmont Online content
Very Senior Member
R. Belmont  Online Content
Very Senior Member
R
Joined: Mar 2001
Posts: 16,206
USA
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.

Re: Bounty: $100 for Astrocade Tape Support [Re: R. Belmont] #114878
03/19/19 03:31 AM
03/19/19 03:31 AM
Joined: Apr 2015
Posts: 16
B
BallyAlley Offline OP
Member
BallyAlley  Offline OP
Member
B
Joined: Apr 2015
Posts: 16
Originally Posted by R. Belmont
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.html

What 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

Re: Bounty: $100 for Astrocade Tape Support [Re: BallyAlley] #114879
03/19/19 04:04 AM
03/19/19 04:04 AM
Joined: Jul 2004
Posts: 517
Kentucky
R
ranger_lennier Offline
Senior Member
ranger_lennier  Offline
Senior Member
R
Joined: Jul 2004
Posts: 517
Kentucky
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.

Re: Bounty: $100 for Astrocade Tape Support [Re: BallyAlley] #114880
03/19/19 04:31 AM
03/19/19 04:31 AM
Joined: Jul 2004
Posts: 517
Kentucky
R
ranger_lennier Offline
Senior Member
ranger_lennier  Offline
Senior Member
R
Joined: Jul 2004
Posts: 517
Kentucky
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.html

Yes, 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!)

Re: Bounty: $100 for Astrocade Tape Support [Re: ranger_lennier] #114883
03/19/19 06:55 AM
03/19/19 06:55 AM
Joined: May 2009
Posts: 1,794
J
Just Desserts Offline
Very Senior Member
Just Desserts  Offline
Very Senior Member
J
Joined: May 2009
Posts: 1,794
Originally Posted by ranger_lennier
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.

Originally Posted by ranger_lennier
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.

Originally Posted by ranger_lennier
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?

Originally Posted by ranger_lennier
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.

Originally Posted by ranger_lennier
I also think it would kind of hilarious to emulate the Computer Ear.

http://www.ballyalley.com/pics/hardware_pics/Computer_Ear/computer_ear.html

Yes, 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!)


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.

Re: Bounty: $100 for Astrocade Tape Support [Re: BallyAlley] #114887
03/19/19 06:36 PM
03/19/19 06:36 PM
Joined: Apr 2015
Posts: 16
B
BallyAlley Offline OP
Member
BallyAlley  Offline OP
Member
B
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).zip

The 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

Re: Bounty: $100 for Astrocade Tape Support [Re: BallyAlley] #114888
03/19/19 07:04 PM
03/19/19 07:04 PM
Joined: Apr 2015
Posts: 16
B
BallyAlley Offline OP
Member
BallyAlley  Offline OP
Member
B
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.txt

As 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]

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.

Re: Bounty: $100 for Astrocade Tape Support [Re: BallyAlley] #114889
03/19/19 07:20 PM
03/19/19 07:20 PM
Joined: Apr 2015
Posts: 16
B
BallyAlley Offline OP
Member
BallyAlley  Offline OP
Member
B
Joined: Apr 2015
Posts: 16
I don't know the keyboard matrix layout of either the Viper or Blue Ram keyboard. Possibly, there is some helpful information about the blue ram keyboard in these documents:

http://www.ballyalley.com/perkins/perkins.html#BlueRamKeyboardDocs

I have a Blue Ram keyboard, but it has somehow become lost in my garage. Either that, or I lent it to someone, but I can't remember who has it now.

Here is a datasheet for the keyboard that I think is used in the Blue Ram keyboard:

http://www.ballyalley.com/documenta...meco_JE_610_ASCII_Keyboard_Datasheet.pdf

A commented disassembly of the Blue Ram keyboard driver is available. Maybe that will have some useful information in it. It's here:

http://www.ballyalley.com/ml/ml_source/ml_source.html#BallyBASICKeyboardDisassembly

The keyboard wiring directions for the Viper keyboard are here:

http://www.ballyalley.com/documenta...ard%20to%20Astrocade%20(Ed%20Larkin).pdf

The software and documentation for the light pen is here:

http://www.ballyalley.com/program_d...rams_i-p.html#Light-PenGraphicsProgramXB

As I mentioned previously, I'm pretty sure that the MAME doesn't currently support the light pen interrupt. Also, I don't know of anyone who has a light pen for the Astrocade.

It's great to see activity happening in the MAME community for the astrocade driver.

Adam

Re: Bounty: $100 for Astrocade Tape Support [Re: BallyAlley] #114890
03/19/19 07:58 PM
03/19/19 07:58 PM
Joined: Apr 2015
Posts: 16
B
BallyAlley Offline OP
Member
BallyAlley  Offline OP
Member
B
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

Re: Bounty: $100 for Astrocade Tape Support [Re: BallyAlley] #114894
03/20/19 05:42 PM
03/20/19 05:42 PM
Joined: Apr 2015
Posts: 16
B
BallyAlley Offline OP
Member
BallyAlley  Offline OP
Member
B
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?

Page 4 of 5 1 2 3 4 5

Who's Online Now
2 registered members (Dam0, reenigne), 28 guests, and 3 spiders.
Key: Admin, Global Mod, Mod
Shout Box
Forum Statistics
Forums9
Topics8,654
Posts113,414
Members4,846
Most Online324
Dec 20th, 2018
Powered by UBB.threads™ PHP Forum Software 7.6.1.1
(Release build 20180111)
Page Time: 0.049s Queries: 15 (0.021s) Memory: 5.7386 MB (Peak: 5.9614 MB) Zlib enabled. Server Time: 2019-05-26 06:59:19 UTC