Page 1 of 1

USR() routines....

Posted: Sun Nov 13, 2011 11:54 pm
by prime
Hi all,

Does anyone know of any software that uses all 10 of the USR() routines ?

The reason I ask is that to define extra keywords (for DragonMMC), you have to define a new keyword stub, which over-writes the first byte of the 20 byte USR routine addresses. Dragon DOS gets round this by stealing one of the graphics pages for it's variables and moving them there. I am currently doing this, however the only thing I am using this for at the moment *IS* the USR vectors. Doing this of course reduces the number of graphics pages to 7, which is a prblem for some software written in basic which tries to do a pclear 8.

I was thinking that I could still use the second keyword stub, move the USR table up by 2 bytes and re-define the USR() routine so that only USR00-USR08 are recognised. However this would of course not work if the 10th USR routine was used.

Thoughts ?

Cheers.

Phill.

Re: USR() routines....

Posted: Sat Nov 19, 2011 5:15 pm
by zephyr
You could relocate the USR address table to $00ea-00ff. These bytes are unused when DOS is not present.

Re: USR() routines....

Posted: Sun Nov 20, 2011 1:51 am
by prime
zephyr wrote:You could relocate the USR address table to $00ea-00ff. These bytes are unused when DOS is not present.
Humm yeah that is indeed true, though I do later plan to have a dos emulation mode, I suppose when dos is active then it reserves the page and re-locates anyways.

Cheers.

Phill.

Re: USR() routines....

Posted: Tue Nov 22, 2011 4:18 pm
by prime
Right moving the USR vectors to $00EC-$00FF seems to work, now I just need some software to test....

Anyone know any games in the archive off the top of your head that use usr routines ?

Cheers.

Phill.

Re: USR() routines....

Posted: Tue Nov 22, 2011 10:14 pm
by sixxie
Flee! does (although as usual, only USR0 - I can't think of any that use more than that either).

Re: USR() routines....

Posted: Wed Nov 23, 2011 12:18 am
by Alastair
Both Tim Love's Cricket by Peaksoft and Invader Cube by Oasis work on a Dragon 32 but not on a 64 so I suspect that both use USRs higher than 0.

Re: USR() routines....

Posted: Wed Nov 23, 2011 12:37 am
by zephyr
Kriegspiel (D32 only) is a good one for testing. IIRC this game uses all 10 of the USR() routines.