Application: Update to latest gunzip and neonlib.
4 files changed, 33 insertions(+), 5 deletions(-)

M .hgsubstate
M openmsx.tcl
M src/Application.asm
M src/COM.asm
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"