Discussion:
RPG's (Ultima V specifically) on ProDO
(too old to reply)
Arsene Lupin
2017-11-17 22:24:15 UTC
Permalink
Pardon me if this dead horse has been beaten thousand times already :-D

I totally enjoy the great work from qkumba (many thanks!) but his focus is mostly on action games. My uncontrollable itches are on RPG's, especially the greatest one on Apple II: Ultima V. I poked around and found:

1. All disks seem to have a standard ProDOS structure.
2. But, it's using a proprietary OS called DINKYDOS.
3. However, there does not seem to be any copy protection

So, how challenging is it to covert Ultima V into a ProDOS-HD installable package, qkumba? If a bounty/reward can motivate you even further I am more than happy to chip in my own shares, and I believe many people here would joint me too :-)

-AL
Anthony Ortiz
2017-11-17 23:26:10 UTC
Permalink
Qkumba is a busy man and far too important to be bothered with ... wait, did you say bounty?
Matthew Power
2017-11-18 03:24:24 UTC
Permalink
I think trying to find out about Dinky DOS itself, and its origins, is a worthy topic.
Antoine Vignau
2017-11-18 07:39:08 UTC
Permalink
U5 is:
1. running on a prodos structure
2. that is not run by the Prodos OS, DDos is really more limited and does not handle the file calls similarly to P8
3. copy protection on U5 was on the boot disk with sectors numbered 16-31 instead of 0-15.

IIRC, the memory usage prevents the real ProDOS from being used in U5. I should find my notes from a loong time ago but I think that was impossible due to that mem usage.

Antoine
qkumba
2017-11-18 17:10:12 UTC
Permalink
Post by Arsene Lupin
I totally enjoy the great work from qkumba (many thanks!) but his focus is mostly on action games.
That is primarily because they are the most common request.
Post by Arsene Lupin
So, how challenging is it to covert Ultima V into a ProDOS-HD installable package, qkumba?
I suppose that it will present a similar challenge to other titles that are memory-hungry. If I can find two regions of 512 bytes each, then I can do it.
Post by Arsene Lupin
If a bounty/reward can motivate you even further I am more than happy to chip in my own shares, and I believe many people here would joint me too :-)
:-) Thank you, but I can't accept anything more than thanks.
Anthony Ortiz
2017-11-18 18:32:54 UTC
Permalink
The qkumba has spoken!
qkumba
2017-11-18 20:34:43 UTC
Permalink
I just had a quick look. There are filename collisions across the disks. It looks like each disk contents would need to live in its own subdirectory.
Michael 'AppleWin Debugger Dev'
2017-11-18 21:10:38 UTC
Permalink
I thought some of the files were duplicated across disks to minimize swapping. Are the file contents actually different?
qkumba
2017-11-19 01:28:07 UTC
Permalink
Post by Michael 'AppleWin Debugger Dev'
I thought some of the files were duplicated across disks to minimize swapping. Are the file contents actually different?
I thought the same, and while some are identical, not all of them are (e.g. LOOK is obviously very specific to the location).
Arsene Lupin
2017-11-19 04:40:17 UTC
Permalink
This post might be inappropriate. Click to display it.
Arsene Lupin
2017-11-19 04:59:42 UTC
Permalink
Post by Arsene Lupin
Post by qkumba
Post by Arsene Lupin
I totally enjoy the great work from qkumba (many thanks!) but his focus is mostly on action games.
That is primarily because they are the most common request.
Post by Arsene Lupin
So, how challenging is it to covert Ultima V into a ProDOS-HD installable package, qkumba?
I suppose that it will present a similar challenge to other titles that are memory-hungry. If I can find two regions of 512 bytes each, then I can do it.
Post by Arsene Lupin
If a bounty/reward can motivate you even further I am more than happy to chip in my own shares, and I believe many people here would joint me too :-)
:-) Thank you, but I can't accept anything more than thanks.
Wow... Indeed The Qkumba has spoken :-) Thanks for picking up this request so quickly.
1. The file name is actually DINKEYDOS (sorry)
2. I used MERLIN 8 SOURCEROR to disassemble it with ORG:$2000, L:$1200. From my very limited knowledge it looks like a bare-bone RWTS that can handle ProDOS disks.
2.1. There are many large space holes in DINKEYDOS, i.e. full of $00 or $FF.
Regarding the two regions of 512 bytes, is it a reasonable requirement for the end package, should it be possible to build, to run on a 128K IIe so that qkumba can find them, or it's totally unrelated?
-AL
My luck! I found the old post from Antoine: https://groups.google.com/forum/#!topic/comp.sys.apple2/wJR4A4Euk4I

Important info from the post:
- $2000..$21FF: the init part and relocation routine of part 2
- $2200..$31FF: moved to $D000..$DFFF, it contains the I/O routines which contain a RWTS.

Yes, the DOS 3.3 RWTS with some code to transform file ops requests into disk drive read/writes.

Really funny!

That DOS uses 4KB and U5 loads data at $E000 (..$FFFF), I believe switching to ProDOS (P8) will not be possible. And with the room available, adding support for folders may be difficult...
Arsene Lupin
2017-11-19 05:13:15 UTC
Permalink
Post by Arsene Lupin
Post by Arsene Lupin
Post by qkumba
Post by Arsene Lupin
I totally enjoy the great work from qkumba (many thanks!) but his focus is mostly on action games.
That is primarily because they are the most common request.
Post by Arsene Lupin
So, how challenging is it to covert Ultima V into a ProDOS-HD installable package, qkumba?
I suppose that it will present a similar challenge to other titles that are memory-hungry. If I can find two regions of 512 bytes each, then I can do it.
Post by Arsene Lupin
If a bounty/reward can motivate you even further I am more than happy to chip in my own shares, and I believe many people here would joint me too :-)
:-) Thank you, but I can't accept anything more than thanks.
Wow... Indeed The Qkumba has spoken :-) Thanks for picking up this request so quickly.
1. The file name is actually DINKEYDOS (sorry)
2. I used MERLIN 8 SOURCEROR to disassemble it with ORG:$2000, L:$1200. From my very limited knowledge it looks like a bare-bone RWTS that can handle ProDOS disks.
2.1. There are many large space holes in DINKEYDOS, i.e. full of $00 or $FF.
Regarding the two regions of 512 bytes, is it a reasonable requirement for the end package, should it be possible to build, to run on a 128K IIe so that qkumba can find them, or it's totally unrelated?
-AL
My luck! I found the old post from Antoine: https://groups.google.com/forum/#!topic/comp.sys.apple2/wJR4A4Euk4I
- $2000..$21FF: the init part and relocation routine of part 2
- $2200..$31FF: moved to $D000..$DFFF, it contains the I/O routines which contain a RWTS.
Yes, the DOS 3.3 RWTS with some code to transform file ops requests into disk drive read/writes.
Really funny!
That DOS uses 4KB and U5 loads data at $E000 (..$FFFF), I believe switching to ProDOS (P8) will not be possible. And with the room available, adding support for folders may be difficult...
BTW, according to https://ia800503.us.archive.org/33/items/computist-scan-80/issue80.pdf , Origin used DINKEYDOS on at least 3 games: Ultima V, Omega and Windwalker, so if this conversion is successful we will have 3, not just 1, ProDOS-compatible games.
qkumba
2017-11-19 05:23:32 UTC
Permalink
After thinking about it further, I don't even need additional space. I had in mind originally to use my ProRWTS code, but then I realised that I can simply replace the existing game's floppy driver with a hard-disk one. The only issue is to intercept the label verification, which the game uses to determine which disk is in the drive. In that case, I need to point it to a subdirectory with corresponding name instead.
My ProRWTS code supports subdirectories already. I can reuse that part of the code, and just make a little loader to put the right starting-block into the DINKEYDOS file when it's loaded into memory.
It will still run in the original 64kb, too.
I expect to need only a few days to finish this one.
Once done, it should also be portable to other titles that use the same OS. The only part to change will be the subdirectory name that holds the DINKEYDOS file.
Arsene Lupin
2017-11-19 05:55:05 UTC
Permalink
Post by qkumba
After thinking about it further, I don't even need additional space. I had in mind originally to use my ProRWTS code, but then I realised that I can simply replace the existing game's floppy driver with a hard-disk one. The only issue is to intercept the label verification, which the game uses to determine which disk is in the drive. In that case, I need to point it to a subdirectory with corresponding name instead.
My ProRWTS code supports subdirectories already. I can reuse that part of the code, and just make a little loader to put the right starting-block into the DINKEYDOS file when it's loaded into memory.
It will still run in the original 64kb, too.
I expect to need only a few days to finish this one.
Once done, it should also be portable to other titles that use the same OS. The only part to change will be the subdirectory name that holds the DINKEYDOS file.
(* weeping uncontrollably... full of joy, of course :-D *)

