|
|
| version 1.1, 2003/10/16 17:58:37 | version 1.3, 2003/12/12 01:04:40 |
|---|---|
| Line 1 | Line 1 |
| #include "compiler.h" | #include "compiler.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" |
| Line 46 const BYTE *p; | Line 46 const BYTE *p; |
| BYTE fontx68k_read(const char *filename, BYTE loading) { | BYTE fontx68k_read(const char *filename, BYTE loading) { |
| FILEH fh; | FILEH fh; |
| BYTE *work; | BYTE *work; |
| // ファイルをオープン | // ファイルをオープン |
| fh = file_open_rb(filename); | fh = file_open_rb(filename); |
| Line 69 BYTE fontx68k_read(const char *filename, | Line 69 BYTE fontx68k_read(const char *filename, |
| // 8dot ANKを読む必要があるか | // 8dot ANKを読む必要があるか |
| if (loading & FONT_ANK8) { | if (loading & FONT_ANK8) { |
| loading &= ~FONT_ANK8; | loading &= ~FONT_ANK8; |
| CopyMemory(font + 0x82100, work + 0x3a100, 0x60*8); | CopyMemory(fontrom + 0x82100, work + 0x3a100, 0x60*8); |
| CopyMemory(font + 0x82500, work + 0x3a500, 0x40*8); | CopyMemory(fontrom + 0x82500, work + 0x3a500, 0x40*8); |
| } | } |
| // 16dot ASCIIを読む必要があるか | // 16dot ASCIIを読む必要があるか |
| if (loading & FONT_ANK16a) { | if (loading & FONT_ANK16a) { |
| loading &= ~FONT_ANK16a; | loading &= ~FONT_ANK16a; |
| CopyMemory(font + 0x80200, work + 0x3aa00, 0x60*16); | CopyMemory(fontrom + 0x80200, work + 0x3aa00, 0x60*16); |
| fontdata_patch16a(); | fontdata_patch16a(); |
| } | } |
| // 16dot ANK(0x80〜)を読む必要があるか | // 16dot ANK(0x80〜)を読む必要があるか |
| if (loading & FONT_ANK16b) { | if (loading & FONT_ANK16b) { |
| loading &= ~FONT_ANK16b; | loading &= ~FONT_ANK16b; |
| CopyMemory(font + 0x80a00, work + 0x3b200, 0x40*16); | CopyMemory(fontrom + 0x80a00, work + 0x3b200, 0x40*16); |
| fontdata_patch16b(); | fontdata_patch16b(); |
| } | } |
| // 第一水準漢字を読み込む? | // 第一水準漢字を読み込む? |
| if (loading & FONT_KNJ1) { | if (loading & FONT_KNJ1) { |
| loading &= ~FONT_KNJ1; | loading &= ~FONT_KNJ1; |
| x68kknjcpy(font, work, 0x01, 0x30); | x68kknjcpy(fontrom, work, 0x01, 0x30); |
| fontdata_patchjis(); | fontdata_patchjis(); |
| } | } |
| // 第二水準を読む必要はある? | // 第二水準を読む必要はある? |
| if (loading & FONT_KNJ2) { | if (loading & FONT_KNJ2) { |
| loading &= ~FONT_KNJ2; | loading &= ~FONT_KNJ2; |
| x68kknjcpy(font, work, 0x30, 0x60); | x68kknjcpy(fontrom, work, 0x30, 0x60); |
| } | } |
| fr68_err3: | fr68_err3: |