// automatically generated by m4 from headers in proto subdir #ifndef __COMPRESS_ZX7_H__ #define __COMPRESS_ZX7_H__ ////////////////////////////////////////////////////////////// // ZX7 FAMILY OF DECOMPRESSORS // // Copyleft (k) Einar Saukas // ////////////////////////////////////////////////////////////// // // // Further information is available at: // // http://www.worldofspectrum.org/infoseekid.cgi?id=0027996 // // http://www.worldofspectrum.org/infoseekid.cgi?id=0028048 // // // ////////////////////////////////////////////////////////////// // crts use dzx7_standard() to decompress the data segment // ////////////////////////////////////////////////////////////// /* ZX7 Decompresses data that was previously compressed using a PC utility; it does not provide a z80 compressor. Decompression of compressed zx7 data: * dzx7_standard() The smallest version of the decompressor. * dzx7_turbo() The intermediate version of the decompressor, providing a balance between speed and size. * dzx7_mega() The fastest version of the decompressor. Decompression of rcs+zx7 data. rcs is a separate utility that re-orders screen graphics to improve compression ratio. The mangling only makes sense on the zx spectrum target as the re-ordering is a function of the storage format on that machine. The routines are kept available for all targets to allow all targets to decompress this sort of data. * dzx7_smart_rcs() The smallest version of the integrated zx7+rcs decompressor. * dzx7_agile_rcs() The fastest version of the integrated zx7+rcs decompressor. */ extern unsigned char __LIB__ *dzx7_standard(void *src,void *dst) __smallc; extern unsigned char __LIB__ *dzx7_standard_callee(void *src,void *dst) __smallc __z88dk_callee; #define dzx7_standard(a,b) dzx7_standard_callee(a,b) extern unsigned char __LIB__ *dzx7_standard_back(void *src,void *dst) __smallc; extern unsigned char __LIB__ *dzx7_standard_back_callee(void *src,void *dst) __smallc __z88dk_callee; #define dzx7_standard_back(a,b) dzx7_standard_back_callee(a,b) extern unsigned char __LIB__ *dzx7_turbo(void *src,void *dst) __smallc; extern unsigned char __LIB__ *dzx7_turbo_callee(void *src,void *dst) __smallc __z88dk_callee; #define dzx7_turbo(a,b) dzx7_turbo_callee(a,b) extern unsigned char __LIB__ *dzx7_turbo_back(void *src,void *dst) __smallc; extern unsigned char __LIB__ *dzx7_turbo_back_callee(void *src,void *dst) __smallc __z88dk_callee; #define dzx7_turbo_back(a,b) dzx7_turbo_back_callee(a,b) extern unsigned char __LIB__ *dzx7_mega(void *src,void *dst) __smallc; extern unsigned char __LIB__ *dzx7_mega_callee(void *src,void *dst) __smallc __z88dk_callee; #define dzx7_mega(a,b) dzx7_mega_callee(a,b) extern unsigned char __LIB__ *dzx7_mega_back(void *src,void *dst) __smallc; extern unsigned char __LIB__ *dzx7_mega_back_callee(void *src,void *dst) __smallc __z88dk_callee; #define dzx7_mega_back(a,b) dzx7_mega_back_callee(a,b) extern unsigned char __LIB__ *dzx7_smart_rcs(void *src,void *dst) __smallc; extern unsigned char __LIB__ *dzx7_smart_rcs_callee(void *src,void *dst) __smallc __z88dk_callee; #define dzx7_smart_rcs(a,b) dzx7_smart_rcs_callee(a,b) extern unsigned char __LIB__ *dzx7_smart_rcs_back(void *src,void *dst) __smallc; extern unsigned char __LIB__ *dzx7_smart_rcs_back_callee(void *src,void *dst) __smallc __z88dk_callee; #define dzx7_smart_rcs_back(a,b) dzx7_smart_rcs_back_callee(a,b) extern unsigned char __LIB__ *dzx7_agile_rcs(void *src,void *dst) __smallc; extern unsigned char __LIB__ *dzx7_agile_rcs_callee(void *src,void *dst) __smallc __z88dk_callee; #define dzx7_agile_rcs(a,b) dzx7_agile_rcs_callee(a,b) extern unsigned char __LIB__ *dzx7_agile_rcs_back(void *src,void *dst) __smallc; extern unsigned char __LIB__ *dzx7_agile_rcs_back_callee(void *src,void *dst) __smallc __z88dk_callee; #define dzx7_agile_rcs_back(a,b) dzx7_agile_rcs_back_callee(a,b) #ifdef __SMS extern unsigned int __LIB__ sms_dzx7_standard_vram(void *src,unsigned int dst) __smallc; extern unsigned int __LIB__ sms_dzx7_standard_vram_callee(void *src,unsigned int dst) __smallc __z88dk_callee; #define sms_dzx7_standard_vram(a,b) sms_dzx7_standard_vram_callee(a,b) extern unsigned int __LIB__ sms_dzx7_standard_vram_unsafe(void *src,unsigned int dst) __smallc; extern unsigned int __LIB__ sms_dzx7_standard_vram_unsafe_callee(void *src,unsigned int dst) __smallc __z88dk_callee; #define sms_dzx7_standard_vram_unsafe(a,b) sms_dzx7_standard_vram_unsafe_callee(a,b) #endif #endif