Sam the Little Spaceman

Anything QL Software or Programming Related.
Derek_Stewart
Font of All Knowledge
Posts: 3957
Joined: Mon Dec 20, 2010 11:40 am
Location: Sunny Runcorn, Cheshire, UK

Re: Sam the Little Spaceman

Post by Derek_Stewart »

Andrew wrote: I believe it fails because of the dot in win1_littlsam.mdv. QL doesn't like dots in filename and gives a NOT FOUND error message.
QPC2 is automatically changing the dot to underscore and that is why it works.
Not quite, renaming the MDV fille to "LITTLESAM_MDV" and usint the MDI command:

CONVERT2_MDI "WIN1_LITTLESAM_MDV" TO "LITTLESAM_MDI"

Give Not Found error message.

All the CONVERT2_xxxx commands seem not be able to find the file name.
Last edited by Derek_Stewart on Thu Mar 07, 2024 9:17 am, edited 1 time in total.


Regards,

Derek
Derek_Stewart
Font of All Knowledge
Posts: 3957
Joined: Mon Dec 20, 2010 11:40 am
Location: Sunny Runcorn, Cheshire, UK

Re: Sam the Little Spaceman

Post by Derek_Stewart »

Hi,

I changed my Tetroid Trump Card QL to JS ROM from Minerva.

I performed the 128K memory cut with the RES_128 command, the QL rebooted to a 128K QL with floppy disk drives.

I entered FLP_USE MDV and LRUN mdv1_boot to run the Littlesam ge files.

The game did not load and stopped saying Out Of Memory.

Looks like it needs be put into the Microdrive cartridge. Which rather defies the whole idea.

I have started to disassemble the game code, there use of System Variables at 28000h an direct screen writing to fixed screen addresses.

I am not sure if the game is worth the effort, but there are no games for the QL...

Strange the Minerva ROM will load to the opening screen.


Regards,

Derek
Martin_Head
Aurora
Posts: 852
Joined: Tue Dec 17, 2013 1:17 pm

Re: Sam the Little Spaceman

Post by Martin_Head »

Derek_Stewart wrote:
Andrew wrote: I believe it fails because of the dot in win1_littlsam.mdv. QL doesn't like dots in filename and gives a NOT FOUND error message.
QPC2 is automatically changing the dot to underscore and that is why it works.
Not quite, renaming tge MDV fille to "LITTLESAM_MDV" and usint the MDI command:

CONVERT2_MDI "WIN1_LITTLESAM_MDV" TO "LITTLESAM_MDI"

Give Not Found error message.

All the CONVERT2_xxxx commands seem not be able to find the file name.
If I remember correctly, all the CONVERT2_ commands use the same subroutine to read the two filenames (cv_getp)

I've just had a quick look at the source code, and I can't spot an actual 'not found' error return. So I guess it comes from one of the Trap#2 opens.

The first filename is stored in the BASIC buffer (bv_bfbas), the other is on the maths stack.
The source file is opened, and a new destination file is created. And a buffer is created.

When I can find time, I will try to replicate the problem in Qemulator

EDIT. I don't know if it's just a typing error here, but I think the games filename is 'littlsam.mdv' not 'littlesam.mdv'


User avatar
Chr$
QL Wafer Drive
Posts: 1306
Joined: Mon May 27, 2019 10:03 am
Location: Sachsen, Germany
Contact:

Re: Sam the Little Spaceman

Post by Chr$ »

Martin_Head wrote:
EDIT. I don't know if it's just a typing error here, but I think the games filename is 'littlsam.mdv' not 'littlesam.mdv'
I called it littlsam.mdv to keep it in 8.3 character form for when I copied it over to the fat1_ of my Q68 after dumping on the real QL!


https://QXL.WIN
Collector of QL related computers, accessories and QL games/software.
Ask me about felt pads - I can cut them to size and they have proved excellent for mdv data recovery.
Derek_Stewart
Font of All Knowledge
Posts: 3957
Joined: Mon Dec 20, 2010 11:40 am
Location: Sunny Runcorn, Cheshire, UK

Re: Sam the Little Spaceman

Post by Derek_Stewart »

Chr$ wrote:
Martin_Head wrote:
EDIT. I don't know if it's just a typing error here, but I think the games filename is 'littlsam.mdv' not 'littlesam.mdv'
I called it littlsam.mdv to keep it in 8.3 character form for when I copied it over to the fat1_ of my Q68 after dumping on the real QL!
I did rename the filename to the correct spelling, I hope you do not think I made a mistake with file name.

But just to pedantic, I tried:

CONVERT2_MDI "win1_littlsam.mdv" TO "win1_littlsam_mdi"

gives a Not Found error message.

would there be a problem with the QubATA v3.08 driver or Teroid Trump Card.

There does look to be a problem on Minerva/JS on real QL hardware.

I will dig out my Super Gold card and try that.


Regards,

Derek
Derek_Stewart
Font of All Knowledge
Posts: 3957
Joined: Mon Dec 20, 2010 11:40 am
Location: Sunny Runcorn, Cheshire, UK

Re: Sam the Little Spaceman

Post by Derek_Stewart »

Hi,

I fitted a Tetroid SuperGold Card to a QL with Minerva v1.98 and with access to twin HD floppy disk drives, I loaded MDIdriver v1.08

The MDV file: LITTLSAM.MDV is located on FLP1_