You are totally awesome, qkumba! Millions of THANKS are on your way...
qkumba
2017-11-21 18:47:27 UTC
Permalink
Aaaand Ultima V performs direct disk-reading of content outside of the filesystem. Critical content, of course.
I thought that I had everything working (title sequence, character creation, etc. are working), but then I hit that problem.
I suspect that it's a form of copy-protection - it prevents the files from being copied alone from the disks.
That complicates things a bit. I need a few more days.
Anthony Ortiz
2017-11-21 18:54:09 UTC
Permalink
If there was an online masterclass on how the heck this is done hosted by the qkumba himself I would be first in line with money in hand.
Arsene Lupin
2017-11-22 08:58:23 UTC
Permalink
Post by qkumba
Aaaand Ultima V performs direct disk-reading of content outside of the filesystem. Critical content, of course.
I thought that I had everything working (title sequence, character creation, etc. are working), but then I hit that problem.
I suspect that it's a form of copy-protection - it prevents the files from being copied alone from the disks.
That complicates things a bit. I need a few more days.
No worries, qkumba. Any progress you made is already a major improvement and getting closer to my dream :-) I will wait patiently.

BTW, I am also preparing an interesting request to keep you busy after this :-D Stay tuned...

p.s. which Ultima V images are you using? Up to now, I have been using ftp://ftp.apple.asimov.net/pub/apple_II/images/games/rpg/ultima/ultima_V/u5prstin.zip and it seems the Program disk has been modified/hacked already. Besides, it was uploaded early (2005). There are many newer images (2012) but they don't look pristine either.
Delfs
2017-11-22 12:36:51 UTC
Permalink
No worries, just add the disk images as files and reroute the direct read routines to use the previously mentioned read routine. Bwahahaha (It's almost as if you explain things well enough for the laymen to interpret.)

Is it likely just the map data? I recall that the maps were sector based from the map generation programs I had hold of. If that's the case then the sectors can be converted to binary files and accessed accordingly. The only reason you need so many disks/folders is the maps...
qkumba
2017-11-22 21:11:49 UTC
Permalink
I thought initially that it's copy-protection-related, but perhaps it's not.
DinkeyDOS is really DOS 3.3 RWTS with a wrapper around it that understands ProDOS files. It does not have a File Manager equivalent, so there's no way to seek within a file. You read either the entire file or not.
That obviously doesn't work when you need just a few sectors. Hence the direct disk access for loading map regions.
So I get to extend DinkeyDOS to support seek within files, and then I'll be done (I have taught it already to understand subdirectories).

I'm using the u5prstin images.
They look fine to me. The program disk is never written. Only Britannia holds variable data (party, sound configuration).
Antoine Vignau
2017-11-22 23:23:18 UTC
Permalink
I have clean U5 crack/copy images somewhere here, I'll share them

And yes DD is only what you wrote :--(
av
Delfs
2017-11-23 08:59:58 UTC
Permalink
Ok, make each map sector it's own file. Bwahahaha, save some work!
qkumba
2017-11-24 15:50:26 UTC
Permalink
:-)
At 256 files for the Britannia disk alone, it would look like I wasn't trying.
qkumba
2017-12-01 00:34:50 UTC
Permalink
I'm close. At least, I think so.
I can walk around and the landscape is proper, even moving between regions like Dwelling->Britannia->Castle, etc.
However, there are some bugs - towns have no people, and combat places the party on water so you can't leave.
Matthew Power
2017-12-01 04:00:50 UTC
Permalink
Post by qkumba
I'm close. At least, I think so.
I can walk around and the landscape is proper, even moving between regions like Dwelling->Britannia->Castle, etc.
However, there are some bugs - towns have no people, and combat places the party on water so you can't leave.
This is the most exciting Apple II work-in-progress ever!
Delfs
2017-12-01 12:06:32 UTC
Permalink
Where's the thumbs up button? I am so looking forward to reading the process, probably more than actually being able to play the game if the hard drive. ;)
qkumba
2017-12-01 18:47:48 UTC
Permalink
Now I think that I'm done. Combat works, towns have people. It helps when you don't miss any tracks from the original disk... :-)
Anthony Ortiz
2017-12-01 18:56:08 UTC
Permalink
Post by qkumba
Now I think that I'm done. Combat works, towns have people. It helps when you don't miss any tracks from the original disk... :-)
Oh no he didn't!! Don't tell me the gkumba of all qkumbas did what no mere mortal has been able to do in almost 30 years because my brain will just explode all over my keyboard and cleanup will be a beach.

Say you didn't qkumba, say you didn't!!!
qkumba
2017-12-01 19:09:05 UTC
Permalink
Cover your keyboard!







:-) It's in Asimov /incoming awaiting moderation.
Arsene Lupin
2017-12-01 20:53:49 UTC
Permalink
Post by qkumba
Now I think that I'm done. Combat works, towns have people. It helps when you don't miss any tracks from the original disk... :-)
Awesome! Awesome!... And once more :-)

When do you think we can get out dirty paws on your work? Also it will be really great if you could attach a simple write-up about this wonderful journey.

And... can your work be recycled for other games based on DINKEYDOS?

-AL
qkumba
2017-12-01 21:29:05 UTC
Permalink
Well now, the Asimov administrator is *very* fast:
ftp://ftp.apple.asimov.net/pub/apple_II/images/games/collections/san_inc_prodos/ultima5%20PRODOS%20(san%20inc%20pack).po
qkumba
2017-12-01 21:34:05 UTC
Permalink
To copy it to a hard disk, you need just the U5 binary (that's the launcher) and all of the subdirectories. Yes, you can copy the set into its own subdirectory.

As far as other DINKEYDOS titles, I don't know without looking, but there's nothing Ultima-specific in there. I will look.

As for the write-up, yes I can do that.
qkumba
2017-12-01 21:42:09 UTC
Permalink
And I want to thank the Asimov administrator for putting up with me.
(S)he doesn't get nearly enough credit for running that site.
Anthony Ortiz
2017-12-01 21:48:30 UTC
Permalink
Post by qkumba
And I want to thank the Asimov administrator for putting up with me.
(S)he doesn't get nearly enough credit for running that site.
Is the admin Patrick Kane?
Arsene Lupin
2017-12-01 21:52:57 UTC
Permalink
Post by qkumba
And I want to thank the Asimov administrator for putting up with me.
(S)he doesn't get nearly enough credit for running that site.
I just got it and am playing it now. Wonder if I can find a way myself to copy my character over. If not I will ask for your assistance, qkumba :-D

Again, thanks a million! Never would I imagine that one day playing U5 can be this convenient :-)
Anthony Ortiz
2017-12-01 22:22:21 UTC
Permalink
Post by Arsene Lupin
Post by qkumba
And I want to thank the Asimov administrator for putting up with me.
(S)he doesn't get nearly enough credit for running that site.
I just got it and am playing it now. Wonder if I can find a way myself to copy my character over. If not I will ask for your assistance, qkumba :-D
Again, thanks a million! Never would I imagine that one day playing U5 can be this convenient :-)
How does is manage the disk swaps? Say it prompts you for dwelling disk?
Arsene Lupin
2017-12-01 22:28:04 UTC
Permalink
Post by Anthony Ortiz
Post by Arsene Lupin
Post by qkumba
And I want to thank the Asimov administrator for putting up with me.
(S)he doesn't get nearly enough credit for running that site.
I just got it and am playing it now. Wonder if I can find a way myself to copy my character over. If not I will ask for your assistance, qkumba :-D
Again, thanks a million! Never would I imagine that one day playing U5 can be this convenient :-)
How does is manage the disk swaps? Say it prompts you for dwelling disk?
No more swapping. qkumba's loader does all the tricks automagically.
Matthew Power
2017-12-02 01:09:06 UTC
Permalink
It is working great!!

