The SnarkHunter Disks

A forum for members to discuss this site, offer suggestions for improvement etc.
User avatar
rolfmichelsen
Posts: 296
Joined: Wed Apr 08, 2009 8:43 pm
Location: Oslo, Norway
Contact:

Re: The SnarkHunter Disks

Post by rolfmichelsen »

Alastair wrote: Wings of War is loaded with CLOADM, a CAS image may be found in the zip file I uploaded (see viewtopic.php?f=7&t=271). WHATIS.EXE states that the image contains a machine language program and nothing else, perhaps Salamander compiled the BASIC program before releasing the game? The same could also be true of Fishy Business (also included in the zip).
Interesting :) I converted many of my cassette-based games to disk sometime back in the 80's. This mostly involved removing loaders and stuff and extracting the "real" program. I don't recall the details of every game converted anymore, but I definitively have a BASIC version of Wings of War lying around as a result of this exercise. I guess this means that they used a loader of some sort. Looking forward to having a closer look at that CAS file sometime soon :D

-- Rolf
zephyr
Posts: 1474
Joined: Mon Jul 21, 2008 1:18 am

Re: The SnarkHunter Disks

Post by zephyr »

Alastair wrote:Wings of War is loaded with CLOADM, a CAS image may be found in the zip file I uploaded (see viewtopic.php?f=7&t=271). WHATIS.EXE states that the image contains a machine language program and nothing else, perhaps Salamander compiled the BASIC program before releasing the game? The same could also be true of Fishy Business (also included in the zip).
rolfmichelsen wrote:Interesting :) I converted many of my cassette-based games to disk sometime back in the 80's. This mostly involved removing loaders and stuff and extracting the "real" program. I don't recall the details of every game converted anymore, but I definitively have a BASIC version of Wings of War lying around as a result of this exercise. I guess this means that they used a loader of some sort. Looking forward to having a closer look at that CAS file sometime soon :D

-- Rolf
Its not compiled, just saved as one chunk of memory with a small machine code autorun routine. The original BASIC and machine code are attached for you to examine. There are two lines at the end of the BASIC program which were used to create the original cassette.

Regards,
Steve
Attachments
WINGWAR_ORIGINAL.zip
(25.2 KiB) Downloaded 343 times
admin
Site Admin
Posts: 409
Joined: Thu Jul 17, 2008 10:22 pm

Re: The SnarkHunter Disks

Post by admin »

This isn't the only game to do this - I have seen a couple of games that in addition to the game code also include the autorun code and the code to create the master tape. These have no loading screen but are always CLOADM autorun games.
Simon Hardy
User avatar
snarkhunter
Posts: 241
Joined: Fri Apr 03, 2009 7:16 pm
Location: France

Re: The SnarkHunter Disks

Post by snarkhunter »

Such a small piece of code was published in Dragon User once. It was position-independant code that was meant to be appended to the bottom part of (i.e. before) a Basic program, then the whole memory would be saved as m/c, using a lower reloading position, so the appended bit would override some RAM hooks, thus generating the "auto-exec" effect from a simple CLOADM, even for programs written in BASIC.

