head 1.3; access; symbols pkgsrc-2026Q1:1.3.0.164 pkgsrc-2026Q1-base:1.3 pkgsrc-2025Q4:1.3.0.162 pkgsrc-2025Q4-base:1.3 pkgsrc-2025Q3:1.3.0.160 pkgsrc-2025Q3-base:1.3 pkgsrc-2025Q2:1.3.0.158 pkgsrc-2025Q2-base:1.3 pkgsrc-2025Q1:1.3.0.156 pkgsrc-2025Q1-base:1.3 pkgsrc-2024Q4:1.3.0.154 pkgsrc-2024Q4-base:1.3 pkgsrc-2024Q3:1.3.0.152 pkgsrc-2024Q3-base:1.3 pkgsrc-2024Q2:1.3.0.150 pkgsrc-2024Q2-base:1.3 pkgsrc-2024Q1:1.3.0.148 pkgsrc-2024Q1-base:1.3 pkgsrc-2023Q4:1.3.0.146 pkgsrc-2023Q4-base:1.3 pkgsrc-2023Q3:1.3.0.144 pkgsrc-2023Q3-base:1.3 pkgsrc-2023Q2:1.3.0.142 pkgsrc-2023Q2-base:1.3 pkgsrc-2023Q1:1.3.0.140 pkgsrc-2023Q1-base:1.3 pkgsrc-2022Q4:1.3.0.138 pkgsrc-2022Q4-base:1.3 pkgsrc-2022Q3:1.3.0.136 pkgsrc-2022Q3-base:1.3 pkgsrc-2022Q2:1.3.0.134 pkgsrc-2022Q2-base:1.3 pkgsrc-2022Q1:1.3.0.132 pkgsrc-2022Q1-base:1.3 pkgsrc-2021Q4:1.3.0.130 pkgsrc-2021Q4-base:1.3 pkgsrc-2021Q3:1.3.0.128 pkgsrc-2021Q3-base:1.3 pkgsrc-2021Q2:1.3.0.126 pkgsrc-2021Q2-base:1.3 pkgsrc-2021Q1:1.3.0.124 pkgsrc-2021Q1-base:1.3 pkgsrc-2020Q4:1.3.0.122 pkgsrc-2020Q4-base:1.3 pkgsrc-2020Q3:1.3.0.120 pkgsrc-2020Q3-base:1.3 pkgsrc-2020Q2:1.3.0.116 pkgsrc-2020Q2-base:1.3 pkgsrc-2020Q1:1.3.0.96 pkgsrc-2020Q1-base:1.3 pkgsrc-2019Q4:1.3.0.118 pkgsrc-2019Q4-base:1.3 pkgsrc-2019Q3:1.3.0.114 pkgsrc-2019Q3-base:1.3 pkgsrc-2019Q2:1.3.0.112 pkgsrc-2019Q2-base:1.3 pkgsrc-2019Q1:1.3.0.110 pkgsrc-2019Q1-base:1.3 pkgsrc-2018Q4:1.3.0.108 pkgsrc-2018Q4-base:1.3 pkgsrc-2018Q3:1.3.0.106 pkgsrc-2018Q3-base:1.3 pkgsrc-2018Q2:1.3.0.104 pkgsrc-2018Q2-base:1.3 pkgsrc-2018Q1:1.3.0.102 pkgsrc-2018Q1-base:1.3 pkgsrc-2017Q4:1.3.0.100 pkgsrc-2017Q4-base:1.3 pkgsrc-2017Q3:1.3.0.98 pkgsrc-2017Q3-base:1.3 pkgsrc-2017Q2:1.3.0.94 pkgsrc-2017Q2-base:1.3 pkgsrc-2017Q1:1.3.0.92 pkgsrc-2017Q1-base:1.3 pkgsrc-2016Q4:1.3.0.90 pkgsrc-2016Q4-base:1.3 pkgsrc-2016Q3:1.3.0.88 pkgsrc-2016Q3-base:1.3 pkgsrc-2016Q2:1.3.0.86 pkgsrc-2016Q2-base:1.3 pkgsrc-2016Q1:1.3.0.84 pkgsrc-2016Q1-base:1.3 pkgsrc-2015Q4:1.3.0.82 pkgsrc-2015Q4-base:1.3 pkgsrc-2015Q3:1.3.0.80 pkgsrc-2015Q3-base:1.3 pkgsrc-2015Q2:1.3.0.78 pkgsrc-2015Q2-base:1.3 pkgsrc-2015Q1:1.3.0.76 pkgsrc-2015Q1-base:1.3 pkgsrc-2014Q4:1.3.0.74 pkgsrc-2014Q4-base:1.3 pkgsrc-2014Q3:1.3.0.72 pkgsrc-2014Q3-base:1.3 pkgsrc-2014Q2:1.3.0.70 pkgsrc-2014Q2-base:1.3 pkgsrc-2014Q1:1.3.0.68 pkgsrc-2014Q1-base:1.3 pkgsrc-2013Q4:1.3.0.66 pkgsrc-2013Q4-base:1.3 pkgsrc-2013Q3:1.3.0.64 pkgsrc-2013Q3-base:1.3 pkgsrc-2013Q2:1.3.0.62 pkgsrc-2013Q2-base:1.3 pkgsrc-2013Q1:1.3.0.60 pkgsrc-2013Q1-base:1.3 pkgsrc-2012Q4:1.3.0.58 pkgsrc-2012Q4-base:1.3 pkgsrc-2012Q3:1.3.0.56 pkgsrc-2012Q3-base:1.3 pkgsrc-2012Q2:1.3.0.54 pkgsrc-2012Q2-base:1.3 pkgsrc-2012Q1:1.3.0.52 pkgsrc-2012Q1-base:1.3 pkgsrc-2011Q4:1.3.0.50 pkgsrc-2011Q4-base:1.3 pkgsrc-2011Q3:1.3.0.48 pkgsrc-2011Q3-base:1.3 pkgsrc-2011Q2:1.3.0.46 pkgsrc-2011Q2-base:1.3 pkgsrc-2011Q1:1.3.0.44 pkgsrc-2011Q1-base:1.3 pkgsrc-2010Q4:1.3.0.42 pkgsrc-2010Q4-base:1.3 pkgsrc-2010Q3:1.3.0.40 pkgsrc-2010Q3-base:1.3 pkgsrc-2010Q2:1.3.0.38 pkgsrc-2010Q2-base:1.3 pkgsrc-2010Q1:1.3.0.36 pkgsrc-2010Q1-base:1.3 pkgsrc-2009Q4:1.3.0.34 pkgsrc-2009Q4-base:1.3 pkgsrc-2009Q3:1.3.0.32 pkgsrc-2009Q3-base:1.3 pkgsrc-2009Q2:1.3.0.30 pkgsrc-2009Q2-base:1.3 pkgsrc-2009Q1:1.3.0.28 pkgsrc-2009Q1-base:1.3 pkgsrc-2008Q4:1.3.0.26 pkgsrc-2008Q4-base:1.3 pkgsrc-2008Q3:1.3.0.24 pkgsrc-2008Q3-base:1.3 cube-native-xorg:1.3.0.22 cube-native-xorg-base:1.3 pkgsrc-2008Q2:1.3.0.20 pkgsrc-2008Q2-base:1.3 cwrapper:1.3.0.18 pkgsrc-2008Q1:1.3.0.16 pkgsrc-2008Q1-base:1.3 pkgsrc-2007Q4:1.3.0.14 pkgsrc-2007Q4-base:1.3 pkgsrc-2007Q3:1.3.0.12 pkgsrc-2007Q3-base:1.3 pkgsrc-2007Q2:1.3.0.10 pkgsrc-2007Q2-base:1.3 pkgsrc-2007Q1:1.3.0.8 pkgsrc-2007Q1-base:1.3 pkgsrc-2006Q4:1.3.0.6 pkgsrc-2006Q4-base:1.3 pkgsrc-2006Q3:1.3.0.4 pkgsrc-2006Q3-base:1.3 pkgsrc-2006Q2:1.3.0.2 pkgsrc-2006Q2-base:1.3 pkgsrc-2006Q1:1.2.0.14 pkgsrc-2006Q1-base:1.2 pkgsrc-2005Q4:1.2.0.12 pkgsrc-2005Q4-base:1.2 pkgsrc-2005Q3:1.2.0.10 pkgsrc-2005Q3-base:1.2 pkgsrc-2005Q2:1.2.0.8 pkgsrc-2005Q2-base:1.2 pkgsrc-2005Q1:1.2.0.6 pkgsrc-2005Q1-base:1.2 pkgsrc-2004Q4:1.2.0.4 pkgsrc-2004Q4-base:1.2 pkgsrc-2004Q3:1.2.0.2 pkgsrc-2004Q3-base:1.2 pkgsrc-base:1.1.1.1 TNF:1.1.1; locks; strict; comment @# @; 1.3 date 2006.04.28.13.09.38; author joerg; state Exp; branches; next 1.2; 1.2 date 2004.08.15.12.13.53; author dillo; state Exp; branches; next 1.1; 1.1 date 2004.07.26.18.23.25; author dillo; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2004.07.26.18.23.25; author dillo; state Exp; branches; next ; desc @@ 1.3 log @Include inttypes.h to get uint32_t and uint64_t. @ text @$NetBSD$ --- src/gens/util/chd.h.orig 2006-04-28 12:32:01.000000000 +0000 +++ src/gens/util/chd.h @@@@ -0,0 +1,95 @@@@ +#ifndef HAD_CHD_H + +/* + NiH: chd.h,v 1.3 2004/06/25 23:31:08 dillo Exp + + chd.h -- accessing chd files + Copyright (C) 2004 Dieter Baron and Thomas Klausner + + This file is part of ckmame, a program to check rom sets for MAME. + The authors can be contacted at + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License, version 2, as + published by the Free Software Foundation. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + +#include +#include +#include + +#define CHD_ERR_NONE 0 /* N no error */ +#define CHD_ERR_OPEN 1 /* S cannot open file */ +#define CHD_ERR_READ 2 /* S read error */ +#define CHD_ERR_NO_CHD 3 /* N not a CHD file */ +#define CHD_ERR_VERSION 4 /* N unsupported version */ +#define CHD_ERR_INVAL 5 /* N invalid argument */ +#define CHD_ERR_SEEK 6 /* S seek error */ +#define CHD_ERR_NOTSUP 7 /* N unsupported chd feature */ +#define CHD_ERR_ZLIB 8 /* Z zlib error */ +#define CHD_ERR_CRC 9 /* N CRC mismatch */ +#define CHD_ERR_NOMEM 10 /* N out of memory */ + +#define CHD_MAP_TYPE_COMPRESSED 0x01 +#define CHD_MAP_TYPE_UNCOMPRESSED 0x02 +#define CHD_MAP_TYPE_MINI 0x03 +#define CHD_MAP_TYPE_SELF_HUNK 0x04 +#define CHD_MAP_TYPE_PARENT_HUNK 0x05 +#define CHD_MAP_TYPE_MASK 0x0f +#define CHD_MAP_FL_NOCRC 0x10 + +#define CHD_COMP_NONE 0x0 +#define CHD_COMP_ZLIB 0x1 +#define CHD_COMP_ZLIB_PLUS 0x2 + + + +struct chd_map_entry { + uint64_t offset; /* offse t within the file of the data */ + uint32_t crc; /* 32-bit CRC of the data */ + uint16_t length; /* length of the data */ + uint16_t flags; /* misc flags */ +}; + +struct chd { + FILE *f; + char *name; + int error; + + uint32_t hdr_length; /* length of header data */ + uint32_t version; /* drive format version */ + uint32_t flags; /* flags field */ + uint32_t compression; /* compression type */ + uint32_t hunk_len; /* number of bytes per hunk */ + uint32_t total_hunks; /* total # of hunks represented */ + uint64_t total_len; /* logical size of the data */ + uint64_t meta_offset; /* offset in file of first metadata */ + uint8_t md5[16]; /* MD5 checksum of raw data */ + uint8_t parent_md5[16]; /* MD5 checksum of parent file */ + uint8_t sha1[20]; /* SHA1 checksum of raw data */ + uint8_t parent_sha1[20]; /* SHA1 checksum of parent file */ + + struct chd_map_entry *map; /* hunk map */ + char *buf; /* decompression buffer */ + z_stream z; /* decompressor */ + int hno; /* hunk currently in hbuf */ + char *hbuf; /* hunk data buffer */ +}; + + + +void chd_close(struct chd *); +struct chd *chd_open(const char *, int *); +int chd_read_hunk(struct chd *, int, char *); +int chd_read_range(struct chd *, char *, int, int); + +#endif /* chd.h */ @ 1.2 log @Add support for playing back gmv movies (recording of previously played game), based on http://bisqwit.iki.fi/src/Gens212a-moviepatch-jyzero,bisqwit.gz adapted to rc3 and cleaned up by me. More information and movies can be found at http://bisqwit.iki.fi/jutut/nesvideos/FrontPage.html Bump PKGREVISION. @ text @d3 1 a3 1 --- src/gens/util/chd.h.orig 2004-08-15 11:35:14.000000000 +0200 d5 1 a5 1 @@@@ -0,0 +1,94 @@@@ d31 1 @ 1.1 log @Initial revision @ text @d3 1 a3 1 --- src/gens/util/chd.h.orig 2004-06-25 19:55:16.000000000 +0200 @ 1.1.1.1 log @import gens 2.12rc3 from pkgsrc-wip: Gens is an emulator of Sega's 16 bit consoles: Genesis (a.k.a Megadrive) and Sega CD (a.k.a Mega CD). For Sega CD, you will need BIOS ROM images. @ text @@