home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib37b.dsk / MOVER.bas < prev    next >
BASIC Source File  |  2023-02-26  |  1KB  |  14 lines

  1. 10  IF  PEEK(104) < >64  THEN 63988: REM  do only once
  2. 63987  END : REM  don't fall in here by accident
  3. 63988  POKE 60,0: POKE 61,8: REM  beginning address ($0800)
  4. 63989  POKE 62, PEEK(175): POKE 63, PEEK(176): REM  ending address
  5. 63990  POKE 66,0: POKE 67,64: REM  destination address ($4000)
  6. 63991  POKE 768,160: POKE 769,0: POKE 770,76: POKE 771,44: POKE 772,254: CALL 768: REM clear Y reg & call monitor move ($FE2C) to move prgm
  7. 63992 AL = 16385:AH = 16386:L = ( PEEK(175) +(256 * PEEK(176))) -2048: REM  set high and low byte pointers and length of prgm
  8. 63993  POKE AH, PEEK(AH) +64 -8:AL =  PEEK(AL) +(256 * PEEK(AH)):AH = AL +1: IF (AH -16386) <L  THEN 63993: REM  parse through prgm and change high byte pointers
  9. 63994  POKE 106, PEEK(106) +64 -8: REM  reset VARTAB
  10. 63995  POKE 108, PEEK(108) +64 -8: REM  reset ARYTAB
  11. 63996  POKE 110, PEEK(110) +64 -8: REM  reset STREND
  12. 63997  POKE 176, PEEK(176) +64 -8: REM  reset PRGEND
  13. 63998  POKE 104,64: REM  reset TXTTAB
  14. 63999  RUN : REM  a sure way to restart