Jump to content
IGNORED

xBIOS 4.1 - High Speed / Different Disks


Recommended Posts

Two questions in one here:

 

a)

I would like to be able to have high speed disk access using xBios 4.1.

 

I see that there are two definitions made with respect to speed:

 

xSPEED equ xBIOS+$3e6 ; STD SPEED
xHSPEED equ xBIOS+$3e7 ; ULTRA SPEED

 

1) Can I use these to have high speed disk access to conventional floppy disks on a real Atari?

2) If the answer to (1) is "yes", how do I use these to get high speed disk access?

 

b)

How can I use files on disk drive 2/3/4/5 etc?

 

Link to comment
Share on other sites

when you load xBIOS, library check if your drive has ultraSpeed, if so it save proper value to xHSPEED.

 

so. if drive has ultraspeed (knows "HIGH SPEED INDEX" SIO command) you can use:

 

lda xHSPEED

bmi no_hispeed

sta xSPEED

 

it works if you use SIO I/O module: "jsr xBIOS_SET_DEFAULT_DEVICE"

using AtariOS I/O module do not think about speed control.

 

B:

yes, use:

xDEVICE equ xBIOS+$3fc ; Device ID

Link to comment
Share on other sites

Thank you so much for your quick reply.

This will help me in what I am doing.

 

Would it be ok if I wrote an xBIOS manual/document in English? I would like one document with lots of information in. I am not the most knowledgeable person on xBIOS, so I will need help from yourself and other people. I will use some of your examples in the document if that is OK?

 

I am finding that there are posts to different places (your website, various Atariage posts, other sites) and it would be good if they were all in one place.

 

---

 

Different question : Is there a way to know which drives have high speed? Is there one way of doing this for ALL high speed drives? Or are there different ways for different drives?

  • Like 1
Link to comment
Share on other sites

> Would it be ok if I wrote an xBIOS manual/document in English?

 

wow! yes, of course, great :-)

 

 

> Different question : Is there a way to know which drives have high speed? Is there one way of doing this for ALL high speed drives? Or are there different ways for different drives?

 

 

why not. ask drive if could work with hi speed and what speed:

xBIOS_SET_DEFAULT_DEVICE equ xBIOS+$2A
xBUFSIZE equ xBIOS+$3f1 ; Buffer size lo byte $100-SIZE (1 byte)
xDEVICE equ xBIOS+$3fc ; Device ID
xIOV equ xBIOS+$3ee ; I/O module entry (2 bytes)
xBSIO jmp (xIOV)
start jsr xBIOS_SET_DEFAULT_DEVICE ; I want to use xB SIO I/O
lda #$100-$01 ; set buffer size
sta xBUFSIZE
lda #'1' ; AtariOS device '1' = DOS device D1:
sta xDEVICE ; you can use '2', '3' and so for D2: D3: ...
ldx #$3F ; set command GET HI SPEED FROM DRIVE
jsr xBSIO
bcs DRIVE_HAS_NO_ULTRA_SPEED_NO_HAPPY_WARP_NO_US_DOUBLER_ETC
lda $7ff ; get HiSpeedIndex byte from buffer (xBUFSIZE = lo byte,xBUFFERH = hi byte)
remember to preserve old xBUFSIZE and xDEVICE value... if you want ofcourse.
  • Like 1
Link to comment
Share on other sites

The first version (0.1.0) of the xBIOS document has now been delivered for checking. When I get the feedback to the document, I will update the document (in Beta!) for others to review.

 

I also put a plea out to other people to send me some code examples for some of the less obvious features. I will then incorporate these into the document and add you as a code author.

 

I am no xBIOS expert and do not pretend to be. I use it a bit but I need the assistance of others in order to produce the document. It will be a constant "working document" and so it will not have a final version.

 

Help may be required for anything using different cartridge formats or RAM disks. I have no examples there.

  • Like 1
Link to comment
Share on other sites

  • 4 years later...
On 5/4/2015 at 10:52 PM, xxl said:

lda xHSPEED

bmi no_hispeed

sta xSPEED

 

On 5/8/2015 at 1:21 PM, xxl said:
lda $7ff ; get HiSpeedIndex byte from buffer (xBUFSIZE = lo byte,xBUFFERH = hi byte)
 
remember to preserve old xBUFSIZE and xDEVICE value... if you want ofcourse.

 

Is it possible to get a full example of this because this is a little confusing?

 

What is $7ff ? is it the end of the IO Buffer  ? ( .byte >$0700 ; xB buffer adress for relocator in the .cfg file )

 

Thanks

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...