|
|
| version 1.2, 2003/11/15 07:10:02 | version 1.6, 2005/02/09 20:11:34 |
|---|---|
| Line 1 | Line 1 |
| #include "compiler.h" | #include "compiler.h" |
| #include "parts.h" | #include "parts.h" |
| #include "dosio.h" | #include "dosio.h" |
| #include "memory.h" | #include "cpucore.h" |
| #include "font.h" | #include "font.h" |
| #include "fontdata.h" | #include "fontdata.h" |
| static void x1knjcpy(BYTE *dst, const BYTE *src, int from, int to) { | static void x1knjcpy(UINT8 *dst, const UINT8 *src, int from, int to) { |
| int i, j, k; | int i, j, k; |
| const BYTE *p; | const UINT8 *p; |
| BYTE *q; | UINT8 *q; |
| UINT sjis; | UINT sjis; |
| for (i=from; i<to; i++) { | for (i=from; i<to; i++) { |
| Line 40 const BYTE *p; | Line 40 const BYTE *p; |
| } | } |
| } | } |
| BYTE fontx1_read(const char *filename, BYTE loading) { | UINT8 fontx1_read(const OEMCHAR *filename, UINT8 loading) { |
| FILEH fh; | FILEH fh; |
| BYTE *work; | UINT8 *work; |
| char fname[MAX_PATH]; | OEMCHAR fname[MAX_PATH]; |
| work = (BYTE *)_MALLOC(306176, "x1font"); | work = (UINT8 *)_MALLOC(306176, "x1font"); |
| if (work == NULL) { | if (work == NULL) { |
| goto frx1_err1; | goto frx1_err1; |
| } | } |
| file_cpyname(fname, filename, sizeof(fname)); | file_cpyname(fname, filename, NELEMENTS(fname)); |
| // 8dot ANKを読み込む必要はある? | // 8dot ANKを読み込む必要はある? |
| if (loading & FONT_ANK8) { | if (loading & FONT_ANK8) { |
| file_cutname(fname); | file_cutname(fname); |
| file_catname(fname, x1ank1name, sizeof(fname)); | file_catname(fname, x1ank1name, NELEMENTS(fname)); |
| fh = file_open_rb(fname); | fh = file_open_rb(fname); |
| if (fh != FILEH_INVALID) { | if (fh != FILEH_INVALID) { |
| if (file_read(fh, work, 2048) == 2048) { | if (file_read(fh, work, 2048) == 2048) { |
| loading &= ~FONT_ANK8; | loading &= ~FONT_ANK8; |
| CopyMemory(fontrom + 0x82100, work + 0x100, 0x60*8); | fontdata_ank8store(work + 0x100, 0x20, 0x60); |
| CopyMemory(fontrom + 0x82500, work + 0x500, 0x40*8); | fontdata_ank8store(work + 0x500, 0xa0, 0x40); |
| } | } |
| file_close(fh); | file_close(fh); |
| } | } |
| Line 70 BYTE fontx1_read(const char *filename, B | Line 70 BYTE fontx1_read(const char *filename, B |
| // 16dot ANKを読み込む必要はあるか? | // 16dot ANKを読み込む必要はあるか? |
| if (loading & FONTLOAD_ANK) { | if (loading & FONTLOAD_ANK) { |
| file_cutname(fname); | file_cutname(fname); |
| file_catname(fname, x1ank2name, sizeof(fname)); | file_catname(fname, x1ank2name, NELEMENTS(fname)); |
| fh = file_open_rb(fname); | fh = file_open_rb(fname); |
| if (fh != FILEH_INVALID) { | if (fh != FILEH_INVALID) { |
| if (file_read(fh, work, 4096) == 4096) { | if (file_read(fh, work, 4096) == 4096) { |
| Line 96 BYTE fontx1_read(const char *filename, B | Line 96 BYTE fontx1_read(const char *filename, B |
| // 漢字を読み込む必要はあるか? | // 漢字を読み込む必要はあるか? |
| if (loading & (FONT_KNJ1 | FONT_KNJ2)) { | if (loading & (FONT_KNJ1 | FONT_KNJ2)) { |
| file_cutname(fname); | file_cutname(fname); |
| file_catname(fname, x1knjname, sizeof(fname)); | file_catname(fname, x1knjname, NELEMENTS(fname)); |
| fh = file_open_rb(fname); | fh = file_open_rb(fname); |
| if (fh != FILEH_INVALID) { | if (fh != FILEH_INVALID) { |
| if (file_read(fh, work, 306176) == 306176) { | if (file_read(fh, work, 306176) == 306176) { |