On a IIe and a CFFA3000 I made it the boot image. I have a Passport MIDI clone (A2Heaven) in slot 2 connected to a Roland JV-1080 so I changed and saved the music configuration to the MIDI patches I made.

U5 is now playing PERFECTLY with this configuration, no disk-swapping, music works on cue...

This is TOTALLY AWESOME!!!!

Next I want to try and see if I can work it into an A2Desktop environment!
Matthew Power
2017-12-02 01:15:00 UTC
Permalink
Post by Anthony Ortiz
How does is manage the disk swaps? Say it prompts you for dwelling disk?
It doesn't ask. Well, the game asks if you want to leave/enter as it would, and when you confirm the next environment loads right away. So it never says "Please insert the Dwelling disk."
Arsene Lupin
2017-12-02 01:42:54 UTC
Permalink
Post by Arsene Lupin
Post by qkumba
And I want to thank the Asimov administrator for putting up with me.
(S)he doesn't get nearly enough credit for running that site.
I just got it and am playing it now. Wonder if I can find a way myself to copy my character over. If not I will ask for your assistance, qkumba :-D
Again, thanks a million! Never would I imagine that one day playing U5 can be this convenient :-)
A possible bug:
1. Environment: AppleWin (v1.26.3.4) with 64 RW3 banks (-r 64), HD in slot 7 running ProDOS 8 2.0.3, Mockingboard C in both Slot 4 & 5. CPU speed kept as authenticate 1MHz.
2. Copied all U5 files and directories to /applewin/origin.sys/u5 on my virtual HD.
3. Booted into ProDOS Launcher first and then ran LOADER.SYSTEM
4. U5 intro and music activation ran flawlessly, but after a pretty lengthy character creation process HD green light would keep flashing with no progress after at least 1 minute of waiting.
5. Restarted AppleWin and ran U5. Tried Journey Onward but U5 told me no active character :-(

Not sure if it's because of the virtual HD, emulator or something else. Mathew below reported success on the real machine. I am going to boot from your .po image directly and see what happens.
Arsene Lupin
2017-12-02 02:08:02 UTC
Permalink
Post by Arsene Lupin
Post by Arsene Lupin
Post by qkumba
And I want to thank the Asimov administrator for putting up with me.
(S)he doesn't get nearly enough credit for running that site.
I just got it and am playing it now. Wonder if I can find a way myself to copy my character over. If not I will ask for your assistance, qkumba :-D
Again, thanks a million! Never would I imagine that one day playing U5 can be this convenient :-)
1. Environment: AppleWin (v1.26.3.4) with 64 RW3 banks (-r 64), HD in slot 7 running ProDOS 8 2.0.3, Mockingboard C in both Slot 4 & 5. CPU speed kept as authenticate 1MHz.
2. Copied all U5 files and directories to /applewin/origin.sys/u5 on my virtual HD.
3. Booted into ProDOS Launcher first and then ran LOADER.SYSTEM
4. U5 intro and music activation ran flawlessly, but after a pretty lengthy character creation process HD green light would keep flashing with no progress after at least 1 minute of waiting.
5. Restarted AppleWin and ran U5. Tried Journey Onward but U5 told me no active character :-(
Not sure if it's because of the virtual HD, emulator or something else. Mathew below reported success on the real machine. I am going to boot from your .po image directly and see what happens.
Quick updates:
1. Booted your .po as S7D1 and everything worked. I now have an active game with my character in .po.
2. Moved your .po to S7D2 and booted from my normal virtual system HD. Ran U5 from .po (S7D2) but it said "no active game" :-(
3. Changed the config and repeated #1 everything worked fine again.

Could it be because of ProDOS? I notice on your .po it has ProDOS 8 v1.2.

-AL
Matthew Power
2017-12-02 02:08:47 UTC
Permalink
Post by Arsene Lupin
4. U5 intro and music activation ran flawlessly, but after a pretty lengthy character creation process HD green light would keep flashing with no progress
I experienced the same when I buried the game folder into an A2Desktop environment and ran it from there. IIe real hardware. Game boots and I can get music playing from my MIDI card. New Character Generation runs through the gypsy questions fine. But after the last question, the screen goes black forever until I reboot. Upon reboot, the character was not saved. So it works great as the boot image, but not as a saved folder elsewhere.
Matthew Power
2017-12-02 02:26:00 UTC
Permalink
My own quick update. Runs fine from A2Desktop if you set the U5.po as a drive.
qkumba
2017-12-02 03:24:25 UTC
Permalink
The loader.system is only to make the original image bootable.
It's not for running to launch the game if you've copied it somewhere. Run the U5 file for that purpose.
However, you must set the prefix if you've copied it to another location.
i.e.
prefix /applewin/origin.sys/u5
-u5

Then I believe that it will work as expected, including character creation.

The disk swapping is hidden by having subdirectories corresponding to each of the disk labels, and convincing DinkeyDOS that one is really the other.

You can always upgrade the version of ProDOS. I just grabbed the first version that I had.
qkumba
2017-12-02 03:29:44 UTC
Permalink
Oh, you can copy loader.system to the directory that contains the U5 binary and run the loader.system (for example, from BitsyBye in 2.4.1). That works.
Arsene Lupin
2017-12-02 05:43:00 UTC
Permalink
Post by qkumba
Oh, you can copy loader.system to the directory that contains the U5 binary and run the loader.system (for example, from BitsyBye in 2.4.1). That works.
loader.system is in the same directory as U5 binary. Tried both method and the problem still persists.

I also tried the following without any success:
1. Boot from a ProDOS 8 v1.8 .po and run U5 on my HD -> same problem
2. Copy all U5 files/directories from my boot HD (half full of 32MB) to an empty HD in S7D2 (32MB also), thinking the large track # might be the cause -> same issue

It seems very weird as it only happens immediately after the character creation while saving.

qkumba, if this is not asking too much, I can try some debug builds to gather more information for you. Really want to get to the bottom of it. Thanks!

-AL
Arsene Lupin
2017-12-02 06:50:09 UTC
Permalink
Post by Arsene Lupin
Post by qkumba
Oh, you can copy loader.system to the directory that contains the U5 binary and run the loader.system (for example, from BitsyBye in 2.4.1). That works.
loader.system is in the same directory as U5 binary. Tried both method and the problem still persists.
1. Boot from a ProDOS 8 v1.8 .po and run U5 on my HD -> same problem
2. Copy all U5 files/directories from my boot HD (half full of 32MB) to an empty HD in S7D2 (32MB also), thinking the large track # might be the cause -> same issue
It seems very weird as it only happens immediately after the character creation while saving.
qkumba, if this is not asking too much, I can try some debug builds to gather more information for you. Really want to get to the bottom of it. Thanks!
-AL
Another quick but interesting update: I just created a 5MB empty HD with CiderPress and copied the complete U5 content over from my boot HD. Booted my main HD and ran U5 from the smaller HD (S7D2). The character creation process now ends quickly with success and I have an active game :-)

Is this helpful to you, qkumba?

-AL
Arsene Lupin
2017-12-02 06:57:48 UTC
Permalink
Post by Arsene Lupin
Post by Arsene Lupin
Post by qkumba
Oh, you can copy loader.system to the directory that contains the U5 binary and run the loader.system (for example, from BitsyBye in 2.4.1). That works.
loader.system is in the same directory as U5 binary. Tried both method and the problem still persists.
1. Boot from a ProDOS 8 v1.8 .po and run U5 on my HD -> same problem
2. Copy all U5 files/directories from my boot HD (half full of 32MB) to an empty HD in S7D2 (32MB also), thinking the large track # might be the cause -> same issue
It seems very weird as it only happens immediately after the character creation while saving.
qkumba, if this is not asking too much, I can try some debug builds to gather more information for you. Really want to get to the bottom of it. Thanks!
-AL
Another quick but interesting update: I just created a 5MB empty HD with CiderPress and copied the complete U5 content over from my boot HD. Booted my main HD and ran U5 from the smaller HD (S7D2). The character creation process now ends quickly with success and I have an active game :-)
Is this helpful to you, qkumba?
-AL
And another success with a 16MB HD... I think we are onto something here...
qkumba
2017-12-02 15:52:32 UTC
Permalink
Post by Arsene Lupin
1. Boot from a ProDOS 8 v1.8 .po and run U5 on my HD -> same problem
2. Copy all U5 files/directories from my boot HD (half full of 32MB) to an empty HD in S7D2 (32MB also), thinking the large track # might be the cause -> same issue
It seems very weird as it only happens immediately after the character creation while saving.
If you could e-mail me the combination of images that produce the effect then I will gladly investigate.
Arsene Lupin
2017-12-02 18:06:00 UTC
Permalink
Post by qkumba
Post by Arsene Lupin
1. Boot from a ProDOS 8 v1.8 .po and run U5 on my HD -> same problem
2. Copy all U5 files/directories from my boot HD (half full of 32MB) to an empty HD in S7D2 (32MB also), thinking the large track # might be the cause -> same issue
It seems very weird as it only happens immediately after the character creation while saving.
If you could e-mail me the combination of images that produce the effect then I will gladly investigate.
Thanks a lot, qkumba :-)

