Previous Thread
Next Thread
Print Thread
Page 3 of 5 1 2 3 4 5
Joined: Apr 2015
Posts: 16
B
Member
Member
B Offline
Joined: Apr 2015
Posts: 16
I've got very limited time today, but here are a few quick responses:

1) I'll test MAME with the changes for tape support early this week and post back here by Tuesday.

2) I run the 64-bit version of Windows 7, so the 64-bit version of MAME is what I require.

3) I know how to use the 300-baud interface on real hardware, but I'm not familiar with the way it works. Perhaps the schematics in the "Hacker's Guide" on my website may help you:

.pdf]Bally Hacker's Guide

The above link doesn't seem to work right-- maybe because of the brackets in the filename. Here is the link in plain text format:

http://www.ballyalley.com/basic/Bally%20BASIC%20Hacker%27s%20Guide%20(1979)(Jay%20Fenton)[draft].pdf

4) I sent "Just Desserts" a private message via these boards requesting his email address so that I can send him the bounty via PayPal. As an aside, my wife asked me, "How do you know it's a guy who made the update." I guess that I don't know that...

5) If anyone has any more questions, then please feel free to ask them here. If I don't know the answer, then I'm sure I can get the correct answer from someone in the Astrocade community.

6) This will probably become obvious to me once I use the MAME emulator with with tape support, but does it save to WAV files? If so, then will they load on real hardware? That would be so cool!

Thanks for working on this project. I still can't believe the quick progress that you made.

For those interested in the Astrocade, you might want to watch a few of my videos on my YouTube channel, here:

https://www.youtube.com/user/ballyalley/videos

I'll post back here within a couple of days.

Adam

(Oh, and for some reason, even though I'm following this topic, I don't get email notifications when someone posts to this thread.)

Joined: Jul 2004
Posts: 517
R
Senior Member
Senior Member
R Offline
Joined: Jul 2004
Posts: 517
Adam asked me if I could help test this. It took me a little while to figure out how to load a tape image and start it playing, but I got the hang of it soon enough. For anyone else trying this, most AstroBASIC programs start with the command

:INPUT; RUN [GO]

Assuming you didn't have a fancy keyboard (which hasn't been emulated in any case), you'd enter this on a 24 button keypad, using various shifts to get all the needed characters and keywords. By default, you'll want to push these keys. If there are two characters on a line, the first one is a shift. If you mess up, hit 3 to erase.

Period NumPad+
NumPadEnter 2
0 3
NumPadEnter PageDown
C

It was really cool seeing some tape programs running. I started out with Sideswipe, a very simple program from WaveMakers, which worked fine. Then I tried one of my favorites, CandyMan from L&M Software, which has a title screen followed by the main program. This also worked really well.

Where I started running into problems was with the multi-load music programs from George Moses. If you look at the recordings, there's a bunch of silence in them. That's because after loading the program, the user would simply leave the tape running. It was timed such that as soon as one song ended, the tape would be in the appropriate position to load the next song. I don't know if it's an issue with the tape support or the actual emulation speed of the system, but I could never get it to work quite right. We did test these on real hardware before putting them on-line. I was able to work around this by pausing the tape while a song played, then restarting it and waiting for it to reach the next song, so it seems to be purely a timing issue.

Bach's 15 Two Part Inventions
http://www.ballyalley.com/program_downloads/2000_baud_programs/george_moses/bach_tape/15_two_part_inventions%20(by_johann_sebastian_bach)_[george_moses].zip
First song plays fine. Then it looks like the second one's loading, but it ends up crashing back to AstroBASIC.

Beatle's Greatest Hits
http://www.ballyalley.com/program_downloads/2000_baud_programs/george_moses/Beatles_Greatest_Hits/Beatles%20Greatest%20Hits%20(George%20Moses).zip
"She Loves You" plays fine. After that, there's a long pause. If you wait a few minutes, it will eventually play "Let It Be", having skipped over the second song, "A Hard Day's Night".

Scott Joplin's Ragtime Classics
http://www.ballyalley.com/program_d...isc_music/scott_joplin_ragtime_classics_[george_moses].zip
"The Easy Winners" plays fine. After that, there's a long pause. If you wait a few minutes, it will eventually play "The Entertainer", having skipped over the second song, "Crush Collision March".

Joined: May 2009
Posts: 2,223
Likes: 387
J
Very Senior Member
Very Senior Member
J Offline
Joined: May 2009
Posts: 2,223
Likes: 387
So, just to be clear, the issue is that the tape runs too fast relative to the emulation speed? If so, this explains some of the troubles I'm having with emulating the 300-baud tape interface as well. I have 99.9% of the bits coming into the machine just fine, but every so often, the emulated machine 'misses' a bit - presumably due to tight timing.

