barrym95838 wrote:
Does your new 'detached header' structure allow you to overlap words? If so, you may be able to take advantage of this in several primitives, right?
Mike
With nothing but code in the dictionary, fallthrough works. Here's what I did with DROP 2DROP 3DROP 4DROP and poptwo pop put used by primitives. Mostly I'm focusing right now on getting FIND and the outer interpreter to work again, so I can change my cold banner message to something other than
.asc "VERSION PRE-ALPHA 2014-06-02",CR
.asc "455 SACK OF ROME: VANDALS ENTER ROME,",CR
.asc " AND PLUNDER THE CITY FOR TWO WEEKS",CR
Code:
;--------------------------------------------------------------
;
; 2DROP
;
#ifdef HEADERS
twodroplfa
.byt $de,$ad
.byt (twodrop-*-1)|bit7
.asc "2DRO","P"|bit7
#endif
twodrop
poptwo
inx
;--------------------------------------------------------------
;
; DROP ( n -- )
;
; * 83 nucleus
;
#ifdef HEADERS
droplfa
.byt $de,$ad
.byt (drop-*-1)|bit7
.asc "DRO","P"|bit7
#endif
drop
pops
ldy stackh,x
lda stackl,x
inx
put
sty tos+1
sta tos
jmp next
;--------------------------------------------------------------
;
; 4DROP ( -- )
;
; description
;
#ifdef HEADERS
fourdroplfa
.byt $de,$ad
.byt (fourdrop-*-1)|bit7
.asc "4DRO","P"|bit7
#endif
fourdrop
inx
;--------------------------------------------------------------
;
; 3DROP ( a b c -- )
;
; * 83 nucleus
;
#ifdef HEADERS
threedroplfa
.byt $de,$ad
.byt (threedrop-*-1)|bit7
.asc "3DRO","P"|bit7
#endif
threedrop
inx
bne poptwo