BTW, just found a possible culprit: Copy II+ v9.1. Will report back more later. Possibly you don't need to do a thing ;-)

-Wei-ming
qkumba
2017-12-03 21:05:15 UTC
Permalink
No, it's my fault. I missed detection of the end of directory for when a file is not present on the disk.
I have to check how the original detected it to see how I missed that.
Then to find six spare bytes to add it.
qkumba
2017-12-04 05:33:31 UTC
Permalink
Fixed! Now in Asimov.
To upgrade an existing copy, just replace the DINKEYDOS file.
Arsene Lupin
2017-12-04 22:19:59 UTC
Permalink
Post by qkumba
Fixed! Now in Asimov.
To upgrade an existing copy, just replace the DINKEYDOS file.
It works!! Tried it on my 32MB HD that used to have the problem but now the creation process completes with success :-)

(Just a single try now. Will play more later.)

qkumba, many thanks!!

-AL
qkumba
2017-12-05 03:40:43 UTC
Permalink
Thank you for finding and reporting the bug.
What is the interesting request that you were preparing?
Jeff Ramsey
2017-12-10 18:30:52 UTC
Permalink
Post by qkumba
The loader.system is only to make the original image bootable.
It's not for running to launch the game if you've copied it somewhere. Run the U5 file for that purpose.
However, you must set the prefix if you've copied it to another location.
i.e.
prefix /applewin/origin.sys/u5
-u5
Then I believe that it will work as expected, including character creation.
The disk swapping is hidden by having subdirectories corresponding to each of the disk labels, and convincing DinkeyDOS that one is really the other.
You can always upgrade the version of ProDOS. I just grabbed the first version that I had.
I cannot seem to run this from vsdrive mounted image. Has anyone been able to confirm that it works that way? When I try running U5/DINKYDOS or running loader.system, I get a black screen with no farther progress at all.

Starting to think I need to get myself an SD or CF solution soon...
qkumba
2017-12-10 22:12:57 UTC
Permalink
It's not a configuration that I tested. It seems likely that the routine that I'm using the determine something about the prefix isn't supported in that environment.
I intend to research VSDrive sometime soon, to see if I can get it to run in another project. This one might benefit too, if so.
John Brooks
2017-12-10 22:18:19 UTC
Permalink
Post by qkumba
It's not a configuration that I tested. It seems likely that the routine that I'm using the determine something about the prefix isn't supported in that environment.
I intend to research VSDrive sometime soon, to see if I can get it to run in another project. This one might benefit too, if so.
VSDrive replaces the ProDOS 5.25 floppy driver with a serial driver and adds two drives to the ProDOS volume list. I don't remember if it uses screen holes for vars.

-JB
@JBrooksBSI
David Schmidt
2017-12-11 04:08:02 UTC
Permalink
Post by John Brooks
VSDrive replaces the ProDOS 5.25 floppy driver with a serial driver and adds two drives to the ProDOS volume list. I don't remember if it uses screen holes for vars.
It does not.
qkumba
2017-12-11 23:35:06 UTC
Permalink
VSDrive isn't supported because my code is attempting to determine the block number for the current directory, in order to know fool DinkeyDOS that a subdirectory is really a disk label. The block number that it finds in the VSDrive environment isn't the real one, and then it's DinkeyDOS that is hanging because it loops infinitely while searching for files that it thinks should be present but aren't.
I don't know yet how to work around that.
Jeff Ramsey
2017-12-12 18:02:42 UTC
Permalink
Post by qkumba
VSDrive isn't supported because my code is attempting to determine the block number for the current directory, in order to know fool DinkeyDOS that a subdirectory is really a disk label. The block number that it finds in the VSDrive environment isn't the real one, and then it's DinkeyDOS that is hanging because it loops infinitely while searching for files that it thinks should be present but aren't.
I don't know yet how to work around that.
Interesting... Dave Schmidt, can you help?
David Schmidt
2017-12-12 19:26:36 UTC
Permalink
Post by Jeff Ramsey
Post by qkumba
VSDrive isn't supported because my code is attempting to determine the block number for the current directory, in order to know fool DinkeyDOS that a subdirectory is really a disk label. The block number that it finds in the VSDrive environment isn't the real one, and then it's DinkeyDOS that is hanging because it loops infinitely while searching for files that it thinks should be present but aren't.
I don't know yet how to work around that.
Interesting... Dave Schmidt, can you help?
I don't know. I can't tell if this is a DinkeyDOS issue, a ProDOS
issue, or a VSDrive issue. Why would VSDrive's block number not be the
real one, or different from any other drive's, for example?
Antoine Vignau
2017-12-12 21:00:00 UTC
Permalink
Does the updated Dinkeydos use smartport calls or prodos ones?
qkumba
2017-12-12 22:35:08 UTC
Permalink
It's making SmartPort calls to read the blocks directly.
Antoine Vignau
2017-12-12 22:54:21 UTC
Permalink
Post by qkumba
It's making SmartPort calls to read the blocks directly.
OK, that is what I thought.
So maybe there is a difference in disk access handling between VSDrive and your smartport-like routines

av
qkumba
2017-12-13 00:50:39 UTC
Permalink
-- Porting Ultima 5 to ProDOS --

The primary change was to the DINKEYDOS file.
We start with this code:

