added code to display dictionary compressed strings
This commit is contained in:
1 parent
d3fdc6cc59
commit
3b4d1345db
13 files changed
+202
-78
No files matched your search
@@ -0,0 +1,67 @@
|
||||
// #LAYOUT# STD * #TAKE
|
||||
// #LAYOUT# M65 BASIC_1 #TAKE
|
||||
// #LAYOUT# X16 BASIC_0 #TAKE
|
||||
// #LAYOUT# * * #IGNORE
|
||||
|
||||
|
||||
#if CONFIG_COMPRESSION_LVL_2
|
||||
|
||||
print_packed_error: // .X - error string index
|
||||
|
||||
lda #<packed_dict_errors
|
||||
ldy #>packed_dict_errors
|
||||
bne print_dict_packed_string // branch always
|
||||
|
||||
print_packed_misc_str: // .X - misc string index
|
||||
|
||||
lda #<packed_dict_misc
|
||||
ldy #>packed_dict_misc
|
||||
|
||||
// FALLTROUGH
|
||||
|
||||
print_dict_packed_string:
|
||||
|
||||
// Search for the packed string on the list
|
||||
|
||||
jsr print_packed_search
|
||||
|
||||
ldy #$00
|
||||
!:
|
||||
// At this point FRESPC contains a pointer to the string to display
|
||||
// Fetch a byte-code
|
||||
|
||||
lda (FRESPC), y
|
||||
beq print_dict_packed_string_end // branch if everything displayed
|
||||
tax
|
||||
dex
|
||||
|
||||
// Call 'print_freq_packed_string' - but preserve all the data needed to progress further
|
||||
|
||||
phy_trash_a
|
||||
lda FRESPC+0
|
||||
pha
|
||||
lda FRESPC+1
|
||||
pha
|
||||
|
||||
lda #<packed_dictionary
|
||||
ldy #>packed_dictionary
|
||||
|
||||
jsr print_freq_packed_string
|
||||
|
||||
pla
|
||||
sta FRESPC+1
|
||||
pla
|
||||
sta FRESPC+0
|
||||
ply_trash_a
|
||||
|
||||
// Next iteration
|
||||
|
||||
iny
|
||||
bne !- // branch always
|
||||
|
||||
print_dict_packed_string_end:
|
||||
|
||||
rts
|
||||
|
||||
|
||||
#endif
|
||||
Reference in new issue
Block a user