Hi,
I can't spot what I am doing wrong, but I cannot start XRoar whith any of the DOS-ROMS 16k long (DOSxxdir)
Well, XRoar starts but without the DOS.
Has anyone tried this?
Any advice will be very appreciated.
By the way, I have noticed that DDOS12A has a flaw in the KILL command, it just modifies back to '1' (free) the sectors used by the first extent of the deleted file.
But forgets about the other extents ...
Testing DDOS11C with the same disks, it works well and ends up with the correct free bytes.
Unassembling both on two different XRoar sessions, there is a massive change at the end of the function DDosDeleteFile ($CFB6), the changes
affect from $CFEE to $D00A
Maybe I have got the wrong version ... I don't remember the differences between 11C and 12A (or 11 vs 12)
regards
EDIT: The second part of this message has been copied in the new thread "Problems with DDOS12A and command KILL"
pere
XRoar and 16k D.O.S. files
XRoar and 16k D.O.S. files
Last edited by pser1 on Sun Apr 26, 2015 3:46 pm, edited 2 times in total.
Re: XRoar and 16k D.O.S.
This post links to the last updated copies of v1.2 and v1.2a.pser1 wrote: By the way, I have noticed that DDOS12A has a flaw in the KILL command, it just modifies back to '1' (free) the sectors used by the first extent of the deleted file.
But forgets about the other extents ...
Testing DDOS11C with the same disks, it works well and ends up with the correct free bytes.
Unassembling both on two different XRoar sessions, there is a massive change at the end of the function DDosDeleteFile ($CFB6), the changes
affect from $CFEE to $D00A
viewtopic.php?f=8&t=4779#p10779
Re: XRoar and 16k D.O.S.
thanks Steve,
these are the files I am using and they do not work properly with files that use more than one extent in their dir entry.
The sectors of the second extent are not marked as free at the end of the KILL command, so losing free space (in these cases)
But DDOS11C works perfect.
regards
pere
these are the files I am using and they do not work properly with files that use more than one extent in their dir entry.
The sectors of the second extent are not marked as free at the end of the KILL command, so losing free space (in these cases)
But DDOS11C works perfect.
regards
pere
Re: XRoar and 16k D.O.S.
It must be an error in Philip Scott's patch code. I don't have enough free time to check it at the moment.
Re: XRoar and 16k D.O.S.
Hi, Steve
I will give a peek at the whole document.
The code area that conflicts is this:
From $CFEE to $D000 is different code. DDOS11C works OK, DDOS12A doesn't
I attach here a VDK image to be used as test with both DOS
You can KILL any file that just uses an extent: DONKEY, BTRACK, ASTRO (this one should be Unprotected previously)
Both versions of DOS will work right.
But any of the others that use more than one extent in their directory entry, will fail giving as result the wrong free bytes number
In fact they just free the sectors of the very first extent, forgetting about the other extents ...
cheers
pere
PS. The contents of the disk (with a full VDIR)
EDIT: Message copied to the new thread: "Problems with DDOS12A and command KILL"
Attachment deleted. Posted in the other thread
I will give a peek at the whole document.
The code area that conflicts is this:
From $CFEE to $D000 is different code. DDOS11C works OK, DDOS12A doesn't
I attach here a VDK image to be used as test with both DOS
You can KILL any file that just uses an extent: DONKEY, BTRACK, ASTRO (this one should be Unprotected previously)
Both versions of DOS will work right.
But any of the others that use more than one extent in their directory entry, will fail giving as result the wrong free bytes number
In fact they just free the sectors of the very first extent, forgetting about the other extents ...
cheers
pere
PS. The contents of the disk (with a full VDIR)
Code: Select all
Name 1LSN No BLS Bytes
BORIS .BIN 324 36
252 36
216 6 202 19914
SPORES .BIN 180 36
144 31 122 17018
ASTRO .BINp 108 29 94 7262
GALAX .BIN 72 36
36 7 135 10887
FROGGER .BIN 0 36
378 70 139 27019
DONKEY .BIN 450 84 56 21304
BTRACK .BIN 540 98 9 24841
MRDIG .BIN 648 72
43 13 146 21650
24064 FREE BYTES
OK
Attachment deleted. Posted in the other thread
Last edited by pser1 on Sun Apr 26, 2015 3:30 pm, edited 1 time in total.
Re: XRoar and 16k D.O.S.
Reading Philip Scott's patch document and referred to Problem2, he says that there are two ways to solve it:
patch a) that impies solving Problem 1 too, and
patch b) that implies reserving some RAM from $7FEF to store the patch there (code is PIC so could be allocated anywhere)
In DDOS12A, Problem1 is solved and patch a) for Problem2 has also been applied. Alright!
Strangely, someone added patch b) too, but placed it adding C000, so that the final 'killed code' is $CFEF onwards
Besides that, to be of use it needs bytes $0183/184 be modified so that they point to the new code
But this is NOT needed once we have applied patch a)
So, this part should be restored to the previously existent code there (can be copied from DDOS11C)
I am still comparing both DOS versions to find out more differences (documented or not)
cheers
pere
EDIT: Message copied to the thread "Problems with DDOS12A and command KILL"
Sorry I cannot delete it from this one
patch a) that impies solving Problem 1 too, and
patch b) that implies reserving some RAM from $7FEF to store the patch there (code is PIC so could be allocated anywhere)
In DDOS12A, Problem1 is solved and patch a) for Problem2 has also been applied. Alright!
Strangely, someone added patch b) too, but placed it adding C000, so that the final 'killed code' is $CFEF onwards
Besides that, to be of use it needs bytes $0183/184 be modified so that they point to the new code
But this is NOT needed once we have applied patch a)
So, this part should be restored to the previously existent code there (can be copied from DDOS11C)
I am still comparing both DOS versions to find out more differences (documented or not)
cheers
pere
EDIT: Message copied to the thread "Problems with DDOS12A and command KILL"
Sorry I cannot delete it from this one
Last edited by pser1 on Sun Apr 26, 2015 3:34 pm, edited 1 time in total.
Re: XRoar and 16k D.O.S.
Hi Pere,pser1 wrote:I cannot start XRoar whith any of the DOS-ROMS 16k long
Forgive my ignorance, I'm not sure which DOS you mean. I tried DOSPlus4.9B from the download section (it has a 16K image) and this starts up fine in xroar. I guess xroar already recognises that one. I would be happy to try a different ROM if you can point me in the right direction.
Stew
Re: XRoar and 16k D.O.S.
Hi Stew!
all DOS files 8192 bytes long do load flawlessly in XRoar.
The problem I have found, happens when I try to load the special modified DOS files to give them a very nice DIR function.
I can use them going MAP1, and copying them from RAM to ROM area, but wanted to use them with XRoar ... fail
I attach here the five files that were uploaded time ago by Zephyr.
cheers
pere
all DOS files 8192 bytes long do load flawlessly in XRoar.
The problem I have found, happens when I try to load the special modified DOS files to give them a very nice DIR function.
I can use them going MAP1, and copying them from RAM to ROM area, but wanted to use them with XRoar ... fail
I attach here the five files that were uploaded time ago by Zephyr.
cheers
pere
- Attachments
-
- special DIR DOS-ROMs.zip
- DOS files longer than 8192 bytes (16132 bytes)
- (35.37 KiB) Downloaded 345 times
Re: XRoar and 16k D.O.S. files
The ROMs do load into xroar, but 4 bytes out of position with the first 4 bytes missing. Strange. To compensate, I added 4 bytes at the start but now the ROMs load 8 bytes of position. Even stranger. So instead I removed 4 bytes from the end and now they work. (See attached)
It seems that the length of a 16K cartridge ROM should be 16128 bytes to work in xroar.
For ref I added the following lines to my xroar.conf to define a couple of new cartridges:
It seems that the length of a 16K cartridge ROM should be 16128 bytes to work in xroar.
For ref I added the following lines to my xroar.conf to define a couple of new cartridges:
Code: Select all
cart ddos10dir
cart-desc DragonDOS V1.0 (dir)
cart-type dragondos
cart-rom ddos10dir.rom
cart ddos41dir
cart-desc DragonDOS V4.1 (dir)
cart-type dragondos
cart-rom ddos41dir.rom
machine-cart ddos41dir
- Attachments
-
- dir_dos_roms_16128.zip
- (35.37 KiB) Downloaded 353 times
Stew
Re: XRoar and 16k D.O.S. files
Hi Stew,
good point!
You are right, if we want to use a 16k ROM we should deduct the range FF00 to FFFF that cannot be used (it's SAM domain)
So $4000-$100 = $3F00 => 16128 exactly as you have said.
No problem deleting from the end, because there is Nothing there ...
Well, now we could use these better formatted DIR functions in XRoar too.
thanks a lot
pere
good point!
You are right, if we want to use a 16k ROM we should deduct the range FF00 to FFFF that cannot be used (it's SAM domain)
So $4000-$100 = $3F00 => 16128 exactly as you have said.
No problem deleting from the end, because there is Nothing there ...
Well, now we could use these better formatted DIR functions in XRoar too.
thanks a lot
pere