Groups | Search | Server Info | Login | Register


Groups > de.comp.lang.assembler > #1209

Re: 6502 gunzip

From Jan Bruns <ebay@abnuto.de>
Newsgroups de.comp.lang.assembler
Subject Re: 6502 gunzip
Date 2020-10-21 10:23 +0000
Message-ID <hvaggrFbqqhU2@mid.individual.net> (permalink)
References <hv9ts3FbqqhU1@mid.individual.net>

Show all headers | View raw


Jan Bruns:
> Ich glaube, da hat die Welt drauf gewartet, nicht?
> Nur deshalb ging's nicht voran.

Es war noch ein offensichtlicher bug in Lgz_prepare_default_tabs.

Ich habe grad nochmal überdacht, ob man Lgz_take_lencode (also das Ding, 
das diese "(HCLEN + 4) x 3 bits" [Zitat RFC 1951] entgegen nimmt) nicht 
irgendwie so gestalten kann, daß es die Daten erstmal irgendwo 
zwischenspeichert, und hinterher erst alles in einem Rutsch über 
Lgz_put_lencode läuft, wie bei den andren Tabellen auch.

Scheint aber eher schlechter zu sein:

Lgz_init_initial_codelen: // irgendwo in BTYPE, oder so
            lda Lgz_tabpages
            sta Lgz_save_initial_codelen_point+2
            sta Lgz_init_initial_codelen_loop+2
            sta Lgz_copy_initial_codelens_loop+2
            ldx #12
            lda #00
Lgz_init_initial_codelen_loop:
            sta ff00,x
            dex
            bpl Lgz_init_initial_codelen_loop
            rts




Lgz_save_initial_codelen: // statt Lgz_take_lencode
            ldx Lgz_codes_loaded
            ldy Lgz_hclenorder,x
            lda Lgz_indat
Lgz_save_initial_codelen_point:
            sta ff00,y
            inc Lgz_codes_loaded
            lda Lgz_codes_loaded
            cmp Lgz_HCLEN
            bcs Lgz_copy_initial_codelens
            lda #05
            ldx #03
            jmp Lgz_expectbits
Lgz_copy_initial_codelens:
            ldx #00
            stx Lgz_codes_loaded
            stx Lgz_copy_initial_codelens_loop+1
            dex
            stx Lgz_putwhat
Lgz_copy_initial_codelens_loop:
            lda ff00
            sta Lgz_indat
            jsr Lgz_put_lencode
            inc Lgz_copy_initial_codelens_loop+1
            lda Lgz_copy_initial_codelens_loop+1
            cmp #13
            bne Lgz_copy_initial_codelens_loop
Lgz_take_lencode_final: // wie bei Lgz_take_lencode
...


Mag aber sein, daß das mit kompakterem, kompletten Zerofill bei der 
Initialisierung noch anderswo wieder was spart, und dann doch besser oder 
zumindest geringfügig kürzer ist. Ich weiss es nicht.

Gruss

Jan Bruns

Back to de.comp.lang.assembler | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

6502 gunzip Jan Bruns <ebay@abnuto.de> - 2020-10-21 05:05 +0000
  Re: 6502 gunzip Jan Bruns <ebay@abnuto.de> - 2020-10-21 10:23 +0000
  Re: 6502 gunzip Jens Kallup <kallup.jens@web.de> - 2020-10-21 16:59 +0200
    Re: 6502 gunzip Jan Bruns <ebay@abnuto.de> - 2020-10-22 12:55 +0000

csiph-web