20AB JSR $D158 ;read root block
20AE BCS $2059 ;wipe memory and reboot on failure!
20B0 LDA #$00
20B2 STA $75
20B4 LDA #$D6
20B6 STA $76
20B8 LDY #$04
20BA LDA ($75),Y
20BC AND #$0F
20BE TAY
20BF CLC
20C0 LDA $75
20C2 ADC #$05
20C4 STA $75
20C6 LDA $76
20C8 ADC #$00
20CA STA $76
20CC LDA ($75),Y
20CE ORA #$80
20D0 STA $D5CA,Y ;save volume label for later
20D3 DEY
20D4 BPL $20CC
20D6 JSR $216D ;delay for ~2.75 seconds
20D9 LDY #$07
20DB TYA
20DC ASL
20DD ASL
20DE ASL
20DF ASL
20E0 AND #$F0
20E2 TAX
20E3 STX $7F
20E5 LDA #$01
20E7 STA $78
20E9 JSR $2117 ;try to read a sector from drive 1 in current slot
20EC BCS $20F2
20EE TXA
20EF STA $D5DA,Y
20F2 LDA #$02
20F4 STA $78
20F6 JSR $2117 ;try to read a sector from drive 2 in current slot
20F9 BCS $2106
20FB TXA
20FC STA $D5E2,Y
20FF STY $51
2101 JSR $216D ;delay for ~2.75 seconds
2104 LDY $51
2106 DEY
2107 BNE $20DB

It reads the boot disk to find out the volume label. This is used to check when the boot disk is in the drive.
Then it performs a slot scan to find potentially usable disk drives. However, there's an initial delay of nearly three seconds for no good reason, and another one for each time that drive 2 was read successfully in any slot.
I changed it to not store the volume label, and not pause so that the game starts more quickly.

Within DinkeyDOS itself, we have this:

D2ED LDA #$01 ;read command
D2EF STA $77
D2F1 LDA #$02
D2F3 STA $70
D2F5 LDA #$00 ;block #02
D2F7 STA $71
D2F9 LDA #$2B ;offset of first filename
D2FB STA $7B
D2FD LDA #$00
D2FF STA $75
D301 LDA #$D6 ;buffer $D600
D303 STA $76
D305 JSR $D363 ;read block
D308 BCC $D30B
D30A RTS

This code is the start of the routine that searches the root directory for a particular file.
To make it search within subdirectories instead, I just had to change the block number to the proper value.
That required a routine that I put into the U5 file, which reads the disk and walks the prefix until it reaches the current subdirectory.

DinkeyDOS performs exact matching of filenames:

D320 LDY #$00
D322 LDA ($75),Y
D324 BEQ $D33C
D326 AND #$0F
D328 TAY
D329 CMP $D5B9 ;match length
D32C BNE $D33C
D32E LDA $D5B9,Y
D331 AND #$7F
D333 CMP ($75),Y ;match filename
D335 BNE $D33C
D337 DEY
D338 BNE $D32E
D33A CLC
D33B RTS

This code compares the contents of the disk buffer with the requested filename.
I extended this code a little bit, to provide a wildcard option:

D335 BNE $D37E
...
D37E CMP #$5F ;'_', wildcard character
D380 BEQ $D337
D382 BNE $D33C

This was needed after I found that the game performs direct block reads while loading map data.
The problem was that the reads didn't come from a constant location, unlike in Ultima 4.
Instead, the code knows, based on which disk is in the drive, what is the starting track for the map data.
Fortunately, the starting track is always within the $1x range, so I created a corresponding file named "TRACKx" in each subdirectory, where 'x' is replaced appropriately.

Then there was the possibility that the file doesn't exist on the disk, and how the original game handles that:

D34F LDA $75
D351 CMP #$00
D353 BCC $D320
D355 LDA #$04
D357 STA $7B
D359 INC $70
D35B LDA $70
D35D CMP #$06
D35F BCC $D2FD
D361 SEC

This code searches all six blocks in the root directory, even if they're mostly empty.
In my case, I had to remember the pointer to the next block and check for the end of the list, all within the same space:

D34F LDA $D602
D352 STA $70
D354 LDA $D603
D357 STA $71
D359 ORA $70
D35B CMP #$01
D35D LDA #$04
D35F BCS $D2FB
D361 SEC

I got lucky. It was an exact fit.

Next was the block translation:

D363 LDA #$00
D365 STA $72
D367 LDA $71
D369 STA $7A
D36B LDA $70
D36D STA $79
D36F AND #$07
D371 TAY
D372 CLC
D373 ROR $7A
D375 ROR $79
D377 ROR $7A
D379 ROR $79
D37B ROR $7A
D37D ROR $79
D37F LDA $79
D381 STA $72
D383 LDA $D5A9,Y
D386 STA $73
D388 LDA $D5B1,Y
D38B STA $74

This monstrosity converts a block number to a track and sector combination, but using neither DOS nor ProDOS ordering.
My version is much simpler:

D363 LDA #$D1 ;self-modified
D365 STA $43
D367 LDA $71
D369 STA $47
D36B LDA $70
D36D STA $46
D36F LDA $76
D371 STA $45
D373 LDA $75
D375 STA $44
D377 LDA $77
D379 STA $42
D37B JMP $D1D1 ;self-modified

I replaced the first 'Q' with the unit number, and the other two with the SmartPort interface address.

There's a separate routine which checks the volume name:

D463 JSR $D3F9
D466 BCS $D4A6
D468 LDA #$00
D46A STA $75
D46C LDA #$D6
D46E STA $76
D470 LDA #$02
D472 STA $70
D474 LDA #$00
D476 STA $71
D478 LDA #$01
D47A STA $77
D47C JSR $D363
D47F LDY #$04
D481 LDA ($75),Y
D483 AND #$0F
D485 TAY
D486 DEY
D487 CLC
D488 LDA $75
D48A ADC #$05
D48C STA $75
D48E LDA $76
D490 ADC #$00
D492 STA $76
D494 LDA ($75),Y
D496 ORA #$80
D498 CMP #$AF
D49A BEQ $D4A1
D49C CMP $D5CA,Y
D49F BNE $D4A6
D4A1 DEY
D4A2 BPL $D494
D4A4 CLC
D4A5 RTS

Interestingly, it supports path separators ('/').
Again, my version is much simpler:

D463 LDA #$02
D465 STA $D2F2
D468 LDA #$00
D46A STA $D2F6 ;block 2, self-modified
D46D LDA #$00
D46F STA $D32D ;disable length check
D472 LDA #$C9 ;alter buffer offset
D474 STA $D32F
D477 JSR $D2ED
D47A LDY #$11
D47C LDA ($75),Y
D47E STA $D2F2
D481 INY
D482 LDA ($75),Y
D484 STA $D2F6 ;subdirectory block number
D487 LDA #$0E
D489 STA $D32D ;enable length check
D48C LDA #$B9
D48E STA $D32F ;restore buffer offset
D491 RTS

I set the block number for the subdirectory that holds the U5 file, as a starting point for the search for the disk subdirectories.
It's set initially by the same routine in the U5 file that sets the value for the file search.
Then I cheated a bit and simply reused the filename matching routine for the volume name matching.
All that was needed was to disable the name-length check temporarily because the original string didn't have it and there wasn't room to insert it.

The final step was to deal with the "TRACKx" file. Since the game obviously doesn't know anything about it, I had to find space to intercept the direct disk requests and redirect to a file.
Fortunately, since the game was running from a 5.25" disk, there's a 112 bytes array for 6-and-2 decoding, which I replaced:

DA96 JSR $D4AB ;save return address
DA99 JSR $D52E ;fetch track number
DA9C JSR $D564 ;skip request block and set return address
DA9F LDA $70
DAA1 PHA
DAA2 LDY #$06
DAA4 LDA $DAE8,Y
DAA7 STA $D5B9,Y ;copy requested filename
DAAA DEY
DAAB BPL $DAA4
DAAD JSR $D2ED ;subdirectory search
DAB0 LDY #$06
DAB2 LDA ($75),Y ;the 'x' in the filename
DAB4 ASL
DAB5 BPL $DAB9 ;skip if number already
DAB7 SBC #$0D ;translate letter to number
DAB9 ASL
DABA ASL
DABB STA $DAC1 ;convert 'x' to block
DABE SEC
DABF PLA
DAC0 SBC #$D1 ;determine block relative to 'x'
DAC2 PHA
DAC3 LDY #$11
DAC5 LDA ($75),Y
DAC7 STA $70
DAC9 INY
DACA LDA ($75),Y ;KEY POINTER
DACC STA $71
DACE LDA #0
DAD0 STA $75
DAD2 LDA #$D6 ;buffer address
DAD4 STA $76
DAD6 JSR $D363 ;read block
DAD9 PLA
DADA TAY
DADB LDA $D600,Y
DADE STA $70
DAE0 LDA $D700,Y ;set requested block number
DAE3 STA $71
DAE5 JMP $D363 ;read block
DAE8 .BYTE 6,'TRACK_'

Beyond that, I just had to change a single JSR in a few files to call this new routine:
TEMP.SUBS and TRANSFER from the boot disk; MAIN.TWN, TALK from the other disks, and MAIN.DNG from the dungeon disk.

That's it.
Matthew Power
2017-12-13 01:46:23 UTC
Permalink
Works on the IIgs if anyone's interested.
Michael Shopsin
2017-12-13 17:22:07 UTC
Permalink
Post by Matthew Power
Works on the IIgs if anyone's interested.
More power to qkumba for getting the IIgs to work with the ProDos version of
Ultima V. I've only got space for one Apple II so my ROM 03 IIgs is it. I
own Ultima V from back in the day, but a ProDos version would be much easier
for me to use, especially since I've got a HD for my IIgs.

Michael
Alex Lee
2017-12-02 04:46:20 UTC
Permalink
Post by qkumba
To copy it to a hard disk, you need just the U5 binary (that's the
launcher) and all of the subdirectories. Yes, you can copy the set
into its own subdirectory.
As far as other DINKEYDOS titles, I don't know without looking, but
there's nothing Ultima-specific in there. I will look.
As for the write-up, yes I can do that.
Fantastic!

I've included Ultima V on the 8-bit games 32 meg ProDOS volume I've
been collating. Also, I'd previously forgotten to include Deckard's
age-old disassemble and ProDOS and hard drive friendly re-assemebled
version of Ultima III, so that's on there as well. And, for several
years now, the 1986 re-release of Ultima I is also on there as well:

http://www.whatisthe2gs.apple2.org.za/time-out-for-some-8-bit-fun-iigs-style/

So only Ultima II and IV require the ProDOS friendly treatment ;-)

By the way everyone – qkumba and Marco Verpelli did a great job making
a whole bunch of already ProDOS based educational titles hard drive
compatible, although a few more titles need the qkumba touch to make it
more complete:

http://www.whatisthe2gs.apple2.org.za/8-bit-eduware-on-32meg-disk-image/

- Alex
I am Rob
2017-12-07 00:09:42 UTC
Permalink
Post by Alex Lee
Post by qkumba
To copy it to a hard disk, you need just the U5 binary (that's the
launcher) and all of the subdirectories. Yes, you can copy the set
into its own subdirectory.
As far as other DINKEYDOS titles, I don't know without looking, but
there's nothing Ultima-specific in there. I will look.
As for the write-up, yes I can do that.
Fantastic!
I've included Ultima V on the 8-bit games 32 meg ProDOS volume I've
been collating. Also, I'd previously forgotten to include Deckard's
age-old disassemble and ProDOS and hard drive friendly re-assemebled
version of Ultima III, so that's on there as well. And, for several
http://www.whatisthe2gs.apple2.org.za/time-out-for-some-8-bit-fun-iigs-style/
So only Ultima II and IV require the ProDOS friendly treatment ;-)
By the way everyone – qkumba and Marco Verpelli did a great job making
a whole bunch of already ProDOS based educational titles hard drive
compatible, although a few more titles need the qkumba touch to make it
http://www.whatisthe2gs.apple2.org.za/8-bit-eduware-on-32meg-disk-image/
- Alex
Dang! I tried both the Ultima V I downloaded here, and in the 8-bit Prodos volume, and both hang on me when using Sweet16 on a Mac.