I'll see what I can do to mitigate this issue, but I'm afraid a proper solution may be out of my hands, as it could require a total re-write of the driver to have more accurate timing. If that invalidates the bounty payout, so be it, I understand.

Joined: May 2009
Posts: 2,223
Likes: 387
J
Very Senior Member
Very Senior Member
J Offline
Joined: May 2009
Posts: 2,223
Likes: 387
Originally Posted by BallyAlley
Perhaps the schematics in the "Hacker's Guide" on my website may help you

Sorry, the schematic quality was a bit on the low side for me to be able to make out the information that I needed. However, Paul Thacker e-mailed me a different set of schematics, which proved highly illuminating.

Originally Posted by BallyAlley
4) I sent "Just Desserts" a private message via these boards requesting his email address so that I can send him the bounty via PayPal. As an aside, my wife asked me, "How do you know it's a guy who made the update." I guess that I don't know that...

Yep, I'm a guy.

Originally Posted by BallyAlley
6) This will probably become obvious to me once I use the MAME emulator with with tape support, but does it save to WAV files? If so, then will they load on real hardware? That would be so cool!

It does save to WAV files. I do not know if they will load on real hardware. It's worth a try, though!

Originally Posted by BallyAlley
Thanks for working on this project. I still can't believe the quick progress that you made.

For those interested in the Astrocade, you might want to watch a few of my videos on my YouTube channel, here:

Thanks Adam, I'll definitely be checking out your channel!

Joined: May 2009
Posts: 2,223
Likes: 387
J
Very Senior Member
Very Senior Member
J Offline
Joined: May 2009
Posts: 2,223
Likes: 387
Originally Posted by ranger_lennier
Scott Joplin's Ragtime Classics
http://www.ballyalley.com/program_d...isc_music/scott_joplin_ragtime_classics_[george_moses].zip
"The Easy Winners" plays fine. After that, there's a long pause. If you wait a few minutes, it will eventually play "The Entertainer", having skipped over the second song, "Crush Collision March".

Well, I have some good news. With changes that I have locally to the driver, "Crush Collision March" now appears to start right on time, as do the other songs you mentioned. I'll submit my changes when I get home from work.

Joined: Jul 2004
Posts: 517
R
Senior Member
Senior Member
R Offline
Joined: Jul 2004
Posts: 517
Awesome! It should be possible for us to run something on real hardware to get timing info if that would help, but it sounds like that may not even be necessary.

Joined: May 2009
Posts: 2,223
Likes: 387
J
Very Senior Member
Very Senior Member
J Offline
Joined: May 2009
Posts: 2,223
Likes: 387
No need. I just submitted a changeset which both fixes the timing issues you mentioned, and gets 300-baud tape loading working.

Updated single-driver build: http://polygonal-moogle.com/mame/astrocade/astro64_190318.zip

Random screenshots:

[Linked Image from i.imgur.com]

[Linked Image from i.imgur.com]

[Linked Image from i.imgur.com]

[Linked Image from i.imgur.com]

Joined: Apr 2015
Posts: 16
B
Member
Member
B Offline
Joined: Apr 2015
Posts: 16
First off, thanks to "Just Desserts" for his hard work. I paid him the bounty this morning.

In a private message to me, "Just Desserts" said he has added these two items to the astrocade MAME driver to-do list:

1) Get 300-baud cassette saving working
2) Get the Perkins Engineering Blue Ram Keyboard working

He asked me if I could supply a list of other things that need updating and fixing. Here is a list of items that I can think off the top of my head:

3) Astrocade Colors in MAME require fixing - Most of the colors are close and it doesn't bother me that they aren't exactly right. However, some of the colors are completely wrong. But, I'm not sure which colors are wrong. It would be nice if there was a comparison showing real hardware against emulation and a video.

4) Interrupts - I think one of the interrupts in MAME's emulation isn't supported at all. I can't remember which one. I presume it is the light pen interrupt.

I asked this question to the Bally Alley Yahoo group and Lance Squire responded with the following:

5) Viper keyboard would be nice too. Paul has one.

As for color correction, wouldn't the HTML page be better than a video? Ok, video of the Bally on a tube tv could show the Neon like colours it could get, but modern tvs and monitors just can't do that. :P

