Advertisement
Guest User

Untitled

a guest
Mar 1st, 2015
524
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .binarymode TI8X
  2. #include "ti83plus.inc"
  3.  
  4. fileadr  .equ appbackupscreen
  5. filepage .equ fileadr+2
  6.  
  7. .org userMem-2
  8. .db $BB,$6D
  9.  
  10. ProgramStart:
  11.  ld hl,0
  12.  ld (currow),hl
  13.  ld hl,programstarting
  14.  bcall(_PutS)
  15.  ld hl,fileInput
  16.  rst 20h
  17.  bcall(_ChkFindSym)
  18.  ret c
  19.  ld a,b
  20.  or a
  21.  ret nz
  22.  inc de
  23.  inc de  ;skip size component.
  24.  ex de,hl
  25.  ld c,(hl)  ;get output file size
  26.  inc hl
  27.  ld b,(hl)
  28.  inc hl
  29.  ld (fileadr),hl
  30.  push bc
  31.    push bc
  32.      push bc
  33.      pop hl
  34.      bcall(_EnoughMem)
  35.      jr c,NoMem
  36.      ld hl,fileOutput
  37.      rst 20h    
  38.    pop hl
  39.    bcall(_CreateProtProg)
  40.    inc de
  41.    inc de
  42.  pop bc
  43.  
  44. ; ld a,255
  45. ;Performance_test_loop:
  46. ; push af
  47.    push bc
  48.      push de
  49.        ld hl,(fileadr)
  50.        call dlz77_2_main
  51.      pop de
  52.    pop bc
  53. ; pop af
  54. ; dec a
  55. ; jr nz,Performance_test_loop
  56.  
  57.  
  58.  ld hl,0
  59. sumfile:
  60.  ld a,(de)
  61.  inc de
  62.  add a,L
  63.  ld L,a
  64.  jr nc,$+3
  65.  inc h
  66.  dec bc
  67.  ld a,b
  68.  or c
  69.  jr nz,sumfile
  70.  bcall(_DispHL)
  71.  ret
  72.  
  73.  
  74.  
  75. NoMem:
  76.    pop af
  77.  pop af
  78.  ret
  79.  
  80. getByteFromSource:
  81.  push hl
  82.    in a,(6)
  83.    push af
  84.      ld a,h
  85.      rlca
  86.      rlca
  87.      and 3
  88.      res 7,h
  89.      res 6,h
  90.      push de
  91.        ld de,(fileadr)
  92.        add hl,de
  93.        bit 7,d
  94.        jr nz,skipGetByteFromSourcePaged
  95.        bit 7,h
  96.        jr z,skipGetByteFromSourcePaged
  97.        res 7,h
  98.        set 6,h
  99.        inc a
  100. skipGetByteFromSourcePaged:
  101.        ld e,a
  102.        ld a,(filepage)
  103.        add a,e
  104.        out (6),a
  105.      pop de
  106.      out (6),a
  107.      ld L,(hl)
  108.    pop af
  109.    out (6),a
  110.    ld a,L
  111.  pop hl
  112.  ret
  113.  
  114.  
  115. fileInput:
  116. .db protProgObj,"TESTIN",0
  117. fileOutput:
  118. .db protProgObj,"TESTOUT",0
  119. fileoverrun:
  120. .db "Err:File Overrun",0
  121. filefound:
  122. .db "Input file found",0
  123. programstarting:
  124. .db "Starting program",0
  125.  
  126. Decomp:
  127. #include "decomp_01\decomp02.z80"
  128.  
  129.  
  130.  
  131. .echoln "Program size: ",$-ProgramStart
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement