# HG changeset patch # User Matti Hamalainen # Date 1560276889 -10800 # Node ID a5c4eb5c730964e1194d5b349bf684f17c11fc9a # Parent de88333acc440196279bea2f55c6318295b8c9dd Add read support for unknown PETSCII PRG export format (could be earlier version from Marq's editor or such.) diff -r de88333acc44 -r a5c4eb5c7309 tools/lib64fmts.c --- a/tools/lib64fmts.c Tue Jun 11 21:06:35 2019 +0300 +++ b/tools/lib64fmts.c Tue Jun 11 21:14:49 2019 +0300 @@ -185,6 +185,20 @@ } +static int fmtSetSPETSCIIData(const DMC64EncDecOp *op, DMC64Image *img, + const DMGrowBuf *buf, const DMC64ImageCommonFormat *fmt) +{ + (void) op; + (void) buf; + (void) fmt; + + img->extraInfo[D64_EI_CHAR_MODE] = D64_FMT_HIRES; + img->extraInfo[D64_EI_CHAR_CUSTOM] = 0; + + return DMERR_OK; +} + + static int fmtProbeKoalaPainter(const DMGrowBuf *buf, const DMC64ImageFormat *fmt) { int score = DM_PROBE_SCORE_FALSE; @@ -2397,6 +2411,32 @@ }, { + "upet", "Unknown PETSCII (unpacked)", 0x0801, 2499, DM_FMT_RD, + NULL, + NULL, NULL, + { + D64_FMT_HIRES | D64_FMT_CHAR, + D64_SCR_WIDTH , D64_SCR_HEIGHT, + D64_SCR_CH_WIDTH, D64_SCR_CH_HEIGHT, + 1, 1, + NULL, NULL, + NULL, + { + { DO_COPY , DS_SCREEN_RAM , 0x01ab, 0, 0, 0, NULL, NULL }, + { DO_COPY , DS_COLOR_RAM , 0x01ab + 1000, 0, 0, 0, NULL, NULL }, + + // For offset values see petscii/m_c64.pde :: save_prg() + { DO_SET_MEM_LO , DS_D020 , 0x01a7, 0, 0, 0, NULL, NULL }, + { DO_SET_MEM_LO , DS_BGCOL , 0x01a8, 0, 0, 0, NULL, NULL }, + { DO_FUNC , 0 , 0 , 0, 0, 0, fmtSetSPETSCIIData, NULL }, + + { DO_LAST , 0 , 0 , 0, 0, 0, NULL, NULL }, + } + }, + NULL + }, + + { "pkhu", "petscii.krissz.hu editor (unpacked)", 0x0801, 0, DM_FMT_RD, fmtProbePetsciiKrisszHu, NULL, NULL,