1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2 ;; memory loading and storing
3 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
5 $FORTH_CODE_WORD PAGE-CMOVE
7 ;; CMOVE with page swapping
8 ;; disables interrupts, so it is safe
9 ;; ( from to len destpage -- )
10 ;; `to` must be >= #C000
13 ;;AND #07 ; we can have alot of pages
14 ; get other args and save BC
19 ex (sp),hl ; save BC and get src
35 $FORTH_END_CODE_WORD PAGE-CMOVE
37 $FORTH_CODE_WORD CMOVE
52 $FORTH_END_CODE_WORD CMOVE
56 ;; ( addr len byte -- )
65 jr nz,fword_fill_valid
66 ;; less than 256 bytes, check for one byte
69 jp c,i_next ;; zero bytes, do nothing
70 jr nz,fword_fill_valid
87 ;; ;; ( addr len byte -- )
106 $FORTH_END_CODE_WORD FILL
112 $FORTH_END_WORD ERASE
118 $FORTH_END_WORD BLANKS
134 $FORTH_END_CODE_WORD +!
149 $FORTH_END_CODE_WORD -!
160 $FORTH_END_CODE_WORD C+!
171 $FORTH_END_CODE_WORD C-!
173 $FORTH_CODE_WORD TOGGLE
182 $FORTH_END_CODE_WORD TOGGLE
201 $FORTH_END_CODE_WORD 2@
210 $FORTH_END_CODE_WORD C@
221 $FORTH_END_CODE_WORD @
237 $FORTH_END_CODE_WORD 2!
246 $FORTH_END_CODE_WORD C!
257 $FORTH_END_CODE_WORD !
265 $FORTH_END_CODE_WORD 0C!
275 $FORTH_END_CODE_WORD 0!
283 $FORTH_END_CODE_WORD 1C!
293 $FORTH_END_CODE_WORD 1!