Saved a few bytes in load-rom by using STZ, thanks Delta!

This commit is contained in:
Andrew Alderwick 2021-09-23 00:18:35 +01:00
parent 0e96afa8a9
commit 5f636b96c2
1 changed files with 15 additions and 15 deletions

View File

@ -65,24 +65,24 @@
POP POP2r POP POP2r
( copy the zero-page-loader into f0-ff ) ( copy the zero-page-loader into f0-ff )
;&zero-page-loader LIT2r 00f0 ;&zero-page-loader LITr f0
&copy-loop &copy-loop
LDAk STH2kr STA LDAk STHkr STZ
INC2 INC2r INC2 INCr
STHkr ,&copy-loop JCN STHkr ,&copy-loop JCN
POP2 NIPr ( leave 00 on return stack ) POP2 ( leave 00 on return stack )
( prepare the stack for the zero-page-loader ) ( prepare the stack for the zero-page-loader )
( the more we prepare here in advance, the less we'll have to overwrite ) ( the more we prepare here in advance, the less we'll have to overwrite )
STHkr DUPk #fe ( arguments for STA2 at ff ) STHkr #00fe ( arguments for STZ2 at ff )
OVR2 ( argument for JMP at fe (carry on), plus an extra zero ) STHkr ( argument for JMP at fe (carry on) )
DUP2 #fcfe ( arguments for STA2 at fd and JMP (repeat) ) DUPk #fcfe ( arguments for STZ2 at fd and JMP (repeat) )
OVR2 STHkr #fafe ( arguments for STA2 at fd and JMP (repeat) ) OVR2 #fafe ( arguments for STZ2 at fd and JMP (repeat) )
OVR2 STHkr #f8fe ( arguments for STA2 at fd and JMP (repeat) ) OVR2 #f8fe ( arguments for STZ2 at fd and JMP (repeat) )
OVR2 STHkr #f6fe ( arguments for STA2 at fd and JMP (repeat) ) OVR2 #f6fe ( arguments for STZ2 at fd and JMP (repeat) )
OVR2 STHkr #f4fe ( arguments for STA2 at fd and JMP (repeat) ) OVR2 #f4fe ( arguments for STZ2 at fd and JMP (repeat) )
OVR2 STHkr #f2fe ( arguments for STA2 at fd and JMP (repeat) ) OVR2 #f2fe ( arguments for STZ2 at fd and JMP (repeat) )
OVR2 STHkr #f001 ( arguments for STA2 at fd, plus an extra 01 ) OVR2 #f001 ( arguments for STZ2 at fd, plus an extra 01 )
STHkr ( first argument for ADD2 ) STHkr ( first argument for ADD2 )
.File/success ( argument for DEI2 ) .File/success ( argument for DEI2 )
#0100 .File/load ( arguments for DEO2 ) #0100 .File/load ( arguments for DEO2 )
@ -103,9 +103,9 @@
( fa ) JCN ( fa ) JCN
( fb ) POPr ( fb ) POPr
( fc ) POP2 ( fc ) POP2
( fd ) STA2 ( deletes f0-fd through looping ) ( fd ) STZ2 ( deletes f0-fd through looping )
( fe ) JMP ( fe ) JMP
( ff ) STA2 ( deletes fe-ff ) ( ff ) STZ2 ( deletes fe-ff )
&tmp $1 &tmp $1