Jump to content
HyperSync, HyperList and FTP are now back online ×

Archived

This topic is now archived and is closed to further replies.

Rhoobarb2005

CD32 on Shield TV - Step by Step How To

Recommended Posts

Some caveats to begin with, please read first:

  • This is not an easy system to get working, you will come across issues at some point. Hopefully this guide will answer some of those, but if not, post the issue and what stage you are at. Someone should be able to help.
  • This guide is written for the Nvidia Shield TV running Pie (Android Experience 8), it MAY work on other STV’s, I have no way of knowing or testing. But by all means, give it a go.
  • I used UAE4Arm version 1.0.0.19 . It may not be the most stable, or up to date emulator. But AFAIK, it is the only one that supports CD32 CD’s and CD audio too. The latest version DOES NOT currently work on the Shield TV.
  • This info is based on a lot of user’s trial and error, so it may not be the most streamlined solution. It may have steps that are unnecessary, or not optimised, but that is just part of that trial and error process. At least it is working.
  • Most of this is done in Windows. For any other OS, most steps should work, but you may need to find alternative software that does the same thing.
  • There is some naming conflicts between Hyperspin (and nearly everything else in the emulation world) and any of the UAE emulators. In UAE, BIOS’s are called Roms, and what Hyperspin, et al. call Roms, are called images/discs/disks/cd’s (depending on the source) in UAE. Keep that in mind.
  • We will be altering/changing/extracting the game files, makes sure you have backups. Don’t try this with your originals unless you don’t mind redownloading them if it goes wrong.
  • I take no responsibility on anything going wrong. I will try to simplify things as much as possible, and warn about potential problems. But if anything goes wrong, that is on you. All I can say is this worked for me. Always backup!
  • If you have any concerns, just test the whole process out on 1 game. Then when it all works, you can do the rest.
  • Although I have dabbled in Amiga emulation since 1997, I am by no means an expert.
  • I will also try to elaborate on any “this HAS to be like this” steps (check the quote sections). It might help some who want to know the processes.I will try to make it as easy to follow as I can, but explain as much as possible. If you already know why/how/etc, then good for you! ?
  • This will have stuff added and removed as issues or points get raised.
  • I have made this in about 3 hours, mainly from memory, so please be patient with my ramblings :D
  • And importantly, thanks to Honosuseri, thatman84 and sanchezmike01 for the help.

If you like this tutorial and find it useful, great! If you don't, well I am sure there is a flaming bag of dog poop with my name on it outside my front door anytime from now. If it accidentally set fire to your Shield, what are you doing complaining to me!? Put it out!!! If there is enough interest I may do step by step screenshots too.

On to the good stuff..

Windows software used in this tut:

  • Bulk Renamer Utility
  • Agent Ransack (A powerful windows search tool)
  • Notepad++
  • WinRAR
  • Dir.bat - A simple batch file I wrote to output a directory’s contents to a text file.* DOWNLOAD HERE
  • UAEFiles.exe - A small program I wrote to generate UAE files.* Early version  DOWNLOAD HERE

*Not required if you are wary of downloading some random, forum stranger’s own-made program, but it does make the boring, time consuming bit go a lot faster.

Android emulator used is:

  • UAE4Arm version 1.0.0.19
Quote

Here is a link to Uae4arm 1.0.0.19 which was supplied by the Developer Lubomyr.

