home *** CD-ROM | disk | FTP | other *** search
- \ SAVESCR.SEQ Routine to save and restore screen. by Tom Zimmer
-
- decimal
-
- 0 constant svseg \ screen save segment
-
- : svinit ( --- ) \ screen save initialization
- defers initstuff
- 0 =: svseg
- 16000 16 / 1+ alloc 8 =
- abort" Could not allocate memory for Screen save routine."
- nip =: svseg ;
-
- ' svinit is initstuff
-
- \ nestable save and restore up to three (3) times.
-
- : savescr ( --- )
- svseg 0= if exit then
- svseg 0 2dup 4000 + 12000 cmovel> \ Make a hole in buf
- video-seg @ 0 svseg 0 4000 cmovel ; \ & save screen in it.
-
- : restscr ( --- )
- svseg 0= if exit then
- svseg 0 video-seg @ 0 4000 cmovel \ Restore screen &
- svseg 4000 over 0 12000 cmovel ; \ compress buffer.
-
-