home *** CD-ROM | disk | FTP | other *** search
/ Set of Apple II Hard Drive Images / hard.hdv / HARD / PROJECT / SOURCE / COMPRESS.SRC < prev    next >
Encoding:
Text File  |  1992-07-09  |  2.7 KB  |  92 lines  |  [04] ASCII Text (0x0000)

  1. ;
  2. ; COMPRESS.SRC
  3. ;
  4. FWDPTR              EQU   $08
  5. TAILPTR             EQU   $06
  6. FOUND               EQU   $FF
  7. ;
  8.                     ORG   $0800
  9. ;
  10.                     LDA   #$00
  11.                     STA   TAILPTR
  12.                     STA   FWDPTR
  13.                     LDA   #$20
  14.                     STA   TAILPTR+1
  15.                     STA   FWDPTR+1
  16.                     JMP   DOIT
  17. ;
  18.                     JMP   SEARCH
  19. ;
  20. ENDSRCH             LDY   #$00         ;NOT FOUND
  21.                     RTS   
  22. ;
  23. SEARCH              LDY   #$00         ;NOT FOUND YET
  24.                     STY   FOUND
  25.                     LDA   (FWDPTR),Y
  26.                     BEQ   CHKEND        ;IF 0, CHECK IF 0 FF 2F 00
  27.                     CMP   #$80
  28.                     BNE   ENDSRCH        ;IS IT 80
  29.                     INY   
  30.                     LDA   (FWDPTR),Y
  31.                     BNE   ENDSRCH        ;IS IT 00
  32.                     INY   
  33.                     LDA   (FWDPTR),Y
  34.                     BNE   ENDSRCH        ;IS IT 00
  35.                     INY   
  36.                     LDA   (FWDPTR),Y
  37.                     LDA   #$01         ;YES, FOUND IT
  38.                     STA   FOUND
  39.                     JMP   ENDSRCH
  40. ;
  41. CHKEND              INY   
  42.                     LDA   (FWDPTR),Y
  43.                     CMP   #$FF
  44.                     BNE   ENDSRCH
  45.                     INY   
  46.                     LDA   (FWDPTR),Y
  47.                     CMP   #$2F
  48.                     BNE   ENDSRCH
  49.                     LDA   #$FF
  50.                     STA   FOUND
  51.                     JMP   ENDSRCH
  52. ;
  53. DOIT                JSR   SEARCH
  54.                     LDA   FOUND
  55.                     CMP   #$01
  56.                     BEQ   DONTMOVE
  57.                     LDY   #$00         
  58.                     LDA   (FWDPTR),Y
  59.                     STA   (TAILPTR),Y
  60.                     INY   
  61.                     LDA   (FWDPTR),Y
  62.                     STA   (TAILPTR),Y
  63.                     INY   
  64.                     LDA   (FWDPTR),Y
  65.                     STA   (TAILPTR),Y
  66.                     INY   
  67.                     LDA   (FWDPTR),Y
  68.                     STA   (TAILPTR),Y
  69.                     LDA   #$04
  70.                     CLC   
  71.                     ADC   TAILPTR
  72.                     STA   TAILPTR
  73.                     LDA   #$00
  74.                     ADC   TAILPTR+1
  75.                     STA   TAILPTR+1
  76. ;
  77. DONTMOVE            LDA   #$04
  78.                     CLC   
  79.                     ADC   FWDPTR
  80.                     STA   FWDPTR
  81.                     LDA   #$00
  82.                     ADC   FWDPTR+1
  83.                     STA   FWDPTR+1
  84.                     LDA   FWDPTR+1
  85.                     CMP   #$80
  86.                     BCS   EXIT
  87.                     LDA   FOUND
  88.                     CMP   #$FF
  89.                     BNE   DOIT
  90. ;
  91. EXIT                RTS   
  92.