Lance is referring to this comparison (which I'm not sure is up-to-date anymore). Also, these colors looks too accurate to me. I was using MAME a week or two ago and I noticed that some colors are just totally wrong now.

(Hmm... I don't see a way to insert in-line images and I can't seem to turn on html mode. Could a get a little help here, please?)

6) Also, although this could be done later, if you set VBLANK &(10) to 255
(Possibly lower...) you get a vertical over-scan effect. See this picture:

Although nobody had used it to any effect... yet. (This is a better image to show what is showing where on the over-scan.)

(Again, I can't insert the in-line image here.)

(I'm not sure what Lance is referring to here, but I'm including it anyway.)

These are the only updates that I can think of that the astrocade driver in MAME needs right now. Over the next few days I will give this more thought and see what I can come up with myself. It's also possible that other members of the Bally Alley community will come up with ideas too.

Adam

Joined: Apr 2015
Posts: 16
B
Member
Member
B Offline
Joined: Apr 2015
Posts: 16
Okay, I just couldn't wait any more. I've waited for tape support since 2001: I could wait no longer. I don't have time to really play around with this updated astrocade driver for MAME, but I did give it a quick whirl.

I loaded the current build of it with the support for 2000-baud tape loading and saving. I was able to successfully load an AstroBASIC game (I choose The Gate Escape, by WaveMakers). I also wrote a two-line "Hello, World!" program and managed to save it and reload it after I reset the astrocade emulator.

Here are some of my initial comments:

1) It took me a little while to figure out the procedure to load and save, but eventually I worked it out. I don't think I've ever user MAME to load any software via tape or disk. I've always just loaded ROMs into various emulators. I presume the method used for the Astrocade's "tape player" is similar or the same as used on other systems?

2) When I played The Gate Escape under emulation, it seems to play a little slower than on real hardware. Maybe that's my imagination? Without tape support, it's been really difficult to test "AstroBASIC" under emulation with a full program. Either way, if it runs slower under emulation, then that has nothing to do with the tape loading at all-- it would be a general emulation issue.

3) Saving a program worked fine. I did notice that the size of the WAV file that was created was zero bytes until I reset the emulator. When does the WAV file get closed properly from the emulator? Can it be closed manually. Perhaps the "tape" (the WAV file) can be ejected from the player and this will close the WAV file?

4) Control of the "tape player" works well, and I like how there is an on-screen display of the "tape counter" that overlays the emulator.

5) I opened up the 2000-baud WAV file that was created and played it through my speaker. It sounds slightly different than one created on real hardware. That might seem strange to say, but I've heard hundreds of 2000-baud programs in the last twenty years, and there is a difference of some sort.

6) Will the 300-baud emulated tape interface support the Machine Language Manager cartridge? I have a four-part video series about that cart. You can watch it here:

[video:youtube]
[/video]

Here is what I still need to try:

1) Load a 2000-baud Blue Ram BASIC Program.

2) Load a WAV file created under emulation on real hardware.

3) Load a 300-baud Bally BASIC program.

4) Try running a 2000-baud program WAV file created under emulation through the archiving tools for the astrocade called BallyBIN and AstroWAV. I'd like to see how they handle to format.

For a speed test, which has nothing to do with the tape-loading ability, I'd like to choose a BASIC program that can be used as a timer and then start it at the same time on real hardware and under emulation and see how they compare. I'm not sure what would be a good program for that yet. I might ask around.

I'm thrilled with the results I've seen. When I saw the The Gate Escape's title screen load on the emulation screen I about had a heart attack. After all of these years, I never thought that I'd see that happen.

Are there any tests that anyone would like to see me run? Also, I still can't figure out how to place inline images into these posts.

Adam

Joined: Feb 2007
Posts: 549
S
Senior Member
Senior Member
S Offline
Joined: Feb 2007
Posts: 549
it's not possible to upload files to this forum. You have to link to images stored somewhere else.

I was thinking that it might be useful if you could provide an unaltered .wav recording of a "real" 2000 baud program, you'd be surprised what can be learned just by comparing .wav files in an audio editor.

That might be the fastest way to help if you don't have much time.

(just thinking out loud, of course I could be wrong and the last thing I want to do is to waste anyone's precious time)


Page 3 of 5 1 2 3 4 5

Link Copied to Clipboard
Who's Online Now
0 members (), 101 guests, and 0 robots.
Key: Admin, Global Mod, Mod
ShoutChat
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics9,345
Posts122,343
Members5,082
Most Online1,283
Dec 21st, 2022
Our Sponsor
These forums are sponsored by Superior Solitaire, an ad-free card game collection for macOS and iOS. Download it today!

Superior Solitaire
Powered by UBB.threads™ PHP Forum Software 8.0.0