I myself used this trick in the tape version for some of my own programs, such as "Pixie!" and the hopeless "Stone of Wisdom" so-called adventure: it was simple and neat - and would work like a charm. Moreover, it was much easier to handle a single chunk of data, rather than having to load several bits of code (such as a loader, then a loading screen, then the main Basic program, then the m/c routines, etc.

I might still have the corresponding source code on one of my ".vdk" files, somewhere...
User avatar
snarkhunter
Posts: 241
Joined: Fri Apr 03, 2009 7:16 pm
Location: France

Re: The SnarkHunter Disks

Post by snarkhunter »

snarkhunter wrote:I might still have the corresponding source code on one of my ".vdk" files, somewhere...
I think I do...
Well, after checking the instruction manual to "Dskdream", then checking the content of my source disk, I definitely do! But it sure would help if someone here could explain to me how I may transfer some "Dream" source code to a PC standard text file: any idea?!
User avatar
rolfmichelsen
Posts: 296
Joined: Wed Apr 08, 2009 8:43 pm
Location: Oslo, Norway
Contact:

Re: The SnarkHunter Disks

Post by rolfmichelsen »

snarkhunter wrote:But it sure would help if someone here could explain to me how I may transfer some "Dream" source code to a PC standard text file: any idea?!
I did this by printing from Dream to the serial port on a D64 and then capturing on a PC (only a few pokes needed to redirect printing to the serial port). If I recall correctly, Dream also has a documented API for extracting text from memory. I haven't yet figured out the Dream file format...

-- Rolf
User avatar
snarkhunter
Posts: 241
Joined: Fri Apr 03, 2009 7:16 pm
Location: France

Re: The SnarkHunter Disks

Post by snarkhunter »

Thanks very much for the hint, Rolf, but what I had in mind was much more "straighforward", such as retrieving this data from within an emulated Dragon!

I must admit I would just like to save myself from having to re-type all this code into the Notepad!
Last edited by snarkhunter on Tue Aug 31, 2010 5:23 pm, edited 1 time in total.
User avatar
snarkhunter
Posts: 241
Joined: Fri Apr 03, 2009 7:16 pm
Location: France

Re: The SnarkHunter Disks

Post by snarkhunter »

I just tried to "isolate" my routine on a separate "blank" virtual disk. After saving from within Dskdream, the ".DRM" file was indeed listed with a DIR command. Then I switched to another ".vdk", and then back to the former one... which was now blank again!? :?

So I think it will be much easier if I attach my old ".vdk" file directly.

The concerned source routines should be:
'LOADING': code to transfer part of the memory from an upper address to a lower one
'AUTORUN': "autorun" code, to be transferred to address $019A using the former piece of code
'EXECUTER' (???)

Sorry if my memory should be failing right now, since this is code that was designed and written over thirty years ago. I do believe people who do have a fair knowledge of 6809 assembly will quickly find out. Will try to re-check this later, and to understand how my mind was actually working 30 years back!
Attachments
OTHER07.vdk
(180.02 KiB) Downloaded 359 times
zephyr
Posts: 1474
Joined: Mon Jul 21, 2008 1:18 am

Re: The SnarkHunter Disks

Post by zephyr »

snarkhunter wrote: The concerned source routines should be:
'LOADING': code to transfer part of the memory from an upper address to a lower one
'AUTORUN': "autorun" code, to be transferred to address $019A using the former piece of code
'EXECUTER' (???)
I have converted all six of the DSKDREAM source code files to text files. The ones you mentioned are attached. Do you want me to upload the remaining files?

Regards,
Steve
Attachments
snarkhunter_asm1.zip
(1.06 KiB) Downloaded 346 times
User avatar
snarkhunter
Posts: 241
Joined: Fri Apr 03, 2009 7:16 pm
Location: France

Re: The SnarkHunter Disks

Post by snarkhunter »

Thank you very much for this, Steve. But how did you do it?!
By the way, I'm now doubting it can actually be useful to anyone (... unless one should be willing to check the code?!). That is, until someone comes with a Dragon/PC text interfacing tool: would there happen to be any such tool available already?

Still, there's one thing that puzzles me in the "EXECUTER" code: some lines do include a "<" sign, which I didn't remember from the 6809E addressing modes. I would have to check whether this was an original "feature" of my source code, or rather the result of some corruption during the transfer from the Dragon format to the PC one.

.../... (original source code checked)

Yes, that's the way the sourcecode looks within "Dream": I'm afraid I just can't remember anymore what this actually means!?

Anyway, this reminds me of the "good old days". I remember getting my Dragon in July '83 first, then merely playing a few games and messing around with Basic, not understanding the slightest thing to assembly. What got me started later on was an article in DU, That I somehow seemed to understand almost everything in! So I quickly decided to go out and buy the "Dream/Dreambug" packages first, soon converted to "Alldream" with the built-in feature. I switched to "Diskdream" when I got my disk drive, and both proved a real treat!

I wouldn't praise my own coding skills very high, though: that's what most people ever get from self-learning. I had a couple of friends who were much, much better than I could ever have wished I had been. Yet it enabled me to achieve things I would never have regarded as possible, which in itself I still consider quite a personal achievement...


[auto-edited]
Well, I just found out about that "<" sign in the "Alldream" manual: it was required to force 8-bit addressing on the concerned instruction. Still, I can't remember why I had to use this. Perhaps it was only meant to keep the resulting code as short as possible...

And I don't think there's any actual need for you to extract the other files from this disk, unless someone will be willing to get them. But thank you very much for your offer, once again.
Last edited by snarkhunter on Thu May 26, 2022 12:05 pm, edited 1 time in total.
Post Reply