AM I THE ONLY ONE? (not yelling, sobbing like the sloth in Ice Age :)
qkumba
2017-12-07 06:02:28 UTC
Permalink
Please try Open Emulator or Virtual ][ to see if it works in either case.
If it does, then at least you can play while I investigate further.
Antoine Vignau
2017-12-07 14:54:00 UTC
Permalink
Post by qkumba
Please try Open Emulator or Virtual ][ to see if it works in either case.
If it does, then at least you can play while I investigate further.
Sweet16 is not a reliable emulator (a lot of P16 pgms do not boot). It is runs on OpenEmulator, then it will surely run on a real hardware!

Antoine
I am Rob
2017-12-07 16:04:01 UTC
Permalink
Post by qkumba
Please try Open Emulator or Virtual ][ to see if it works in either case.
If it does, then at least you can play while I investigate further.
Both Ultima.III and Ultima.V work in GSPORT on Mac. But small text is unreadable either in color or monochrome mode except for the first character of each line, which is capitalized, and all large text, graphics and animations seem to show up perfectly.

This is obviously a fault with GSPORT's screen rendering.


Ultima III works with Sweet 16 and text is very readable.
create characters, organize a party, get to "Journey Onward" but says "Not formed"

What is not formed?

This is probably my fault for not understanding the instructions to set up the characters properly?

Ultima.V freezes at the very beginning before any graphics are displayed.

Will install and try OpenEmulator or Virtual II next.
John Brooks
2017-12-07 17:40:33 UTC
Permalink
Post by I am Rob
Post by qkumba
Please try Open Emulator or Virtual ][ to see if it works in either case.
If it does, then at least you can play while I investigate further.
Both Ultima.III and Ultima.V work in GSPORT on Mac. But small text is unreadable either in color or monochrome mode except for the first character of each line, which is capitalized, and all large text, graphics and animations seem to show up perfectly.
This is obviously a fault with GSPORT's screen rendering.
Ultima III works with Sweet 16 and text is very readable.
create characters, organize a party, get to "Journey Onward" but says "Not formed"
What is not formed?
This is probably my fault for not understanding the instructions to set up the characters properly?
Ultima.V freezes at the very beginning before any graphics are displayed.
Will install and try OpenEmulator or Virtual II next.
I use Dagen Brock's GSplus on the Mac. It has fullscreen mode (F11), and hires graphics are correct and not endian-garbled like on GSport.

https://github.com/digarok/gsplus

-JB
@JBrooksBSI
I am Rob
2017-12-07 20:11:49 UTC
Permalink
Post by John Brooks
Post by I am Rob
Post by qkumba
Please try Open Emulator or Virtual ][ to see if it works in either case.
If it does, then at least you can play while I investigate further.
Both Ultima.III and Ultima.V work in GSPORT on Mac. But small text is unreadable either in color or monochrome mode except for the first character of each line, which is capitalized, and all large text, graphics and animations seem to show up perfectly.
This is obviously a fault with GSPORT's screen rendering.
Ultima III works with Sweet 16 and text is very readable.
create characters, organize a party, get to "Journey Onward" but says "Not formed"
What is not formed?
This is probably my fault for not understanding the instructions to set up the characters properly?
Ultima.V freezes at the very beginning before any graphics are displayed.
Will install and try OpenEmulator or Virtual II next.
I use Dagen Brock's GSplus on the Mac. It has fullscreen mode (F11), and hires graphics are correct and not endian-garbled like on GSport.
https://github.com/digarok/gsplus
-JB
@JBrooksBSI
No luck with me. I first got segmentation fault #11 in the Terminal.
Tried default config file, now get illegal instruction #4

What is the minimum OSX?
John Brooks
2017-12-07 20:55:28 UTC
Permalink
Post by I am Rob
Post by John Brooks
Post by I am Rob
Post by qkumba
Please try Open Emulator or Virtual ][ to see if it works in either case.
If it does, then at least you can play while I investigate further.
Both Ultima.III and Ultima.V work in GSPORT on Mac. But small text is unreadable either in color or monochrome mode except for the first character of each line, which is capitalized, and all large text, graphics and animations seem to show up perfectly.
This is obviously a fault with GSPORT's screen rendering.
Ultima III works with Sweet 16 and text is very readable.
create characters, organize a party, get to "Journey Onward" but says "Not formed"
What is not formed?
This is probably my fault for not understanding the instructions to set up the characters properly?
Ultima.V freezes at the very beginning before any graphics are displayed.
Will install and try OpenEmulator or Virtual II next.
I use Dagen Brock's GSplus on the Mac. It has fullscreen mode (F11), and hires graphics are correct and not endian-garbled like on GSport.
https://github.com/digarok/gsplus
-JB
@JBrooksBSI
No luck with me. I first got segmentation fault #11 in the Terminal.
Tried default config file, now get illegal instruction #4
What is the minimum OSX?
Not sure. Works for me with 10.12 Sierra.

-JB
@JBrooksBSI
Alex Lee
2017-12-09 14:21:17 UTC
Permalink
GSPlus doesn't work for me on El Capitan, sadly.

- Alex
Post by John Brooks
Post by I am Rob
Post by John Brooks
Post by I am Rob
Post by qkumba
Please try Open Emulator or Virtual ][ to see if it works in either case.
If it does, then at least you can play while I investigate further.
Both Ultima.III and Ultima.V work in GSPORT on Mac. But small text is
unreadable either in color or monochrome mode except for the first
character of each line, which is capitalized, and all large text,
graphics and animations seem to show up perfectly.
This is obviously a fault with GSPORT's screen rendering.
Ultima III works with Sweet 16 and text is very readable.
create characters, organize a party, get to "Journey Onward" but says "Not formed"
What is not formed?
This is probably my fault for not understanding the instructions to set
up the characters properly?
Ultima.V freezes at the very beginning before any graphics are displayed.
Will install and try OpenEmulator or Virtual II next.
I use Dagen Brock's GSplus on the Mac. It has fullscreen mode (F11),
and hires graphics are correct and not endian-garbled like on GSport.
https://github.com/digarok/gsplus
-JB
@JBrooksBSI
No luck with me. I first got segmentation fault #11 in the Terminal.
Tried default config file, now get illegal instruction #4
What is the minimum OSX?
Not sure. Works for me with 10.12 Sierra.
-JB
@JBrooksBSI
Arsene Lupin
2017-12-14 07:18:47 UTC
Permalink
Post by Alex Lee
GSPlus doesn't work for me on El Capitan, sadly.
- Alex
Post by John Brooks
Post by I am Rob
Post by John Brooks
Post by I am Rob
Post by qkumba
Please try Open Emulator or Virtual ][ to see if it works in either case.
If it does, then at least you can play while I investigate further.
Both Ultima.III and Ultima.V work in GSPORT on Mac. But small text is
unreadable either in color or monochrome mode except for the first
character of each line, which is capitalized, and all large text,
graphics and animations seem to show up perfectly.
This is obviously a fault with GSPORT's screen rendering.
Ultima III works with Sweet 16 and text is very readable.
create characters, organize a party, get to "Journey Onward" but says
"Not formed"
What is not formed?
This is probably my fault for not understanding the instructions to set
up the characters properly?
Ultima.V freezes at the very beginning before any graphics are displayed.
Will install and try OpenEmulator or Virtual II next.
I use Dagen Brock's GSplus on the Mac. It has fullscreen mode (F11),
and hires graphics are correct and not endian-garbled like on GSport.
https://github.com/digarok/gsplus
-JB
@JBrooksBSI
No luck with me. I first got segmentation fault #11 in the Terminal.
Tried default config file, now get illegal instruction #4
What is the minimum OSX?
Not sure. Works for me with 10.12 Sierra.
-JB
@JBrooksBSI
Just for fun I tried to install qkumba's U5 on my GSport (v0.31 for Windows) HD. Copying files caused an unknown error in GSOS starting from a folder (I forgot its name) and everything below. Then I realized it's actually a 1.44MB image, possibly for the SuperDrive(?).

Q: is any of the GS emulators capable of handling 1.44MB disk images?

-AL
Arsene Lupin
2017-12-14 07:43:10 UTC
Permalink
Post by Arsene Lupin
Post by Alex Lee
GSPlus doesn't work for me on El Capitan, sadly.
- Alex
Post by John Brooks
Post by I am Rob
Post by John Brooks
Post by I am Rob
Post by qkumba
Please try Open Emulator or Virtual ][ to see if it works in either case.
If it does, then at least you can play while I investigate further.
Both Ultima.III and Ultima.V work in GSPORT on Mac. But small text is
unreadable either in color or monochrome mode except for the first
character of each line, which is capitalized, and all large text,
graphics and animations seem to show up perfectly.
This is obviously a fault with GSPORT's screen rendering.
Ultima III works with Sweet 16 and text is very readable.
create characters, organize a party, get to "Journey Onward" but says
"Not formed"
What is not formed?
This is probably my fault for not understanding the instructions to set
up the characters properly?
Ultima.V freezes at the very beginning before any graphics are displayed.
Will install and try OpenEmulator or Virtual II next.
I use Dagen Brock's GSplus on the Mac. It has fullscreen mode (F11),
and hires graphics are correct and not endian-garbled like on GSport.
https://github.com/digarok/gsplus
-JB
@JBrooksBSI
No luck with me. I first got segmentation fault #11 in the Terminal.
Tried default config file, now get illegal instruction #4
What is the minimum OSX?
Not sure. Works for me with 10.12 Sierra.
-JB
@JBrooksBSI
Just for fun I tried to install qkumba's U5 on my GSport (v0.31 for Windows) HD. Copying files caused an unknown error in GSOS starting from a folder (I forgot its name) and everything below. Then I realized it's actually a 1.44MB image, possibly for the SuperDrive(?).
Q: is any of the GS emulators capable of handling 1.44MB disk images?
-AL
Just to be clear, I mounted the image as S5D1. Will try to use S7D3 tomorrow and see what happens.
Alex Lee
2017-12-14 10:15:21 UTC
Permalink
On 2017-12-14 07:43:10 +0000, Arsene Lupin said:

If you mount a 1.44meg disk image onto slot 5, drive 1 or 2, I don't
think it would work as the emulator is expecting that to be a standard
800k drive.

If you mount it on the smarport, slot 7, drive whatever, it should be fine.

- Alex
Post by Arsene Lupin
Post by Arsene Lupin
Post by Alex Lee
GSPlus doesn't work for me on El Capitan, sadly.
- Alex
Post by John Brooks
Post by I am Rob
Post by qkumba
Please try Open Emulator or Virtual ][ to see if it works in either case.
If it does, then at least you can play while I investigate further.
Both Ultima.III and Ultima.V work in GSPORT on Mac. But small text is>
Post by qkumba
Post by John Brooks
Post by I am Rob
unreadable either in color or monochrome mode except for the
first> > >>>> character of each line, which is capitalized, and all
large text,> > >>>> graphics and animations seem to show up perfectly.
This is obviously a fault with GSPORT's screen rendering.
Ultima III works with Sweet 16 and text is very readable.
create characters, organize a party, get to "Journey Onward" but says>
Post by qkumba
Post by John Brooks
Post by I am Rob
"Not formed"
What is not formed?
This is probably my fault for not understanding the instructions to
set> > >>>> up the characters properly?
Ultima.V freezes at the very beginning before any graphics are displayed.
Will install and try OpenEmulator or Virtual II next.
I use Dagen Brock's GSplus on the Mac. It has fullscreen mode (F11),> >
Post by qkumba
Post by John Brooks
and hires graphics are correct and not endian-garbled like on
GSport.
https://github.com/digarok/gsplus
-JB
@JBrooksBSI
No luck with me. I first got segmentation fault #11 in the Terminal.
Tried default config file, now get illegal instruction #4
What is the minimum OSX?
Not sure. Works for me with 10.12 Sierra.
-JB
@JBrooksBSI
Just for fun I tried to install qkumba's U5 on my GSport (v0.31 for
Windows) HD. Copying files caused an unknown error in GSOS starting
from a folder (I forgot its name) and everything below. Then I
realized it's actually a 1.44MB image, possibly for the SuperDrive(?).
Q: is any of the GS emulators capable of handling 1.44MB disk images?
-AL
Just to be clear, I mounted the image as S5D1. Will try to use S7D3
tomorrow and see what happens.
qkumba
2017-12-14 17:37:15 UTC
Permalink
Or just copy the files to an 800kb image. I chose 1.44Mb because it's the smallest format that Ciderpress can produce that would fit the whole game (I was thinking of Asimov's server space at the time).
qkumba
2017-12-14 17:39:26 UTC
Permalink
Oops, I'm wrong. It's a 1.44Mb image because the game won't fit on an 800kb image. Alex is correct that you'll need to mount as a SmartPort image in slot 7.
Jeff Ramsey
2017-12-16 01:17:24 UTC
Permalink
Post by qkumba
Oops, I'm wrong. It's a 1.44Mb image because the game won't fit on an 800kb image. Alex is correct that you'll need to mount as a SmartPort image in slot 7.
Does this mean that the reason that it will not work from VSDrive is because VSDrive is loading in slot2? It loads the driver in the first memory space that does not have any cards in it. For me, that is slot 2.
qkumba
2017-12-16 01:33:29 UTC
Permalink
No, I think that it's not running from VSDrive because VSDrive isn't hooked to the SmartPort interface that my code is using to query for the prefix information. I will try to fix my code to do the proper thing.
The slot 7 suggestion is just because that's the usual place for hard disks.
Cloudschatze
2018-01-14 07:54:05 UTC
Permalink
I'm not able to get beyond the "hanging" behavior post character creation that others have mentioned. My setup is a mostly bog-standard IIe, but with an Apple high-speed SCSI card installed in Slot 7, driving a CompactFlash-based hard-disk subsystem. I've tried a number of things, including booting straight to a small, 2MB partition (to which the Asimov-hosted U5 files and complete directory structure have been extracted), and yet can't get beyond the point where I assume an attempt is made to write the character data. Any idea what might be the issue?
Cloudschatze
2018-01-15 03:30:08 UTC
Permalink
Today's sad attempts involved copying/writing the .po image straight to S7D1 using ADTPro, where the errant behavior yet remained the same at the end of character creation. Bypassing the character creation step by simply copying the character data over from a working floppy did successfully allow a saved game to be resumed, but an attempt to save the game thereafter again resulted in the "hanging" behavior.

