mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-11-19 12:32:35 +00:00
mode7: more byte shaving. getting close
This commit is contained in:
parent
09f05e9ef8
commit
16583d3883
@ -297,6 +297,7 @@ credits:
|
|||||||
.asciiz "CORNELL GCF"
|
.asciiz "CORNELL GCF"
|
||||||
.byte 8 ; 21
|
.byte 8 ; 21
|
||||||
.asciiz "ALL MSTIES EVERYWHERE"
|
.asciiz "ALL MSTIES EVERYWHERE"
|
||||||
|
;.asciiz "AAAAAAAAAAAAAAAAAAAAA"
|
||||||
.byte 17 ; 3
|
.byte 17 ; 3
|
||||||
.asciiz "..."
|
.asciiz "..."
|
||||||
|
|
||||||
|
@ -127,6 +127,8 @@ mb_no_write_right:
|
|||||||
;=====================================
|
;=====================================
|
||||||
; Copy registers to old
|
; Copy registers to old
|
||||||
;=====================================
|
;=====================================
|
||||||
|
; 11 coming in
|
||||||
|
|
||||||
ldx #10 ; 2
|
ldx #10 ; 2
|
||||||
mb_reg_copy:
|
mb_reg_copy:
|
||||||
lda REGISTER_DUMP,X ; load register value ; 4
|
lda REGISTER_DUMP,X ; load register value ; 4
|
||||||
@ -231,10 +233,14 @@ mb_load_values:
|
|||||||
;=========================================
|
;=========================================
|
||||||
; if NOISE is $ff then we are done
|
; if NOISE is $ff then we are done
|
||||||
|
|
||||||
lda NOISE ; 3
|
lda NOISE ; 3
|
||||||
bpl mb_not_done ; 3/2nt
|
bpl mb_not_done ; 3/2nt
|
||||||
|
|
||||||
jmp quiet_exit ; 3
|
; lda #1
|
||||||
|
sta DONE_PLAYING
|
||||||
|
jsr clear_ay_both
|
||||||
|
|
||||||
|
jmp done_interrupt ; 3
|
||||||
;===========
|
;===========
|
||||||
; typ 6
|
; typ 6
|
||||||
mb_not_done:
|
mb_not_done:
|
||||||
@ -246,7 +252,7 @@ mb_not_done:
|
|||||||
increment_offset:
|
increment_offset:
|
||||||
|
|
||||||
inc MB_CHUNK_OFFSET ; increment offset ; 5
|
inc MB_CHUNK_OFFSET ; increment offset ; 5
|
||||||
bne increment_done ; if not zero, done ; 3/2nt
|
bne increment_done ; if not zero, done ; 3/2nt
|
||||||
|
|
||||||
inc WHICH_CHUNK
|
inc WHICH_CHUNK
|
||||||
lda WHICH_CHUNK
|
lda WHICH_CHUNK
|
||||||
@ -268,12 +274,7 @@ increment_done:
|
|||||||
;=================================
|
;=================================
|
||||||
|
|
||||||
done_interrupt:
|
done_interrupt:
|
||||||
jmp exit_interrupt
|
|
||||||
|
|
||||||
quiet_exit:
|
|
||||||
lda #1
|
|
||||||
sta DONE_PLAYING
|
|
||||||
jsr clear_ay_both
|
|
||||||
|
|
||||||
exit_interrupt:
|
exit_interrupt:
|
||||||
|
|
||||||
|
@ -1214,7 +1214,7 @@ fixed_sin_scale:
|
|||||||
.byte $ff,$f4
|
.byte $ff,$f4
|
||||||
|
|
||||||
; we can guarantee 4 cycle indexed reads if we page-aligned this
|
; we can guarantee 4 cycle indexed reads if we page-aligned this
|
||||||
;.align 256
|
.align 256
|
||||||
horizontal_lookup:
|
horizontal_lookup:
|
||||||
.byte $0C,$0B,$0A,$09,$09,$08,$08,$07,$07,$06,$06,$06,$05,$05,$05,$05
|
.byte $0C,$0B,$0A,$09,$09,$08,$08,$07,$07,$06,$06,$06,$05,$05,$05,$05
|
||||||
.byte $04,$04,$04,$04,$04,$04,$04,$03,$03,$03,$03,$03,$03,$03,$03,$03
|
.byte $04,$04,$04,$04,$04,$04,$04,$03,$03,$03,$03,$03,$03,$03,$03,$03
|
||||||
|
@ -60,11 +60,6 @@ start:
|
|||||||
lda #>(data)
|
lda #>(data)
|
||||||
sta LZ4_SRC+1
|
sta LZ4_SRC+1
|
||||||
|
|
||||||
; lda #<(data_end-data+LZ4_DATA_BEGIN)
|
|
||||||
; sta LZ4_END
|
|
||||||
; lda #>(data_end-data+LZ4_DATA_BEGIN)
|
|
||||||
; sta LZ4_END+1
|
|
||||||
|
|
||||||
lda #<(data_end)
|
lda #<(data_end)
|
||||||
sta LZ4_END
|
sta LZ4_END
|
||||||
lda #>(data_end)
|
lda #>(data_end)
|
||||||
@ -74,12 +69,14 @@ lz4_decode:
|
|||||||
|
|
||||||
lda #>UNPACK_BUFFER ; original unpacked data offset
|
lda #>UNPACK_BUFFER ; original unpacked data offset
|
||||||
sta LZ4_DST+1
|
sta LZ4_DST+1
|
||||||
lda #<UNPACK_BUFFER
|
; lda #<UNPACK_BUFFER
|
||||||
sta LZ4_DST
|
; sta LZ4_DST
|
||||||
|
|
||||||
unpmain:
|
unpmain:
|
||||||
ldy #0 ; used to index, always zero
|
ldy #0 ; used to index, always zero
|
||||||
|
|
||||||
|
sty LZ4_DST ; we know this will be zero ($4000)
|
||||||
|
|
||||||
parsetoken:
|
parsetoken:
|
||||||
jsr getsrc ; get next token
|
jsr getsrc ; get next token
|
||||||
pha ; save for later (need bottom 4 bits)
|
pha ; save for later (need bottom 4 bits)
|
||||||
@ -158,10 +155,6 @@ done:
|
|||||||
jmp $4000
|
jmp $4000
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
rts
|
|
||||||
|
|
||||||
;=========
|
;=========
|
||||||
; getsrc
|
; getsrc
|
||||||
;=========
|
;=========
|
||||||
@ -170,7 +163,7 @@ getsrc:
|
|||||||
lda (LZ4_SRC), Y ; get a byte from src
|
lda (LZ4_SRC), Y ; get a byte from src
|
||||||
inc LZ4_SRC ; increment pointer
|
inc LZ4_SRC ; increment pointer
|
||||||
bne done_getsrc ; update 16-bit pointer
|
bne done_getsrc ; update 16-bit pointer
|
||||||
inc LZ4_SRC+1 ; on 8-bit overflow
|
inc LZ4_SRC+1 ; on 8-bit overflow
|
||||||
done_getsrc:
|
done_getsrc:
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@ start:
|
|||||||
;================================
|
;================================
|
||||||
; Need to have lines at
|
; Need to have lines at
|
||||||
; $4000 AA,AD,D5,AC,95
|
; $4000 AA,AD,D5,AC,95
|
||||||
; $4400 A8,D5,95,35,85
|
; $4400 A8,55,95,35,85
|
||||||
; $4800 A0,55,26,55,81
|
; $4800 A0,55,26,55,81
|
||||||
; $4C00 00,00,00,00,00
|
; $4C00 00,00,00,00,00
|
||||||
|
|
||||||
@ -326,7 +326,8 @@ title_routine:
|
|||||||
.include "interrupt_handler.s"
|
.include "interrupt_handler.s"
|
||||||
.byte 0,0,0,0,0,0,0,0
|
.byte 0,0,0,0,0,0,0,0
|
||||||
.byte 0,0,0,0,0,0,0,0
|
.byte 0,0,0,0,0,0,0,0
|
||||||
.byte 0,0,0,0,0,0,0
|
.byte 0,0,0,0,0,0,0,0
|
||||||
|
.byte 0,0,0,0
|
||||||
.byte $A0,$55,$26,$55,$81 ; at $4800
|
.byte $A0,$55,$26,$55,$81 ; at $4800
|
||||||
|
|
||||||
.include "../asm_routines/pageflip.s"
|
.include "../asm_routines/pageflip.s"
|
||||||
@ -348,9 +349,9 @@ title_routine:
|
|||||||
.include "../asm_routines/gr_hlin_double.s"
|
.include "../asm_routines/gr_hlin_double.s"
|
||||||
|
|
||||||
.include "../asm_routines/gr_fade.s"
|
.include "../asm_routines/gr_fade.s"
|
||||||
|
.include "../asm_routines/gr_plot.s"
|
||||||
.include "../asm_routines/gr_copy.s"
|
.include "../asm_routines/gr_copy.s"
|
||||||
.include "../asm_routines/gr_scroll.s"
|
.include "../asm_routines/gr_scroll.s"
|
||||||
.include "../asm_routines/gr_plot.s"
|
|
||||||
|
|
||||||
|
|
||||||
.include "mode7.s"
|
.include "mode7.s"
|
||||||
|
Loading…
Reference in New Issue
Block a user