Jump to content
IGNORED

Large project- memory considerations


Recommended Posts

Maybe xBIOS is worth having a look at if you're encountering memory constraint issues but still want DOS/disk I/O? There's an example of using it with LZ4 decompression, though I haven't tried it myself, and I don't know if there are 8-bit based LZ4 compression utilities - see: 

 

  I'm actually messing around with ZX0 decompression on the 8-bit and it works very well, but I do the compression (with Salvador) and assembly on a Linux box.

Link to comment
Share on other sites

I suggest using the new version of xBIOS with a built-in decompressor module (LZ4, APL, ZX0 are available) - recently I showed online the use of xB for Atari with 8KB RAM, which resulted in a demo of a game for Atari 400 with 8KB RAM

 

https://forums.atariage.com/topic/366224-game-with-speech-synthesis-for-atari-400-8kb-ram/#comment-5463394

  • Like 2
Link to comment
Share on other sites

Hi @xxl,

 

  Do you mean changing the decompression code in the example from:

                jsr     unlz4
                ldx     #$02
@               lda     colour,x
                sta     COLPF0S,x
                dex
                bpl     @-
ldgfx           bmi     load_index

unlz4           icl    'unlz4.asm'

To:

                jsr     dzx0_standard
                ldx     #$02
@               lda     colour,x
                sta     COLPF0S,x
                dex
                bpl     @-
ldgfx           bmi     load_index

dzx0_standard   icl    'unzx0.asm'

(You would have to fix the dzx0_standard being declared in this file and the included file), or is it built in as part of the object code for xBIOS itself? Are there any more sources available, particularly for the demo for the 8K Atari?

 

At the moment I am building for MyDOS, but planning to move over to xBIOS. Does xBIOS support large (16 MB) MyDOS format ATR disk images with sub-directories, and also divisor 0 transfers? The docs/wiki read like it does, but just checking just in case.

 

@whomper Apologies for the slight thread de-rail.

Link to comment
Share on other sites

8 hours ago, E474 said:

At the moment I am building for MyDOS, but planning to move over to xBIOS.

write a private message or open a new topic, just briefly here: yes, it supports the MyDOS 16MB format and divisor 0. What you showed above is a separate decompressor module, I am talking about the built-in decompressor in xBIOS.
In short, one of the many possibilities is to use compressed segments in the binary file.
example of a segment compressed in a binary file:

 

ldy <fname
ldx >fname
jsr load_zx0
        pla
        pla
continue


load_zx0

                        pla
                        clc
                        adc #1
                        sta runad
                        pla
                        adc #0
                        sta runad+1
                        jsr     xBIOS_LOAD_FILE
                        jmp * ; error
                        

together with the xBIOS_SET_RUNAD command, this gives huge new possibilities...

 

; ff ff      00 40  00 00  02      - binary file header 
; binary file          - can be omitted
;            load adr
;                      compressed
;                               zx0  (02), apl (01), lz4 (00)

 

 

or just: (it all depends on you)

 

ldy <fname
ldx >fname
jmp xBIOS_LOAD_FILE

 

 

  • Like 2
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...