![]() |
![]() |
#1 | |
Registered User
Join Date: Jun 2015
Location: Umeå / Sweden
Posts: 267
|
CD32-tools
Here's a thread created so we don't have to pester the CD32Load-thread with too many off-topic posts about various tools to help with CD32 iso creation and other things CD32-related.
The following is just copy-pasted from my post in that very CD32Load-thread: Quote:
|
|
![]() |
![]() |
#2 |
Registered User
Join Date: Dec 2013
Location: Auckland
Posts: 3,561
|
I don't have anything to add yet, just posting so I can subscribe to replies
![]() |
![]() |
![]() |
#3 | |
Registered User
Join Date: Jan 2005
Location: Umeå
Age: 44
Posts: 962
|
Quoting from the CD32Load thread
Quote:
Right now I have an older E-UAE 0.8.9 (which is really fast at creating the iso with ISOCD) running minimized for iso creation only. So I just compile my stuff (cross compiling vbcc/vasm), execute the buildiso.sh script, then when the iso is done (under 10 seconds on old Core2duo laptop), I just reboot FS-UAE which I have running at the same time for CD32-emulation, which then boots with the fresh iso ![]() I created a minimal archive with the stuff needed for inetd. It is based on the AmiTCP 4.0 demo, just made a few modifications so the binaries doesn't depend on AmiTCP:. Just extract to SYS: http://megaburken.net/~patrik/inetd_minimal.lha Have also imported the iso-related scripts into a github repo: https://github.com/patrikaxelsson/cd32tools It actually contains a more recent, faster and a bit shorter version of the generateLayout.py and it would be great if you could contribute the windows changes you made ![]() It was actually my first thought to write a script which created the iso directly, but figured it was better to start small and for started generate the layout ![]() |
|
![]() |
![]() |
#4 |
Registered User
Join Date: Jun 2015
Location: Umeå / Sweden
Posts: 267
|
Here's a short guide on how to get inetd running and launching my script which starts ISOCD, first download http://megaburken.net/~patrik/inetd_minimal.lha and extract it to sys:, it should not overwrite anything of importance (but if you're scared, extract it somewhere else and manually copy everything to the correct place).
There is a file in the lha called S/User-Startup.inetd_stuff - the contents of this file should be added to your S:User-Startup, simply do a: Type S:User-Startup.inetd_stuff >>S:User-Startup The next thing we need to do is add a service to the host OS, if you're running Windows this will be located in C:\WINDOWS\System32\Drivers\etc\services or somewhere similiar (that was the path on a virtual XP-machine I checked with, might have moved in later versions of Windows) and if you're running Linux or MacOS X it's located in /etc/services . Open this file with a text-editor and add a line to the bottom of the file that looks something like this: Code:
buildcd 1234/tcp # Build Amiga CD Now for our final part we need to copy my script (build_cd32cd) to C: (or wherever you want it) in UAE - modify it to your needs (some paths will need changing). Observe that ISOCD has a bit of an odd syntax for an Amiga-program, so if you have your layout-file as DH0:cd32.layout you use -lDH0:cd32.layout as an option to ISOCD to specify the file. In S:inetd.conf the following line is already added if you downloaded patriks inetd-lha but I thought I might mention it in case anyone wants to add other scripts, this is what you add: Code:
buildcd stream tcp dos bin - Execute C:build_cd32cd |
![]() |
![]() |
#5 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,436
|
Thanks for the input! I could never figure that out alone so quickly! specially for the amiga part.
So it means that I could also trigger the build of cd32load with some windows-based command. Interesting. Patrik I ll certainly contribute as I love using python for fun stuff. I also volunteered to teach python to my fellow workers which grants me one free meal every now and then. I ve already modified your generatelayout script so it runs on windows and can be imported as a module. I ll redo my changes on your new src. Last edited by jotd; 26 February 2016 at 12:32. |
![]() |
![]() |
#6 |
Registered User
Join Date: May 2001
Location: ?
Posts: 19,665
|
Jotd, would you be up for explaining how to use this on Windows? I dont have Linux.
|
![]() |
![]() |
#7 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,436
|
I'll explain when I'm running it on my machine, which is still a dream :=)
Patrik & his friends seem to have a head start on Linux with all the stuff (just tried vasm on Windows, ouch!!!). I'll try to install it on my Windows box and I'll tell you. Let's do things one by one. In a surge of laziness I was wondering if there wasn't a python script to create ISO9660 images so I googled it, and no luck. BUT, the old mkisofs command (Linux & Windows) is able to create an ISO file on command line. So I was wondering if it was difficult to insert the CDTV.TM or CD32.TM at the proper location so CD32 boots from the CD? Wrap this in a nice python script and you have a cool tool to master CD32 compilations, without using UAE. Edit: someone already did it and I was the one asking only 2 months ago !! memory playing tricks, but logic is intact so I come up with the same solutions everytime ![]() http://eab.abime.net/showthread.php?p=1059864 Last edited by jotd; 26 February 2016 at 17:13. |
![]() |
![]() |
#8 |
Registered User
Join Date: Jun 2015
Location: Umeå / Sweden
Posts: 267
|
@jotd, I have been thinking about mkisofs also, I wonder if the ISO is padded in some way for the trademark file or if there is some space free in the ISO specification?
|
![]() |
![]() |
#9 |
Registered User
Join Date: Jun 2015
Location: Umeå / Sweden
Posts: 267
|
@jotd: Just saw your edit, that's awesome! Gonna try it out.
|
![]() |
![]() |
#10 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,436
|
It doesn't work: the python post-processing detects an invalid ISO image. I have replied SysX in the original thread. Maybe Patrik can check the script in the meanwhile. I think the ISO image is fine...
Edit: there's a problem in the python file, and it's pretty trivial and cannot work, last minute change, untested I guess make_cd32_iso.py line 211: if (ord(iso_tmp[0x808C]) != 0x13) and (ord(iso_tmp[0x8097]) != 0x15): (add ord to convert chars to ASCII code and the check passes!!) Edit: AAAAAND it works!! that's the coolest!!! I have an issue with AMSCD32 since the mkisofs command converts all filenames to uppercase, I'll sort this out. But I tried a game from CD with CD32load (using Psygore CD loader) and it works. All you need is the archive in the zone, but the creative part is much smaller. You can download a windows/Linux distrib of mkisofs, install it somewhere and I'll zone the working scripts. Last edited by jotd; 26 February 2016 at 17:56. |
![]() |
![]() |
#11 |
Registered User
Join Date: Jun 2015
Location: Umeå / Sweden
Posts: 267
|
Yeah, I got it working aswell, the biggest hurdle for me was windows linebreaks which messed up some things but after running dos2unix on the files and adding your fix it seems to work! Gonna do some more tests and compare the results to a small ISO created with ISOCD!
|
![]() |
![]() |
#12 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,436
|
Well, ISOCD seems to be able to do a better job creating an ISO image without having to convert everything to uppercase.
I have tried to set -allow-lowercase instead of -relaxed-filenames option but in that case, the ISO file does not boot (no startup sequence) So if someone can come up with a solution to generate the filenames without converting them to uppercase AND the CD boots I'll take it. |
![]() |
![]() |
#13 |
Registered User
Join Date: Jun 2015
Location: Umeå / Sweden
Posts: 267
|
I added the flag "-allow-lowercase" to mkisofs and it worked!
![]() Now to get rid of that rr_moved directory (I added Rockridge extension since the directory nesting on our CD was to deep) |
![]() |
![]() |
#14 |
Registered User
Join Date: Jun 2015
Location: Umeå / Sweden
Posts: 267
|
Okay, that was easy, I just added -D to mkisofs aswell, seems to be fine now! Gonna do some testing with a CD created this way on real hardware though!
Oh, and just for clarity, this is the mkisofs-line I ran now: mkisofs -quiet -D -allow-lowercase -V cd32comp -copyright none -publisher none -o cd32.raw -relaxed-filenames -d -input-charset ASCII -output-charset ASCII -iso-level 3 -A "" -sysid CDTV rootdir rootdir is the name of the directory all files for the CD is stored, not sure about -sysid CDTV but it was so in the dune-example so I just left it like that, doesn't seem to matter. |
![]() |
![]() |
#15 |
Registered User
Join Date: Jan 2005
Location: Umeå
Age: 44
Posts: 962
|
Great progress on mkisofs!
Feels a bit non-relevant now, but put together a very very simple script earlier today for triggering the ISOCD build. The thought was that if you have python to generate the layout, but lack netcat or something similar, you can use python to connect to inetd and trigger the build: http://megaburken.net/~patrik/readSocket.py |
![]() |
![]() |
#16 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,436
|
Hey Patrik your script can still be useful to trigger some other Amiga stuff. I wasn't able to build my src with vasm for instance. Unknown directive "include", well that settles it. No way I'm porting my code to vasm since it works fine from BASM or phxass.
Vamos could be a good lead but I have trouble with linking and M$ libs in Cython (but that's really something I want to make work this year, including maybe a 68k thingy at work that would make me a semigod there!!). And what about building whdload slaves from vasm (when it works) and then launch whdload from windows! @jayminer: your command lines produces a non-bootable CD here. WinUAE just pops an AmigaDOS prompt and startup is not executed. This is because of the -allow-lowercase option. Without it, it would work, but the UPPERCASE names are ugly, and I have a problem with my menu starter that scans files ending with ".start" in lowercase (that's lame!) Last edited by jotd; 27 February 2016 at 01:55. |
![]() |
![]() |
#17 |
Registered User
Join Date: May 2001
Location: ?
Posts: 19,665
|
I guess this is too technical for me, I hope some solution/tutorial for lamers like me come up later!
|
![]() |
![]() |
#18 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,436
|
Don't worry, I'll eventually write a python script to wrap all this up in a simple tool.
|
![]() |
![]() |
#19 | |
Registered User
Join Date: Jan 2005
Location: Umeå
Age: 44
Posts: 962
|
Quote:
Did a quick test here: Code:
$ cat test.s include bestroutine.s $ cat bestroutine.s rts $ vasmm68k_mot -Fhunkexe -o testexe test.s vasm 1.7d (c) in 2002-2015 Volker Barthelmann vasm M68k/CPU32/ColdFire cpu backend 2.1 (c) 2002-2015 Frank Wille vasm motorola syntax module 3.8a (c) 2002-2015 Frank Wille vasm hunk format output module 2.7 (c) 2002-2015 Frank Wille CODE(acrx2): 2 bytes |
|
![]() |
![]() |
#20 | |
Registered User
Join Date: Jan 2005
Location: Umeå
Age: 44
Posts: 962
|
Quote:
|
|
![]() |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Looking for some basic IP tools en SDK tools | Roland007 | support.WinUAE | 0 | 28 November 2012 22:34 |
Tools | alexh | support.Hardware | 15 | 05 August 2010 23:27 |
Need a few tools | Phantomz | request.Apps | 6 | 22 November 2008 03:15 |
Tools? | Kada | project.Amiga Game Factory | 1 | 05 February 2008 09:58 |
CD32 / Daemon tools lockup? | Mclane | support.WinUAE | 0 | 01 April 2003 18:20 |
|
|