Fast decompression (Development MSX Fora)MSX Resource Center            
            
English Nederlands Espa�ol Portugu�s Russian         
 Nieuws
   Voorpagina
  Nieuws archief
  Nieuws onderwerpen

 Informatie
   MSX Fora
  Artikelen
  Recensies
  Beursverslagen
  Fotoreportages
  Beurzen en meetings
  Enquêtes
  Links
  Zoek

 Software
   Downloads
  Webshop

 MRC
   Wie we zijn
  Kom bij ons team
  Doneren
  Policies
  Contact met het MRC
  Link naar Ons
  Statistieken

 Zoek
 
  

  

 Login
 

Gebruikersnaam

Wachtwoord




Ben je nog niet lid? Klik hier en word MSX vriend!


 Statistieken
 

Er zijn 60 gasten en 5 MSX vrienden online

Je bent een anonieme bezoeker.
 

MSX Fora


MSX Fora

Development - Fast decompression

Ga naar pagina ( Vorige pagina 1 | 2 )
Schrijver

Fast decompression

dvik
msx master
Berichten: 1339
Geplaatst: 23 Oktober 2006, 19:16   
@Prodatron: Thanks. I just took a quick look at the decruncher. It looks like the compression rate may not be as high as bitbuster, but on the other hand it looks faster. For my little app, speed is more important so I'll try to modify it to out the data instead of unpacking to ram.

@ARTRAG: Here is my decoder. Its quite simple so I think you'll understand how the data is being packed. As I said, its not that generic but fits my data pretty well.

; Unpacks 256 bytes of data located at HL to the VRAM at DE
depack:                 
        ld      a,e
        out     [$99],a
        ld      a,d
        and     $3f
        or      $40
        out     [$99],a
        ld      c,$98

        xor     a               ; Make sure we get a reload on the
                                ; byte with bits
        ld      b,a             ; Reset loop counter (this routine
                                ; unpacks 256 bytes but that could
                                ; easliy be changed
.Loop:
        add     a,a             ; Get next bit
        jp      nz,.NoReload    ; If byte with bits is zero, get next
        ld      a,(hl)
        inc     hl
        add     a,a             ; Get next bit in new byte
.NoReload:
        jp      c,.NoNewVal     ; If high bit was set, we have a new
                                ; value, else the old value is outed
        ld      d,(hl)
        inc     hl
.NoNewVal:
        out     (c),d           ; Out the value

        djnz    .Loop           ; Continue loop
        ret   

ARTRAG
msx master
Berichten: 1737
Geplaatst: 23 Oktober 2006, 19:43   
60Kbps? Humm....

full screen 2 B/W at 10fps = 60Kbps
or
full screen 2 full color at 5 fps = 60Kbps
or
half screen2 (128x192) full color at 10fps = 60Kbps


dvik
msx master
Berichten: 1339
Geplaatst: 23 Oktober 2006, 19:57   
@ARTRAG: Its something better than that But you have to wait a while before we have something to show...
 
Ga naar pagina ( Vorige pagina 1 | 2 )
 







(c) 1994 - 2008 Stichting MSX Resource Center. MSX is een trademark van MSX Licensing Corporation.