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
122 $FORTH_END_CODE_WORD +!
137 $FORTH_END_CODE_WORD -!
148 $FORTH_END_CODE_WORD C+!
159 $FORTH_END_CODE_WORD C-!
161 $FORTH_CODE_WORD TOGGLE
170 $FORTH_END_CODE_WORD TOGGLE
189 $FORTH_END_CODE_WORD 2@
198 $FORTH_END_CODE_WORD C@
209 $FORTH_END_CODE_WORD @
225 $FORTH_END_CODE_WORD 2!
234 $FORTH_END_CODE_WORD C!
245 $FORTH_END_CODE_WORD !
253 $FORTH_END_CODE_WORD 0C!
263 $FORTH_END_CODE_WORD 0!
271 $FORTH_END_CODE_WORD 1C!
281 $FORTH_END_CODE_WORD 1!