So I typed:

CONVERT2_MDI "FLP1_LITTLSAM.MDV" TO "flp1_littlsam_mdi"

Which returned Error Message: Not Found

I thought maybe I had typed the name incorrectly, so using the Toolkit 2 command: FTEST command to see if the file exists:

PRINT FTEST("FLP1_LITTLSAM.MDV")

Returns 0

This means the file is available for input and does exist, if the the file did not exist then a negative error code. Another file test from Toolkit 2 is FTYP which would tell me the file type:

PRINT FTYP(\"FLP1_LITTLSAM.MDV")

Returned: 0

Which means the file is a standard file and is not an Executeable, SROFF module or Sub-directory

Since MDIdriver v1.08 works in SMSQ/E on QPC2, SMSQmulator, Q68, I thenk this could be a Minerva/QDOS problem, I will try loading SMSQ/E Gold to see if this fixes the problem.


Regards,

Derek
Martin_Head
Aurora
Posts: 852
Joined: Tue Dec 17, 2013 1:17 pm

Re: Sam the Little Spaceman

Post by Martin_Head »

Derek_Stewart wrote:
Chr$ wrote:
Martin_Head wrote:
EDIT. I don't know if it's just a typing error here, but I think the games filename is 'littlsam.mdv' not 'littlesam.mdv'
I called it littlsam.mdv to keep it in 8.3 character form for when I copied it over to the fat1_ of my Q68 after dumping on the real QL!
I did rename the filename to the correct spelling, I hope you do not think I made a mistake with file name..
Sorry no, I thought it was just a typo here on the forum.

I had a look at the problem yesterday. And it looks like it's a QDOS bug in Trap#2 io_open. My QDOS documentation says that A1 should be preserved in the system Trap.
But in Qemulator, with JS ROMs, A1 gets trashed during the opening of the source file. Where A1 points at the filename of the destination file. So when the second io_open is called to create the destination file, The filename is rubbish, and it causes Qemulator to fall over.

I traced through the CONVERT2_ command, and put A1 back to the correct value after the first io_open, and the routine completed without error. But I did not get a chance to do a fix, and a rebuild to test it though.

QMSQ/E must have the bug fixed, but I'm surprised if Minerva has the same problem. Unless there's another problem lurking.

I noticed in the source code on my PC that I had started on version 1.09, There's a note on it, something to do with formatting. I can't remember what it was about, or why I did not finish it.


Derek_Stewart
Font of All Knowledge
Posts: 3957
Joined: Mon Dec 20, 2010 11:40 am
Location: Sunny Runcorn, Cheshire, UK

Re: Sam the Little Spaceman

Post by Derek_Stewart »

Hi Martin,

Thank you for looking at the problem, the same Not Found error message occurs with JS and Minerva v1.98 Rom Code.

With SMSQ/E Gold running on a Tetroid Superglod card,the CONVERT2_MDI comand works only if destination fileis on RAM1_ or other device than the source. Using FLP1 for source and destination caused problems with the conversion.

I tried a previousily converted MDV to MDI file and this mounted OK with the MOUNT_MDI command,on JS and Minerva.

I use the Supergold card now because it is faster than the Trump card, but only has twin HD Floppy drives. Maybe hove get a Gotek and QL-SD.

The problem of running the actual game still exisits,with the Floppy disk controller taking some of the system memory, the game stops claiming out of memory.

I suppose good at the game was written.

I have started to disassemble the code, to correct the problems with assumptions: System Variables and Screen Address Base fixed.


Regards,

Derek
User avatar
pjw
QL Wafer Drive
Posts: 1297
Joined: Fri Jul 11, 2014 8:44 am
Location: Norway
Contact:

Re: Sam the Little Spaceman

Post by pjw »

Martin_Head wrote:<>
I had a look at the problem yesterday. And it looks like it's a QDOS bug in Trap#2 io_open. My QDOS documentation says that A1 should be preserved in the system Trap.
But in Qemulator, with JS ROMs, A1 gets trashed during the opening of the source file. Where A1 points at the filename of the destination file. So when the second io_open is called to create the destination file, The filename is rubbish, and it causes Qemulator to fall over.
<>
Its a documentation bug if anything. The official documentation, ie QL Technical Guide, now QDOS/SMSQ Reference Guide, has always stated that A1 gets smashed during the IO.OPEN call.
The QDOS/SMSQ Reference Guide is now in version 4.5, available from Dilwyn's cornucopia. While its not perfect it will at least ensure that we all make the same mistakes ;o)


Per
dont be happy. worry
- ?
User avatar
janbredenbeek
Super Gold Card
Posts: 632
Joined: Wed Jan 21, 2015 4:54 pm
Location: Hilversum, The Netherlands

Re: Sam the Little Spaceman

Post by janbredenbeek »

pjw wrote:Its a documentation bug if anything. The official documentation, ie QL Technical Guide, now QDOS/SMSQ Reference Guide, has always stated that A1 gets smashed during the IO.OPEN call.
The QDOS/SMSQ Reference Guide is now in version 4.5, available from Dilwyn's cornucopia. While its not perfect it will at least ensure that we all make the same mistakes ;o)
Just checked Pennell's QDOS Companion: it states that A1 is preserved, but with an annotation written by me that says 'corrupted'. So I must have discovered it some 30+ years ago ;)

Jan


Post Reply