Jump to content
IGNORED

xBIOS V3


Heaven/TQA

Recommended Posts

just in case if you have not considered yet to use XXL's brilliant xBIOS V3 for your next project... I tell you just this:

 

;xBIOS V3
;$0000-$00ff ; free
;$0100-$01ff ; stack 6502C
;$0200-$06ff ; free
;$0700-$07ff ; buffer I/O
;$0800-$0bff ; xBios
;$0c00-$cfff ; free
;$d000-$d7ff ; Atari HW
;$d800-$ffff ; free
and you can have custom NMI already in the early loading sequence which means you can play music and load data below ROM....
Thanks, XXL... without xBIOS my life for upcoming project would be much harder... ;)
  • Like 1
Link to comment
Share on other sites

important change in v3 - xB starts with I/O OS compatible so works with all devices.


in v3 all components are fully relocatable. buffer, library even runad / initad vectors you can put under OS eg. $d800 and use e.g. ultraspeed for your drive.


it is possible to load program with load adress starts at $200



  • Like 2
Link to comment
Share on other sites

 

important change in v3 - xB starts with I/O OS compatible so works with all devices.
in v3 all components are fully relocatable. buffer, library even runad / initad vectors you can put under OS eg. $d800 and use e.g. ultraspeed for your drive.
it is possible to load program with load adress starts at $200

 

That's excellent :) I'm glad that xb is being utilised by many more users now too.

Edited by Tezz
Link to comment
Share on other sites

Budowa xBIOS
Pierwszy blok pliku xBIOS to blok konfiguracji. Zmieniając go możemy np. relokować bibliotekę pod dowolny adres, zmienić nazwę pliku który ma być automatycznie załadowany itp.
.byte c'XAUTORUN ' ; autorun file
.byte >$0800 ; xBIOS adress
.byte >$0700 ; buffer adress
.word INITAD ; INITAD vector adress
.word RUNAD ; RUNAD vector adress
.word AOSV ; I/O module adress (at run AtariOS; default xSIOV)
.word AOSV_RELOC ; relocate AtariOS I/O module variables
.byte $ff ; PORTB at start (can't switch off BASIC this way)
.byte $40 ; NMIEN at start
.byte $c0 ; IRQEN at start
.word xSIOV ; xSIOV adress just for info
.byte { RTS } ; dummy. xSIOV is part of xB, no need relocate it variables

Link to comment
Share on other sites

if you want reloc buffer use xBIOS_RELOCATE_BUFFER.


during loading do it like this:


org $c00

sec ; C=1 during I/O you can preserve buffer content

ldx #>$2000 ; new_buffer_adr

jmp xBIOS_RELOCATE_BUFFER

ini $c00

org $700

lda random

sta colbak

jmp $700

run $700


if you want do your own xB config, you need set up xB header - the first block in xB. you can also delete the menu from the library, just remove latest block in xb file.

Link to comment
Share on other sites

XXL... how do I need to include data file?

 

I just want to do this

 

;packed
org $4000
;picture1
ins "arsantica_logo.pic.lz4",$0b,.filesize "arsantica_logo.pic.lz4"-$0b-$06
but is this correct for the unpacking in RAM?
well... fixed my bugs in code and it works:
;packed
org $4000
;picture1
ins "arsantica_logo.pic.lz4",$0b,.filesize "arsantica_logo.pic.lz4"-$0b-$06
org loader
lda #<$4000
sta lz4_source
lda #>$4000
sta lz4_source+1
lda #<picture1
sta lz4_dest
lda #>picture1
sta lz4_dest+1
jsr unlz4
Edited by Heaven/TQA
  • Like 1
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...