Although Uae4arm is on the Google Play Store it has now been listed as not compatible for Android TV devices, so we have to "sideload" this apk (https://drive.google.com/file/d/1N6lR5QWREPhXXdUdDOOa5gnMD99kDX4V/view) to use an older version.

- Credit to Honosuseri

Anything else I need?:

  • The Amiga CD32 Kickstart Rom AND the CD32 Extended Rom.
  • Labelled as cd32kick31.rom & cd32ext.rom and placed in your /Android/data/atua.anddev.uae4arm/files/roms/ folder.

What you need to know first:

  • The Android file system identifies your hard drive via it’s drive id, this will be a long list of numbers and letters. You need to know this number. You should be able to find out via a file manager.
  • Although uae4arm suggests purchasing the Amiga Forever essentials app on the Playstore, as it will auto detect those Amiga kickstart (i.e BIOS) files. The kickstarts for the CD32 are NOT included, so need to be sourced elsewhere. - Credit to Honosuseri

Some assumptions I am making in this guide:

  • I am assuming that your CD images are archived as .zip or .rar.
  • I am assuming you have not altered anything in the UAE4Arm configuration screen.

Share this post


Link to post
Share on other sites

Step 1. File handling.

Firstly, copy the rom files to your Android\data\atua.anddev.uae4arm\files\roms folder on your storage device.

Create a directory labelled “CD32” (without quotation marks) in your Hyperspin\Roms directory on your storage device. Inside that, create another folder called “roms”.

Now you should have “Drive Letter:\Hyperspin\Roms\CD32\roms” as your directory structure.

Now move/copy all your CD image archives to that last roms folder. Now, select them all, right click and choose “extract each archive to separate folder”. You should now have a bunch of folders, with game names, and if you look inside one, you should see 2 or 3 file types. .CUE, .ISO and sometimes either .WAV or .MP3 files too.

You can now go back and delete or move the archives you just extracted, they are no longer needed.

Quote

WHY SEPARATE FOLDERS?: Each archive may contain 10+ files for 1 game, having each game’s files in a separate folder keeps things tidier, and easier to maintain or alter.

Quote

WHY EXTRACT THE ARCHIVES?: UAE4Arm does not play with archives unfortunately.

Quote

WHAT ARE THESE FILES?: ISO files themselves are file containers (also known as images) like zip or rar archives, that hold the actual game data inside. You can open these and have a look at the game files inside.
WAV files are audio files that are uncompressed. MP3 files, like WAV files, are audio files too, but they are compressed to save space. They are the CD audio tracks from the game.
CUE files link the ISO and audio file types together in the same way a book’s contents page links the sections together. Any program that accesses these CUE files will know that X WAV or MP3 audio file, belongs to Y ISO data file as a package.

Quote

I DON’T HAVE ANY CUE OR ISO FILES: UAE4Arm does not support other file types for CD32 (at least, I don’t think it does). If you find you have other image types like .IMG, .CHD, .CCD, etc. Then they will not work. You will either need to convert them (if possible), or find a different source.

Quote

I DON’T HAVE ANY WAV OR MP3 FILES: Sadly many games were just straight copies to CD and not enhanced to make use of the space or audio capabilities. So many games do not have CD audio. It was always disappointing to buy a CD32 game, only to find it was a single ~700kb floppy disk’s worth of game put onto a 700MB CD with nothing else. It felt like such a wasted opportunity every time. And part of the reason why the CD32 flopped unfortunately.

Quote

WOW, THE AUDIO FILES TAKE UP A LOT OF SPACE: Yes, audio files are pretty big when uncompressed. The games can run without them if you need to save space. But you will find for many games that the audio not being there leaves a lot of silence in places. If you really want to save space, you can just delete the WAV, MP3 and CUE files, and just run the ISO files. If you have WAV files and want to save space while keeping the CD audio, you can compress them to mp3, but you will need to alter each cue file to reflect those changes (easily enough done). If you want to know more about how to do that, this tutorial is not it. This tutorial assumes you want to keep the audio as close to original as possible.

 

Share this post


Link to post
Share on other sites

Step 2. Renaming the files.

Open Bulk Rename Utility.
Firstly some actions are automatically ticked on starting this program, we need to untick the tick boxes next to the following unnecessary actions:

  • RegEx (1)
  • Name (2)
  • Case (4)
  • Remove(5)
  • Move/Copy Parts (6)
  • Add (7)
  • Auto Date (8)
  • Append Folder Name (9)
  • Numbering(10)

On the top, left hand side directory tree, navigate to the roms folder. You should see the games folders we just extracted populating the right hand window.

In the Replace (3) section, type a space into the Replace text box, and type an underscore into the With box.

On the Filters (12) section, make sure that Folders, Files and Subfolders are all ticked.

Now in the Actions menu at the top, click on Select All. This should highlight all the files and folders in the top right window. Under the New Name tab, it should show all the spaces being replaced by underscores.

You can now press the Rename button at the bottom. Go on, do it!

Quote

WHY REPLACE THE SPACES?: In times past, certain systems did not like spaces in the file and folder names, as it caused problems with the limited file handling systems. Especially systems that were much more command line based, as spaces would indicate a break for the next part of the command. More recent command line interfaces allowed filenames with space by using quotation marks to encapsulate the filename. Hyperspin has a problem with spaces in certain file names. As for non-alphanumeric characters like “ ‘ ( )!, etc. I have not come across any problems yet, but it might be worth keeping in mind if you do.

Quote

WHAT ABOUT ALL MY MEDIA FILES?: You will also need to do this for any files in your Hyperspin -> Media -> CD32 folder if you want the media to work.

 

Share this post


Link to post
Share on other sites

Step 3. Batch Edit the CUE files.

You can skip this step if you want to do it all manually ?

Load up Agent Ransack and Notepad++.

In Agent Ransack, browse to your Roms -> CD32 -> roms folder. Make sure the Subfolders tick box is ticked.

In the filename text box type in *.cue. Click Start.

This should search for, and list, all the .cue files for your games. Scroll through the list to double check they are all there. Now click on Edit at the top, then Select All. Now drag all the selected files into Notepad++. It should open each file as a separate tab at the top in Notepad++.

Now click on Search at the top, then click on Replace.

At the bottom of the Replace box, make sure the Regular expression button is selected

In the Find what: text box type in the following: (\"[^ ]*) (.*\" )

In the Replace with: text box, type in the following: $1_$2

Now click the button Replace All in All Open Documents

At the bottom of the Replace window it should say something like:

Replace in Opened Files: XX occurrences were replaced.

Press the Replace All in All Open Documents button again. You should get another.

Replace in Opened Files: XX occurrences were replaced.

Keep pressing the Replace All in All Open Documents button until the listed occurrences are 0. It would probably be a maximum of 10-12 button presses.

Then, close the Replace window and click File at the top, then Save All

Quote

OK, SO WHAT DOES THIS DO?: This action replaces the spaces only in the filenames within the CUE files, without touching the other spaces outside of the filenames, like a simple replace “ “ with “_” would.

Quote

WHY DID I HAVE TO KEEP PRESSING THE BUTTON?: I couldn’t find any Notepad++ expression functions that would allow me to do it all on a single button press. If you can, by all means post it.

Share this post


Link to post
Share on other sites

Step 4. Create UAE files.

First we need to copy both the batch file, and the little program I created to the Roms/CD32/roms directory.

Now run the batch file. This creates a CUE.txt file.

Now run the exe file, type in your hard drive id number in the relevant box, click start.

This will create a bunch of ready to go .UAE files based on your games.

That is the configurations for the emulator bit done.

Quote

WHAT DOES THAT BATCH FILE DO? The batch file simply uses a simple command to output the current directory layout to a file instead of to the screen. Nothing more.

Quote

OK, SO WHAT DOES THIS SKETCHY LOOKING EXE FILE DO? I created the exe file to automate the laborious task of creating a uae file, and then adding all the CD32 configuration settings to it, then adding the game path and details to it. It uses the txt file generated by the batch file above to create each game file. It looks crap because I have not done any kind of UI for it. It will improve over time as I add things to it of course. I created it in less than an hour, sorry if it not pleasing to the eye. (I will just go and have a little cry in the corner). I have programmed it in Visual basic 6 because I don’t want to have to learn a whole new programming language to make a simple file generator. It may require some VB runtimes to run. I am not sure. Let me know. Anyway, enough tears, let's move on.

Quote

WHAT ARE UAE FILES? .UAE files are small configuration files that, when activated, tell the emulator all the settings and file locations for that game. Unlike most emulators that are happy being told to run a game file directly, UAE needs to know the configuration to use first, to allow it to run games. These .UAE files are the key to getting Hyperspin to run a selected CD32 game.

Quote

CAN I EDIT THESE UAE FILES?: Yes they are just text files containing configuration data, in the same style as .ini and .xml files.

Quote

CAN YOU TELL ME WHAT ALL THESE CONFIGURATION ITEMS MEAN?: No, I only know what I needed to know to get it to work. Google is your friend.

Share this post


Link to post
Share on other sites

Step 5. Almost there, can you feel it?

Now you need to test that everything has worked up until this point. Load whatever file manager you have on your Shield TV. Locate your hard drive, go to the Hyperspin/Roms/CD32/roms folder, and try to open one of the .UAE files. It should ask you what you want to do with the file, just tell it to open UAE4Arm with it.

Now all being well, after a short while (be patient, the system used a 2 speed CD drive, not exactly SSD speeds) you should boot straight into the game after seeing the splash screen.

I recommend Bubba ‘n’ Stix as a test game as it uses CD audio for the intro, a quick way of checking if It is working.

Troubleshooting at this point is best. If it hasn’t worked there is no point going further until you have found out why.

Firstly, try another .uae file.

NO CD AUDIO: If you can see animated the intro playing through but no sound, then that indicates an issue with the .cue file. Open the .cue file in notepad++ and compare the filenames listed in the file, to what you have actually got.

ALL I CAN SEE IS A BLUE FLOPPY DISK ON A WHITE BACKGROUND SAYING WORKBENCH 1.3: This is the standard boot screen for the A500/A500+. If you are seeing this, then there is an issue with your uae file looking at either the wrong workbench rom, or you have installed the wrong workbench rom. Not sure how, but hey, at least you know what the problem is.

ALL I CAN SEE IS A MAGENTA SCREEN WITH A DISK INSERTING INTO A DISK DRIVE ON A LOOP: This is the standard Workbench 3.1 boot screen, which the CD32 does have. But CD32 owners never saw that boot screen because the CD32 extended rom would take over and provide it’s own custom boot screen first. If you are seeing this, then there is a problem with the extended rom being missing or not correctly listed in the .uae file.

ALL I CAN SEE IS THE AMIGA CD32 LOGO, A BIG CD IMAGE AND SOME RAINBOW COLOURS, NOTHING ELSE HAPPENS: This is the proper CD32 boot screen. This is the screen you get if the disc is not bootable, or no disc at all. There is either a problem with the .cue file location, .cue file contents, or location within the .uae file. Check for spaces in filenames.

So, if all went well, YAAAAAY!

Without much more work you should be able to use something like ARC Browser. Just remember the “roms” that you need to search for are the uae files, not zip, cue, iso, rar, chd, etc.

Hyperspin is a bit more complex than that, but nothing that isn't elsewhere on this site.

I will add the next step, adding to Hyperspin, when I have finished it, and tweaked this bit. Most of you could probably work out the rest. But this should at least get your emulator up and running to test the games out. Like I said, if the games aren’t running at this point there is not much point trying to get it integrated into Hyperspin until it’s sorted.

People will have issues not covered here. As they do I will add them to the questions.

I have probably missed some stuff as it was from memory, but I think I have got it all. If I haven't let me know ;)

Share this post


Link to post
Share on other sites

I'm not Super liking this just because I was given credit. This is one of the best written tutorials I've seen on the forum! I'm glad my adventures in all things Amiga have helped others along :)

I'll provide a link for people to download Uae4arm 1.0.0.19 which was supplied by the Developer Lubomyr. Although Uae4arm is on the Google Play Store it has now been listed as not compatible for Android TV devices, so we have to "sideload" this apk (https://drive.google.com/file/d/1N6lR5QWREPhXXdUdDOOa5gnMD99kDX4V/view) to use an older version.

Share this post


Link to post
Share on other sites
2 hours ago, Honosuseri said:

I'm not Super liking this just because I was given credit. This is one of the best written tutorials I've seen on the forum! I'm glad my adventures in all things Amiga have helped others along :)

I'll provide a link for people to download Uae4arm 1.0.0.19 which was supplied by the Developer Lubomyr. Although Uae4arm is on the Google Play Store it has now been listed as not compatible for Android TV devices, so we have to "sideload" this apk (https://drive.google.com/file/d/1N6lR5QWREPhXXdUdDOOa5gnMD99kDX4V/view) to use an older version.

You guys helped get me to the destination. It's only fair I return the thanks.

How could I forget about the sideloading bit, ugh. Thanks will add it.

Share this post


Link to post
Share on other sites
24 minutes ago, Rhoobarb2005 said:

You guys helped get me to the destination. It's only fair I return the thanks.

How could I forget about the sideloading bit, ugh. Thanks will add it.

No worries. Can I ask, why you are renaming the cue files? Is it to do with you auto generating the uae files?

I'll give an example of a game Akira. I have it in it's own folder Akira (CD32) and the files are Akira (1994)(ICE)[!].cue Akira (1994)(ICE)[!].iso. (Full path is /storage/emulated/0/Hyperspin/Roms/Commodore_CD/games/Akira (CD32)/Akira (1994)(ICE)[!].cue

You'll note that I do have spaces in the directory and file names and they don't actually match the Hyperspin naming convention. The uae file can NOT have the spaces though, so yes replacing those spaces with "_" is required. Hyperspin is looking for the uae file as we list that as the extension in the CD32.ini file, so the name of the CD rip isn't important as long as it's contained within the uae file. Because the uae files can NOT have spaces, the Amiga CD32.xml database file does need editing to include the underscores. Obviously all uae and media files must match the names used in the xml file, Hyperspin is incredibly fussy about naming as people new to it will discover.

Share this post


Link to post
Share on other sites
18 minutes ago, Honosuseri said:

No worries. Can I ask, why you are renaming the cue files? Is it to do with you auto generating the uae files?

I'll give an example of a game Akira. I have it in it's own folder Akira (CD32) and the files are Akira (1994)(ICE)[!].cue Akira (1994)(ICE)[!].iso. (Full path is /storage/emulated/0/Hyperspin/Roms/Commodore_CD/games/Akira (CD32)/Akira (1994)(ICE)[!].cue

You'll note that I do have spaces in the directory and file names and they don't actually match the Hyperspin naming convention. The uae file can NOT have the spaces though, so yes replacing those spaces with "_" is required. Hyperspin is looking for the uae file as we list that as the extension in the CD32.ini file, so the name of the CD rip isn't important as long as it's contained within the uae file. Because the uae files can NOT have spaces, the Amiga CD32.xml database file does need editing to include the underscores and obviously all media files must also match. Hyperspin is incredibly fussy about naming as people new to it will discover.

The uae file is generated by copying the folder names, but if it doesn't need any more filename changes past that, then I will edit it ?

Share this post


Link to post
Share on other sites
11 minutes ago, Rhoobarb2005 said:

The uae file is generated by copying the folder names, but if it doesn't need any more filename changes past that, then I will edit it ?

I thought so. I can confirm the CD rip names don't need to be changed, I've had this system configured and working for a looong time now. Same goes for CDTV games, this guide essentially covers that system too although we seem to be limited to the CDTV games that are compatible with the CD32 system.

In regard to the Kickstart roms. It might be worth mentioning that although uae4arm suggests purchasing the Amiga Forever essentials app on the Playstore, as it will auto detect those Amiga kickstart (i.e BIOS) files. The kickstarts for the CD32 are NOT included, so need to be sourced elsewhere. Just an FYI in case it confuses users at some point.

Share this post


Link to post
Share on other sites
31 minutes ago, Honosuseri said:

I thought so. I can confirm the CD rip names don't need to be changed, I've had this system configured and working for a looong time now. Same goes for CDTV games, this guide essentially covers that system too although we seem to be limited to the CDTV games that are compatible with the CD32 system.

In regard to the Kickstart roms. It might be worth mentioning that although uae4arm suggests purchasing the Amiga Forever essentials app on the Playstore, as it will auto detect those Amiga kickstart (i.e BIOS) files. The kickstarts for the CD32 are NOT included, so need to be sourced elsewhere. Just an FYI in case it confuses users at some point.

Thanks, added the rom info. I am just editing the program now.

Share this post


Link to post
Share on other sites
36 minutes ago, Rhoobarb2005 said:

Thanks, added the rom info. I am just editing the program now.

I have absolutely no issue with the CD rips being renamed if it helps auto generate uae files. I may in fact rename my set to the Hyperspin naming convention for PC use, although personally I'm more bothered about the Amiga than the CD32 currently.

All the best with it

Share this post


Link to post
Share on other sites
2 hours ago, Honosuseri said:

I have absolutely no issue with the CD rips being renamed if it helps auto generate uae files. I may in fact rename my set to the Hyperspin naming convention for PC use, although personally I'm more bothered about the Amiga than the CD32 currently.

All the best with it

I felt it just made things more uniform across the files, as opposed to having 2 different naming conventions, but I suppose it's down to user taste.

Initial 0.1 version of the UAE generator is now available to download. If anyone can do any testing, that would be awesome.

Share this post


Link to post
Share on other sites
3 hours ago, Honosuseri said:

I have absolutely no issue with the CD rips being renamed if it helps auto generate uae files. I may in fact rename my set to the Hyperspin naming convention for PC use, although personally I'm more bothered about the Amiga than the CD32 currently.

All the best with it

I'll be starting the disk based Amigas next, although I may split the OCS/ECS and the AGA hardware into 2 separate wheels. The gameboy and gameboy colour get 2 wheels, so I see no reason not to. It will make UAE file generation a lot easier too.

Share this post


Link to post
Share on other sites
On 8/16/2019 at 2:54 PM, Rhoobarb2005 said:

I'll be starting the disk based Amigas next, although I may split the OCS/ECS and the AGA hardware into 2 separate wheels. The gameboy and gameboy colour get 2 wheels, so I see no reason not to. It will make UAE file generation a lot easier too.

I'm already doing that, I have my own thread on the Amiga it's worth a read as what I intend to do. I actually did an Amiga analogy with the Sega Mega Drive and it's hardware addons, MD=OCS/ECS, 32X= AGA (better graphics), Sega/Mega CD= CD32 (games with FMV and CD audio).



In short we have found the WHDload collection converted to hdf files is best, adf files can be used for games not in that collection but Hyperspin has no database or media for those games (yet). The emulators on Android don't do cycle exact emulation, so each game needs to be checked it's running at the correct speed and changes to the uae files made accordingly.

Ransom is doing a new collection of hdf files, he told me recently he's maybe a month or two away from completion (last I heard he's done 1,800 titles). Once I have these files I can get to work, he should also get back to me about the CDTV "Extra chipset" and Amiberry soon.

Share this post


Link to post
Share on other sites

×
×
  • Create New...