M .hgsubstate +2 -2
@@ 1,2 1,2 @@
-38ed731949b45689dc994a6677103fb6c098112a lib/gunzip
-526166dc8632e38639453ef4902a2db0393058ea lib/neonlib
+28f2e980e128d9dc89a0641bc13dbd63aa5f935e lib/gunzip
+f007b87ffb98263a47bf488fbafbaaa68239da8c lib/neonlib
M openmsx.tcl +7 -0
@@ 9,6 9,13 @@ debug set_watchpoint read_io 0x2E
#debug set_watchpoint write_mem 0x0000 {([debug read ioports 0xA8] & 0x0C) == 0x04}
#debug set_watchpoint read_mem 0x0000 {([debug read ioports 0xA8] & 0x0C) == 0x04}
+debug set_bp -once 0xFEDA {} { # H.STKE
+ lassign [get_selected_slot 3] ram_ps ram_ss
+ variable pc_in_ram_slot "\[pc_in_slot $ram_ps $ram_ss 3\]"
+
+ debug set_bp [symbol System_ThrowExceptionWithMessage] $pc_in_ram_slot
+}
+
diskmanipulator create /tmp/vgmplay.dsk 32M
virtual_drive /tmp/vgmplay.dsk
diskmanipulator format virtual_drive
M src/Application.asm +21 -1
@@ 27,6 27,11 @@ Application: MACRO
_size:
ENDM
+FileReader_class: Class FileReader, FileReader_template, Heap_main
+FileReader_template: FileReader
+GzipArchive_class: Class GzipArchive, GzipArchive_template, Heap_main
+GzipArchive_template: GzipArchive
+
;
Application_Main:
ld ix,Mapper_instance
@@ 283,14 288,29 @@ Application_InflateFile:
ld d,ixh
ex (sp),ix
push ix
+ push de
+ push ix
+ ld ix,Heap_main
+ ld bc,Decoders._size
+ call Heap_Allocate
+ ld c,e
+ ld b,d
+ pop ix
+ pop de
+ push bc
ld hl,GzipArchive_Extract
call System_TryCall
+ pop de
+ push ix
+ ld ix,Heap_main
+ ld bc,Decoders._size
+ call Heap_Free
+ pop ix
pop ix
ex (sp),ix
call Mapped32KWriter_Destruct
call Mapped32KWriter_class.Delete
pop ix
- call GzipArchive_Destruct
call GzipArchive_class.Delete
pop ix
call FileReader_Destruct
M src/COM.asm +3 -2
@@ 51,11 51,12 @@ RAM: equ RAM_PAGE1
; gunzip
INCLUDE "GzipArchive.asm"
+ INCLUDE "CRC32Checker.asm"
INCLUDE "deflate/Inflate.asm"
+ INCLUDE "deflate/Decoder.asm"
INCLUDE "deflate/Alphabet.asm"
INCLUDE "deflate/Branch.asm"
- INCLUDE "deflate/FixedAlphabets.asm"
- INCLUDE "deflate/DynamicAlphabets.asm"
+ INCLUDE "deflate/HuffmanCodes.asm"
INCLUDE "Reader.asm"
INCLUDE "Writer.asm"
INCLUDE "FileReader.asm"