There's definitely something off with the writing of data, but I'm not sure where to go with this from here.
qkumba
2018-01-15 21:26:52 UTC
Permalink
Does your hard drive require a specific device driver to run it?
If so then it can't support Ultima 5. The game replaces ProDOS entirely in memory. There's no room to extend it further.
It seems likely that's why it hangs, assuming that you're using the latest version from Asimov.
Cloudschatze
2018-01-15 21:59:38 UTC
Permalink
No, there's no driver involved; just the native (Smartport-based?) support provided through the Apple high-speed SCSI interface card itself.

One point of distinction with the writing behavior though, in case it matters: I can save the MIDI/music configuration without issue; it's just the saving of character/current-game data that is problematic.
qkumba
2018-02-06 03:57:14 UTC
Permalink
Thanks to Cloudschatze, this is fixed now.
The hardware on his system did not support writing directly from $0000.
I copied the data to a non-zero page, and wrote from there instead.
Cloudschatze
2018-02-06 22:24:31 UTC
Permalink
qkumba is being much too humble. This was another phenomenal effort on his part that I'm extremely grateful for. :)
c***@gmail.com
2018-02-18 04:44:42 UTC
Permalink
My setup is probably a bit more unconventional than some, but here's a quick YouTube video demonstrating qkumba's Ultima V ProDOS conversion, as launched from A2Desktop (CompactFlash), and booted from a Zip disk:


Anthony Ortiz
2018-02-18 06:18:15 UTC
Permalink
Wow... so cool to see no disk swapping! Friggin qkumba is a beast...
James Davis
2018-02-19 07:14:23 UTC
Permalink
Post by c***@gmail.com
http://youtu.be/lben6HRj1r0
I noticed that you are using a plastic storage sheet for you pseudo disks. I recommend not using those for long term storage because they sweat. After 20-30 years of storage my disks stored in similar plastic storage sheets were completely covered in bacterial scum!
l***@gmail.com
2018-02-20 06:37:15 UTC
Permalink
Post by c***@gmail.com
http://youtu.be/lben6HRj1r0
Really amazing!

I'm having trouble with the conversion on Virtual ][. When I pick "Activate Music" it just boops over and over. Such a bummer. I did have to convert the large .po file to a .2mg file, that's just the container and shouldn't have changed anything.

Anyone else seen this booping problem?
l***@gmail.com
2018-02-20 19:06:11 UTC
Permalink
Post by l***@gmail.com
Really amazing!
I'm having trouble with the conversion on Virtual ][. When I pick "Activate Music" it just boops over and over. Such a bummer. I did have to convert the large .po file to a .2mg file, that's just the container and shouldn't have changed anything.
Anyone else seen this booping problem?
Figured it out after a night's sleep; the music requires 128k and I had shut off the extra memory.

The ProDOS version doesn't notice this, and offers the choice anyway. The floppy-based version hides the option when the RAM isn't available.

It is now running excellently!

Thanks so much, qkumba!
qkumba
2018-02-20 22:33:33 UTC
Permalink
Indeed it does. I never noticed. I will fix that for future people.
qkumba
2018-02-20 23:05:16 UTC
Permalink
Except that I can't reproduce it in AppleWin, at least. The menu option doesn't show on Apple II+ mode.
I will try other environments to see what's going on.
qkumba
2018-02-21 05:02:26 UTC
Permalink
I can't reproduce it in Virtual ][, either.
In Apple II+ mode, the option isn't shown for me.
The code responsible for detecting the RAM is the original one. I didn't touch it.
Can you reproduce the effect with the floppy version? It should behave identically to the ProDOS port.
James Davis
2018-02-21 15:03:07 UTC
Permalink
Post by qkumba
Except that I can't reproduce it in AppleWin, at least. The menu option doesn't show on Apple II+ mode.
I will try other environments to see what's going on.
Can AppleWin be configured to be a 64K machine, or is it strickly a 128K+ machine?
qkumba
2018-02-21 17:49:19 UTC
Permalink
AppleWin can be switched to Apple II+ (which is 64kb) via the Configuration menu.
James Davis
2018-02-22 03:19:47 UTC
Permalink
Post by qkumba
AppleWin can be switched to Apple II+ (which is 64kb) via the Configuration menu.
I was just asking to make you think about it. Run "AppleWin.exe" -r 0" will give you zero auxiliary memory and a 64k machine, IIRC.
James Davis
2018-02-22 03:38:47 UTC
Permalink
Post by James Davis
Post by qkumba
AppleWin can be switched to Apple II+ (which is 64kb) via the Configuration menu.
I was just asking to make you think about it. Run "AppleWin.exe" -r 0" will give you zero auxiliary memory and a 64k machine, IIRC.
NOPE! -r #(1 to 127) only. SORRY :-(

Loading...