• R/O
  • SSH
  • HTTPS

haribote: Commit


Commit MetaInfo

Revision206 (tree)
Time2010-03-06 20:39:21
Authortatsupc

Log Message

orbspace fin

Change Summary

  • delete: haribote/trunk/orbspace/qemu/qemu.exe
  • delete: haribote/trunk/orbspace/qemu/qemu-win.bat
  • delete: haribote/trunk/orbspace/qemu/SDL.dll
  • delete: haribote/trunk/orbspace/qemu/Makefile
  • delete: haribote/trunk/orbspace/qemu/vgabios.bin
  • delete: haribote/trunk/orbspace/qemu/bios.bin
  • delete: haribote/trunk/orbspace/qemu
  • delete: haribote/trunk/orbspace/!cons.bat
  • delete: haribote/trunk/orbspace/bim2orb/make.bat
  • delete: haribote/trunk/orbspace/bim2orb/bim2orb.c
  • delete: haribote/trunk/orbspace/bim2orb/Makefile
  • delete: haribote/trunk/orbspace/bim2orb
  • delete: haribote/trunk/orbspace/orbspace.txt
  • delete: haribote/trunk/orbspace/Makefile
  • delete: haribote/trunk/orbspace/orbspace/io.h
  • delete: haribote/trunk/orbspace/orbspace/Makefile
  • delete: haribote/trunk/orbspace/orbspace/engfont.txt
  • delete: haribote/trunk/orbspace/orbspace/graphic.c
  • delete: haribote/trunk/orbspace/orbspace/orbfs.h
  • delete: haribote/trunk/orbspace/orbspace/make.bat
  • delete: haribote/trunk/orbspace/orbspace/ipl.nas
  • delete: haribote/trunk/orbspace/orbspace/fifo.c
  • delete: haribote/trunk/orbspace/orbspace/main.c
  • delete: haribote/trunk/orbspace/orbspace/memory.c
  • delete: haribote/trunk/orbspace/orbspace/main.h
  • delete: haribote/trunk/orbspace/orbspace/int.c
  • delete: haribote/trunk/orbspace/orbspace/orbfs.c
  • delete: haribote/trunk/orbspace/orbspace/asmfunc.nas
  • delete: haribote/trunk/orbspace/orbspace
  • delete: haribote/trunk/orbspace/orbspace.rul
  • delete: haribote/trunk/orbspace/make.bat
  • delete: haribote/trunk/orbspace/mkorbfs/make.bat
  • delete: haribote/trunk/orbspace/mkorbfs/mkorbfs.c
  • delete: haribote/trunk/orbspace/mkorbfs/Makefile
  • delete: haribote/trunk/orbspace/mkorbfs
  • delete: haribote/trunk/orbspace/com_mak.txt
  • delete: haribote/trunk/orbspace/search.orb
  • delete: haribote/trunk/orbspace
  • normal: haribote/trunk

Incremental Difference

--- haribote/trunk/orbspace/bim2orb/make.bat (revision 205)
+++ haribote/trunk/orbspace/bim2orb/make.bat (nonexistent)
@@ -1 +0,0 @@
1-..\..\z_tools\make.exe %1 %2 %3 %4 %5 %6 %7 %8 %9
\ No newline at end of file
--- haribote/trunk/orbspace/bim2orb/bim2orb.c (revision 205)
+++ haribote/trunk/orbspace/bim2orb/bim2orb.c (nonexistent)
@@ -1,176 +0,0 @@
1-#include <stdio.h>
2-#include <stdlib.h>
3-
4-typedef unsigned char UCHAR;
5-int getnum(const UCHAR *p);
6-int get32(const UCHAR *p);
7-void put32(UCHAR *p, int i);
8-
9-#define MAXSIZ 4 * 1024 * 1024
10-
11-int main(int argc, UCHAR **argv)
12-{
13- UCHAR *fbuf = malloc(MAXSIZ);
14- int heap_siz, mmarea, fsiz, dsize, dofs, stksiz, wrksiz, entry, bsssiz;
15- int heap_adr, i;
16- FILE *fp;
17- static UCHAR sign[3] = "Orb";
18-
19- /* パラメータの取得 */
20- if (argc < 4) {
21- puts("usage>bim2orb appname.bim appname.orb heap-size [mmarea-size]");
22- return 1;
23- }
24- heap_siz = getnum(argv[3]);
25- mmarea = 0;
26- if (argc >= 5)
27- mmarea = getnum(argv[4]);
28-
29- /* ファイル読み込み */
30- fp = fopen(argv[1], "rb");
31- if (fp == NULL) {
32-err_bim:
33- puts("bim file read error");
34- return 1;
35- }
36- fsiz = fread(fbuf, 1, MAXSIZ, fp);
37- fclose(fp);
38- if (fsiz >= MAXSIZ || fsiz < 0)
39- goto err_bim;
40-
41- /* ヘッダ確認 */
42- if (get32(&fbuf[4]) != 0x24) { /* ファイル中の.textスタートアドレス */
43-err_form:
44- puts("bim file format error");
45- return 1;
46- }
47- if (get32(&fbuf[8]) != 0x24) /* メモリロード時の.textスタートアドレス */
48- goto err_form;
49- dsize = get32(&fbuf[12]); /* .dataセクションサイズ */
50- dofs = get32(&fbuf[16]); /* ファイルのどこに.dataセクションがあるか */
51- stksiz = get32(&fbuf[20]); /* スタックサイズ */
52- entry = get32(&fbuf[24]); /* エントリポイント */
53- bsssiz = get32(&fbuf[28]); /* bssサイズ */
54-
55- /* ヘッダ生成 */
56- heap_adr = stksiz + dsize + bsssiz;
57- heap_adr = (heap_adr + 0xf) & 0xfffffff0; /* 16バイト単位に切り上げ */
58- wrksiz = heap_adr + heap_siz;
59- wrksiz = (wrksiz + 0xfff) & 0xfffff000; /* 4KB単位に切り上げ */
60- put32(&fbuf[ 0], wrksiz);
61- fbuf[ 4]= 0xe9;
62- put32(&fbuf[ 5], entry - 0x09);
63- for (i = 0; i < 3; i++)
64- fbuf[9 + i] = sign[i];
65- put32(&fbuf[12], stksiz);
66- put32(&fbuf[16], dsize);
67- put32(&fbuf[20], dofs);
68-
69- /* ファイル書き込み */
70- fp = fopen(argv[2], "wb");
71- if (fp == NULL) {
72-err_hrb:
73- puts("orb file write error");
74- return 1;
75- }
76- i = fwrite(fbuf, 1, fsiz, fp);
77- fclose(fp);
78- if (fsiz != i)
79- goto err_hrb;
80-
81- return 0;
82-}
83-
84-int getnum(const UCHAR *p)
85-{
86- int i = 0, base = 10, sign = 1;
87- UCHAR c;
88- if (*p == '-') {
89- p++;
90- sign = -1;
91- }
92- if (*p == '0') {
93- p++;
94- base = 8;
95- c = *p;
96- if (c >= 'a')
97- c -= 'a' - 'A';
98- if (c == 'X') {
99- p++;
100- base = 16;
101- }
102- if (c == 'O') {
103- p++;
104- base = 8;
105- }
106- if (c == 'B') {
107- p++;
108- base = 2;
109- }
110- }
111- for (;;) {
112- c = *p++;
113- if ('0' <= c && c <= '9')
114- c -= '0';
115- else if ('A' <= c && c <= 'F')
116- c -= 'A' - 10;
117- else if ('a' <= c && c <= 'f')
118- c -= 'a' - 10;
119- else
120- break;
121- if (c >= base)
122- break;
123- i = i * base + c;
124- }
125- if (c >= 'a')
126- c -= 'a' - 'A';
127- if (c == 'K')
128- i <<= 10;
129- if (c == 'M')
130- i <<= 20;
131- if (c == 'G')
132- i <<= 30;
133- return i * sign;
134-}
135-
136-int get32(const UCHAR *p)
137-{
138- return p[0] | p[1] << 8 | p[2] << 16 | p[3] << 24;
139-}
140-
141-void put32(UCHAR *p, int i)
142-{
143- p[0] = i & 0xff;
144- p[1] = (i >> 8) & 0xff;
145- p[2] = (i >> 16) & 0xff;
146- p[3] = (i >> 24) & 0xff;
147- return;
148-}
149-
150-/*
151-
152-memo
153-
154-[ .bimファイルの構造 ]
155-
156-+ 0 : .textサイズ
157-+ 4 : ファイル中の.textスタートアドレス(0x24)
158-+ 8 : メモリロード時の.textスタートアドレス(0x24)
159-+12 : .dataサイズ
160-+16 : ファイル中の.dataスタートアドレス
161-+20 : メモリロード時の.dataスタートアドレス
162-+24 : エントリポイント
163-+28 : bss領域のバイト数
164-+36 : コード
165-
166-[ .orbファイルの構造 ]
167-
168-+0x00 stack+.data+.heapのサイズ(4KBの倍数)
169-+0x04 0xe9
170-+0x05 エントリアドレス-0x09
171-+0x09 シグネチャ "ORB"
172-+0x0c ESPの初期値
173-+0x10 .dataのサイズ
174-+0x14 .dataのファイル内でのアドレス
175-
176-*/
--- haribote/trunk/orbspace/bim2orb/Makefile (revision 205)
+++ haribote/trunk/orbspace/bim2orb/Makefile (nonexistent)
@@ -1,10 +0,0 @@
1-TARGET = bim2orb
2-MODE = exe
3-OBJS = $(TARGET).obj
4-STACKSIZE = 0x1000000 # 16MB (default)
5-
6-INCPATH = ../../z_tools/win32/
7-CC1OPT = -Dmain=main0
8-include ../com_mak.txt
9-
10-# tolset08対応Makefile
--- haribote/trunk/orbspace/orbspace.txt (revision 205)
+++ haribote/trunk/orbspace/orbspace.txt (nonexistent)
@@ -1,116 +0,0 @@
1-orbspace - カラフルなボールで整理整頓
2-
3-
4-
5- -カラフルなボールで”整理”する
6- -サムネイル表示のファイルを半透明のカラフルなボールで見通しよく整理できる!
7- -orbScriptでメタデータを用いた分類や検索ができる!
8- -カラフルなボールが”GUIアプリケーション”に
9- -orbScriptで数学学習での視覚化などに便利なGUIアプリケーションもできる!
10- -カラフルなボールで”楽しむ”
11- -カラフルなボールの周りを動くスクリーンセーバを楽しむ!
12-
13-
14-
15-[ orbFS ]
16-
17-** 全体の構造
18-0x00000000-0x000001ff BPB(IPL、パーティションテーブル、0xaa55)
19-0x00000200-0x00001dff orbSAT
20-0x00001e00- データ領域
21-
22-** orbSAT:orb Sector Allocation Table
23- -連続していないセクタを管理するときに使用
24- -例:0x00000800 0x00001000 0x0000fff1 0x00000000
25- =>第0x800番セクタの次が第0x1000番セクタ、第0xfff1番セクタが最後
26- (つまり、データ領域のうち32MBが使用されていることが分かる)
27- -このテーブルはデータ領域を対象とする(0x00001e00-0x00001fffが第1番セクタ)
28-
29-** データ領域の構造
30-0x0000-0x0003 サイズ
31-0x0004-0x000f 名前
32-0x0010-0x01ff メタデータ(テキストデータの羅列、次の" + "は引用文のマーク)
33- + Type=File
34- + CreateDate=2010/1/1
35- + CreateTime=12:29:06
36- + UpdateDate=2010/1/1
37- + UpdateDate=12:29:06
38- + AccessDate=2010/3/3
39- + AccessTime=19:41:47
40- + Author=tatsu
41- + Keyword=orbspace
42-0x0200- 512バイトにアラインされたデータ部分
43- (整理ボールの場合はファイルアドレスの羅列)
44-
45-** mkorbfs:ディスクイメージツール
46->mkorbfs orbspace.img 131072 orbspace\ipl.bin \
47- +File orbspace\orbspace.sys \
48- +Ball orbspace Color=0xff0000 \
49- +Ball orbfs Color=0x00ff00 \
50- +File orbspace\main.c [orbspace] Author=tatsu Keyword=orbspace \
51- +File orbspace\orbfs.c [orbspace][orbfs] Author=tatsu Keyword=orbspace \
52- +Func search.orb Color=0x0000ff
53->
54-
55-
56-
57-[ orbScript ]
58-
59-** 検索ボール(search.orb)の作成例
60- + keyword = input(1) # 展開した後再入力可能、入力データをkeywordへ格納
61- + collect(keyword, 1) # keywordに一致するものをボールの中へ集める、
62- + ボールから離れても中身を維持し続ける
63-
64-
65-
66-[ メモリマップ ]
67-
68-0x00000000-0x00007bff あき(31KB)
69-0x00007c00-0x00096bff USBメモリの先頭部分(572KB、必要ないデータは0クリアされる)
70-0x00096c00-0x000fffff あき(421KB)
71-0x00100000-0x001007ff IDT(2KB)
72-0x00100800-0x001107ff GDT(64KB)
73-0x00110800-0x001fffff スタックなど(958KB)
74-0x00200000- あき
75-
76-
77-
78-[ USBメモリ ]
79-
80-** IPLでのブート処理
81- 1.拡張int13hを用いてUSBメモリの先頭から571.5KB読み込む
82- 2.BIOSを用いて画面モード(1024x768x32bit)の変更、キーボードランプの取得
83- 3.割り込みの禁止とA20GATEの有効化
84- 4.GDT/PICの設定
85- 5.32bitプロテクトモード(ページング禁止)へ移行
86- 6.OS(ほぼC記述)へ処理を移す
87-
88-** OSでの初期化処理
89- 1.メモリ/FIFOの初期化
90- 2.割り込み関係の初期化
91- 1.IDTの設定
92- 2.各種割り込みを要求するハードウェアの初期化(キーボード、タイマ、USBなど)
93- 3.orbFSの初期化
94- 4.画面の初期化(球の描写、サムネイルの作成など)
95- 5.割り込みの許可
96-
97-** OSの設計メモ
98- -システムタスク
99- -入力を受け付け、様々な反応を起こす
100- -ファイルのプレビューや編集・ballの管理
101- -スクリプト制御タスクの管理
102- -スクリーンセーバの生成、復帰
103- -idleタスク
104- -HLT無限ループ
105- -スクリプト制御タスク
106- -システムタスクにより動的に生成される
107- -スクリプトの実行と指定された球に対する操作を行う
108-
109-
110-
111-[ Q&A ]
112-
113-Q1:画面が乱れて表示されてしまいます。なせですか。
114-A1:orbspaceでは1024x768x32bitの画面モードを使用しています。しかし、ビデオカード
115-によっては24bitモードになってしまうようです。orbspaceでは暗黙的に32bitと仮定して
116-動作しているので、乱れてしまいます。
--- haribote/trunk/orbspace/Makefile (revision 205)
+++ haribote/trunk/orbspace/Makefile (nonexistent)
@@ -1,27 +0,0 @@
1-MKORBFS = mkorbfs/mkorbfs.exe
2-
3-default:
4- make img
5- make -C qemu
6-
7-orbspace.img: $(MKORBFS) orbspace\ipl.bin orbspace\orbspace.sys Makefile
8- $(MKORBFS) orbspace.img 131072 orbspace\ipl.bin \
9- +File orbspace\orbspace.sys Author=tatsu Keyword=orbspace \
10- +Ball orbspace Color=0x00ff00 \
11- +Ball orbfs Color=0xff0000 \
12- +File orbspace\ipl.nas [orbspace] Author=tatsu Keyword=orbspace \
13- +File mkorbfs\mkorbfs.c [orbspace][orbfs]Author=tatsu Keyword=orbspace \
14- +Func search.orb Color=0x0000ff
15-
16-config:
17- make -C bim2orb
18- make -C mkorbfs
19-
20-img:
21- make -C orbspace
22- make orbspace.img
23-
24-clean:
25- make -C bim2orb clean
26- make -C mkorbfs clean
27- make -C orbspace clean
--- haribote/trunk/orbspace/orbspace/main.h (revision 205)
+++ haribote/trunk/orbspace/orbspace/main.h (nonexistent)
@@ -1,87 +0,0 @@
1-/* ipl.nas */
2-struct bootinfo {
3- unsigned char leds, reserve[3];
4- unsigned int *vram;
5-};
6-#define BOOTINFO_ADDR 0x0ff0
7-
8-/* main.c */
9-#define SYSFIFO_ADDR 0x0fd0
10-#define MEMORY_ADDR 0x001f8000
11-
12-/* asmfunc.nas */
13-void hlt(void);
14-void cli(void);
15-void sti(void);
16-void stihlt(void);
17-unsigned int inb(unsigned int port);
18-void outb(unsigned int port, unsigned int data);
19-void lidt(unsigned int limit, unsigned int addr);
20-unsigned int cr0_load(void);
21-void cr0_store(unsigned int cr0);
22-unsigned int eflags_load(void);
23-void eflags_store(unsigned int eflags);
24-void inthandler20(void);
25-void inthandler21(void);
26-void inthandler27(void);
27-unsigned int memory_test(unsigned int start, unsigned int end);
28-
29-/* orbfs.c */
30-#include "orbfs.h"
31-
32-/* int.c */
33-struct gatedesc {
34- unsigned short offset_low, sel;
35- unsigned char dw_count, ar;
36- unsigned short offset_high;
37-};
38-struct timer {
39- struct timer *next;
40- unsigned int time, flag;
41- struct fifo *fifo;
42- int data;
43-};
44-struct timers {
45- unsigned int count, next;
46- struct timer *timer, timers[128];
47-};
48-#define PIC0_IMR 0x0021
49-#define PIC1_IMR 0x00a1
50-void idt_init(void);
51-void pit_init(void);
52-struct timer *timer_alloc(void);
53-void timer_free(struct timer *timer);
54-void timer_set(struct timer *timer, struct fifo *fifo, int data,
55- unsigned int time);
56-
57-/* fifo.c */
58-struct fifo {
59- int *buf;
60- unsigned int p, q, size, free;
61-};
62-void fifo_init(struct fifo *fifo, int *buf, unsigned int size);
63-int fifo_push(struct fifo *fifo, int data);
64-int fifo_pop(struct fifo *fifo);
65-int fifo_stat(struct fifo *fifo);
66-
67-/* graphic.c */
68-void graphic_font(unsigned int *buf, unsigned int xsize, unsigned int x,
69- unsigned int y, unsigned int col, unsigned char c);
70-void graphic_box(unsigned int *buf, unsigned int xsize, unsigned int x0,
71- unsigned int y0, unsigned int x1, unsigned int y1,
72- unsigned int c);
73-void graphic_puts(unsigned int *buf, unsigned int xsize, unsigned int x,
74- unsigned int y, unsigned int c, unsigned char *s);
75-
76-/* memory.c */
77-struct freeinfo {
78- unsigned int addr, size;
79-};
80-struct memory {
81- unsigned int total, frees;
82- struct freeinfo free[4095];
83-};
84-void memory_init(struct memory *mem, unsigned int start, unsigned int end);
85-unsigned int memory_stat(struct memory *mem);
86-unsigned int memory_alloc(struct memory *mem, unsigned int size);
87-int memory_free(struct memory *mem, unsigned int addr, unsigned int size);
--- haribote/trunk/orbspace/orbspace/int.c (revision 205)
+++ haribote/trunk/orbspace/orbspace/int.c (nonexistent)
@@ -1,140 +0,0 @@
1-#include "main.h"
2-
3-void gatedesc_set(struct gatedesc *gd, unsigned int offset, unsigned int sel,
4- unsigned int ar)
5-{
6- gd->offset_low = offset & 0xffff;
7- gd->sel = sel;
8- gd->dw_count = (ar >> 8) & 0xff;
9- gd->ar = ar & 0xff;
10- gd->offset_high = (offset >> 16) & 0xffff;
11- return;
12-}
13-
14-#define IDT_ADDR 0x00100000
15-#define IDT_LIMIT 0x000007ff
16-#define AR_INTGATE32 0x008e
17-
18-void idt_init(void)
19-{
20- struct gatedesc *idt = (struct gatedesc *) IDT_ADDR;
21- int i;
22-
23- for (i = 0; i <= IDT_LIMIT / 8; i++) {
24- gatedesc_set(idt + i, 0, 0, 0);
25- }
26- gatedesc_set(idt + 0x20, (unsigned int) inthandler20, 2 * 8, AR_INTGATE32);
27- gatedesc_set(idt + 0x21, (unsigned int) inthandler21, 2 * 8, AR_INTGATE32);
28- gatedesc_set(idt + 0x27, (unsigned int) inthandler27, 2 * 8, AR_INTGATE32);
29- lidt(IDT_LIMIT, IDT_ADDR);
30- return;
31-}
32-
33-#define PORT_KEYDATA 0x0060
34-
35-void keyboard_handler(int *esp)
36-{
37- struct fifo *sysfifo = (struct fifo *) SYSFIFO_ADDR;
38- unsigned char data = inb(PORT_KEYDATA);
39-
40- fifo_push(sysfifo, data + 256);
41- return;
42-}
43-
44-struct timers *timers;
45-
46-#define PIT_CTRL 0x0043
47-#define PIT_CNT0 0x0040
48-
49-void pit_init(void)
50-{
51- struct memory *memory = (struct memory *) MEMORY_ADDR;
52- struct timer *t;
53- int i;
54-
55- outb(PIT_CTRL, 0x34);
56- outb(PIT_CNT0, 0x9c);
57- outb(PIT_CNT0, 0x2e);
58-
59- timers = (struct timers *) memory_alloc(memory, sizeof(struct timers));
60- timers->count = 0;
61- for (i = 0; i < 128; i++) {
62- timers->timers[i].flag = 0;
63- }
64- t = timer_alloc();
65- t->time = 0xffffffff;
66- t->flag = 2;
67- t->next = 0;
68- timers->timer = t;
69- timers->next = 0xffffffff;
70- return;
71-}
72-
73-struct timer *timer_alloc(void)
74-{
75- int i;
76-
77- for (i = 0; i < 128; i++) {
78- if (!timers->timers[i].flag) {
79- timers->timers[i].flag = 1;
80- return &timers->timers[i];
81- }
82- }
83- return 0;
84-}
85-
86-void timer_free(struct timer *timer)
87-{
88- timer->flag = 0;
89- return;
90-}
91-
92-void timer_set(struct timer *timer, struct fifo *fifo, int data,
93- unsigned int time)
94-{
95- struct timer *t = timers->timer, *s;
96- int e = eflags_load();
97-
98- timer->fifo = fifo;
99- timer->data = data;
100- timer->time = timers->count + time;
101- timer->flag = 2;
102- cli();
103- if (timer->time <= t->time) {
104- timers->timer = timer;
105- timer->next = t;
106- timers->next = timer->time;
107- eflags_store(e);
108- return;
109- }
110- for (;;) {
111- s = t;
112- t = t->next;
113- if (timer->time <= t->time) {
114- s->next = timer;
115- timer->next = t;
116- eflags_store(e);
117- return;
118- }
119- }
120-}
121-
122-void timer_handler(int *esp)
123-{
124- struct timer *t = timers->timer;
125-
126- if (timers->next > ++timers->count) {
127- return;
128- }
129- for (;;) {
130- if (t->time > timers->count) {
131- break;
132- }
133- t->flag = 1;
134- fifo_push(t->fifo, t->data);
135- t = t->next;
136- }
137- timers->timer = t;
138- timers->next = t->time;
139- return;
140-}
--- haribote/trunk/orbspace/orbspace/orbfs.c (revision 205)
+++ haribote/trunk/orbspace/orbspace/orbfs.c (nonexistent)
@@ -1,259 +0,0 @@
1-#ifdef ORBSPACE
2- #include "main.h"
3-#else
4- #include "..\orbspace\orbfs.h"
5- #include <stdlib.h>
6- #include <stdio.h>
7-#endif
8-#include <string.h>
9-
10-unsigned char *bpb;
11-unsigned int *orbsat;
12-unsigned int disksize;
13-
14-void orbfs_init(void)
15-{
16-#ifdef ORBSPACE
17-#else
18- bpb = (unsigned char *) malloc(7680);
19- io_read(bpb, 0, 7680);
20-#endif
21- disksize = *((unsigned int *) (bpb + 446 + 0xc));
22- orbsat = (unsigned int *) (bpb + 512);
23- return;
24-}
25-
26-unsigned int orbsat_getnext(unsigned int addr, unsigned int size)
27-{
28- unsigned int no, *p;
29-
30- for (no = (addr - 0x1e00) / 512 + 1; size > 512; size -= 512) {
31- for (p = orbsat;
32- p < (orbsat + 0x1c00) && *p && *p < no; p += 2);
33- if (p == (orbsat + 0x1c00)) {
34- return 0;
35- } else if (*p == no && !*(p + 1)) {
36- break;
37- } else {
38- no = (*p == no) ? *(p + 1) : no + 1;
39- }
40- }
41- return (no - 1) * 512 + 0x1e00;
42-}
43-
44-unsigned int *orbsat_add(unsigned int no, unsigned int next)
45-{
46- unsigned int *p, *q;
47-
48- for (p = orbsat; p < (orbsat + 0x1c00) && *p && *p < no; p += 2);
49- if (p == (orbsat + 0x1c00)) {
50- return 0;
51- }
52- if (*p) {
53- for (q = orbsat + 0x1bfc / 4; p <= q; q -= 2) {
54- *q = *(q - 2);
55- *(q + 1) = *(q - 1);
56- }
57- }
58- *p = no;
59- *(p + 1) = next;
60- return p;
61-}
62-
63-unsigned int orbfs_search(unsigned char *name)
64-{
65- struct entry *ent;
66-#ifdef ORBSPACE
67- unsigned char *buf = 0;
68-#else
69- unsigned char *buf = (unsigned char *) malloc(512);
70-#endif
71- unsigned int addr;
72-
73- if (!*orbsat) {
74- return 0;
75- }
76- ent = (struct entry *) buf;
77- for (addr = 0x1e00;;){
78- io_read(buf, addr, 512);
79- if (strncmp((unsigned char *) ent->name, name, 12) == 0) {
80-#ifdef ORBSPACE
81-#else
82- free(buf);
83-#endif
84- return addr;
85- } else if (!ent->name[0]) {
86- break;
87- }
88- if ((addr = orbsat_getnext(addr, ent->size + 1024)) == 0) {
89- break;
90- }
91- }
92-#ifdef ORBSPACE
93-#else
94- free(buf);
95-#endif
96- return 0;
97-}
98-
99-int orbfs_create(unsigned char *name, unsigned int size, unsigned char *fbuf)
100-{
101- struct entry *ent;
102- unsigned char *buf;
103- unsigned int *sat, addr;
104-
105- if (orbfs_search(name) != 0) {
106- return 1;
107- }
108- for (sat = orbsat; sat < (orbsat + 0x1c00) && *sat; sat++);
109- if (sat == (orbsat + 0x1c00)) {
110- return 1;
111- } else if (sat-- == orbsat) {
112- sat = orbsat;
113- }
114- if (*sat) {
115- if ((unsigned int) (*sat * 512 + 0x1e00 + size) > disksize) {
116- return 1;
117- }
118- addr = (unsigned int) ((*sat - 1) * 512 + 0x1e00);
119- *sat += (size + 512 + 511) / 512;
120- } else if (orbsat_add((size + 512 + 511) / 512 + 1, 0) == 0) {
121- return 1;
122- } else {
123- addr = 0x1e00;
124- }
125- io_write((unsigned char *) orbsat, 0x200, 7168);
126-#ifdef ORBSPACE
127- buf = 0;
128-#else
129- buf = (unsigned char *) malloc(512);
130-#endif
131- io_read(buf, addr, 512);
132- ent = (struct entry *) buf;
133- ent->size = size;
134- strncpy(ent->name, name, 12);
135- memset(ent->meta, 0, 496);
136- io_write(buf, addr, 512);
137- for (addr += 512; size; size -= 512) {
138- memset(buf, 0, 512);
139- memcpy(buf, fbuf, size > 512 ? 512 : size);
140- io_write(buf, addr, 512);
141- if (size <= 512) {
142- break;
143- }
144- addr += 512;
145- fbuf += 512;
146- }
147-#ifdef ORBSPACE
148-#else
149- free(buf);
150-#endif
151- return 0;
152-}
153-
154-int orbfs_meta_add(unsigned char *name, unsigned char *str)
155-{
156- struct entry *ent;
157- unsigned char *p;
158- unsigned int addr, len = strlen(str);
159-
160- if ((addr = orbfs_search(name)) == 0) {
161- return 1;
162- }
163-#ifdef ORBSPACE
164- ent = 0;
165-#else
166- ent = (struct entry *) malloc(512);
167-#endif
168- io_read((unsigned char *) ent, addr, 512);
169- for (p = ent->meta; *p; p++);
170- if ((unsigned int) (ent + 512 - (unsigned int) p) <= len) {
171- return 1;
172- }
173- strcpy(p, str);
174- p[len] = 0x0a;
175- io_write((unsigned char *) ent, addr, 512);
176-#ifdef ORBSPACE
177-#else
178- free(ent);
179-#endif
180- return 0;
181-}
182-
183-unsigned char *orbfs_meta_get(unsigned char *meta, unsigned char *key,
184- unsigned char *buf, unsigned int size)
185-{
186- unsigned char *base = meta;
187- unsigned int len = strlen(key), i;
188-
189- for (; *meta && (base - meta) < 496;) {
190- if (strncmp(meta, key, len) == 0) {
191- for (; *meta++ != '=';);
192- for (i = 0; *meta != 0x0a && i < size; i++) {
193- buf[i] = *meta++;
194- }
195- return buf;
196- }
197- for (; *meta++ != '=';);
198- for (; *meta++ != 0x0a;);
199- }
200- return 0;
201-}
202-
203-int orbfs_ball_add(unsigned char *bname, unsigned char *name)
204-{
205- struct entry *ent;
206- unsigned char val[4], *buf;
207- unsigned int *sat, addr, no, i, j;
208-
209-#ifdef ORBSPACE
210- buf = 0;
211-#else
212- buf = (unsigned char *) malloc(512);
213-#endif
214- if ((no = (orbfs_search(name) - 0x1e00) / 512 + 1) == 0) {
215- return 1;
216- }
217- if ((addr = orbfs_search(bname)) == 0) {
218- return 1;
219- }
220- io_read(buf, addr, 512);
221- ent = (struct entry *) buf;
222- if (orbfs_meta_get(ent->meta, "Type", val, 4) != 0 &&
223- strncmp(val, "Ball", 4) != 0) {
224- return 1;
225- }
226- if (((ent->size + 511) / 512) != ((ent->size + 2 + 511) / 512)) {
227- for (sat = orbsat; sat < (orbsat + 0x1c00) && *sat; sat++);
228- if (sat == (orbsat + 0x1c00)) {
229- return 1;
230- } else if (sat-- == orbsat) {
231- sat = orbsat;
232- }
233- i = (addr - 0x1e00) / 512 + 1;
234- j = ++*sat - 1;
235- if (orbsat_add(i, j) == 0) {
236- return 1;
237- }
238- if (orbsat_add(j, i + 1) == 0) {
239- return 1;
240- }
241- if (orbsat_add(j - 1, j + 1) == 0) {
242- return 1;
243- }
244- io_write((unsigned char *) orbsat, 0x200, 7168);
245- } else {
246- j = (orbsat_getnext(addr, 513) - 0x1e00) / 512 + 1;
247- }
248- i = ent->size;
249- ent->size += 4;
250- io_write(buf, addr, 512);
251- io_read(buf, (j - 1) * 512 + 0x1e00, 512);
252- *((unsigned int *) (buf + i)) = no;
253- io_write(buf, (j - 1) * 512 + 0x1e00, 512);
254-#ifdef ORBSPACE
255-#else
256- free(buf);
257-#endif
258- return 0;
259-}
--- haribote/trunk/orbspace/orbspace/io.h (revision 205)
+++ haribote/trunk/orbspace/orbspace/io.h (nonexistent)
@@ -1,2 +0,0 @@
1-int io_read(unsigned char *buf, unsigned int addr, unsigned int size);
2-int io_write(unsigned char *buf, unsigned int addr, unsigned int size);
--- haribote/trunk/orbspace/orbspace/Makefile (revision 205)
+++ haribote/trunk/orbspace/orbspace/Makefile (nonexistent)
@@ -1,55 +0,0 @@
1-OBJS = main.obj asmfunc.obj engfont.obj orbfs.obj int.obj fifo.obj \
2- graphic.obj memory.obj
3-HEADERS = main.h orbfs.h
4-
5-TOOLPATH = ../../z_tools/
6-INCPATH = $(TOOLPATH)haribote/
7-NASK = $(TOOLPATH)nask.exe
8-CC1 = $(TOOLPATH)cc1.exe -I$(INCPATH) -Os -Wall -quiet
9-GAS2NASK = $(TOOLPATH)gas2nask.exe -a
10-OBJ2BIM = $(TOOLPATH)obj2bim.exe
11-BIM2ORB = ../bim2orb/bim2orb.exe
12-RULEFILE = ../orbspace.rul
13-MAKEFONT = $(TOOLPAYH)makefont.exe
14-BIN2OBJ = $(TOOLPATH)bin2obj.exe
15-
16-default:
17- make ipl.bin
18- make orbspace.sys
19-
20-ipl.bin: ipl.nas Makefile
21- $(NASK) ipl.nas ipl.bin ipl.lst
22-
23-engfont.bin: engfont.txt Makefile
24- $(MAKEFONT) engfont.txt engfont.bin
25-
26-engfont.obj: engfont.bin Makefile
27- $(BIN2OBJ) engfont.bin engfont.obj _engfont
28-
29-orbfs.gas: orbfs.c $(HEADERS) Makefile
30- $(CC1) -DORBSPACE -o orbfs.gas orbfs.c
31-
32-orbspace.bim: $(OBJS) Makefile
33- $(OBJ2BIM) @$(RULEFILE) out:orbspace.bim stack:3136k map:orbspace.map \
34- $(OBJS)
35-
36-orbspace.sys: orbspace.bim Makefile
37- $(BIM2ORB) orbspace.bim orbspace.sys 0
38-
39-%.gas: %.c $(HEADERS) Makefile
40- $(CC1) -o $*.gas $*.c
41-
42-%.nas: %.gas Makefile
43- $(GAS2NASK) $*.gas $*.nas
44-
45-%.obj: %.nas Makefile
46- $(NASK) $*.nas $*.obj $*.lst
47-
48-clean:
49- del *.bin
50- del *.lst
51- del *.obj
52- del *.gas
53- del *.map
54- del orbspace.bim
55- del orbspace.sys
--- haribote/trunk/orbspace/orbspace/engfont.txt (revision 205)
+++ haribote/trunk/orbspace/orbspace/engfont.txt (nonexistent)
@@ -1,4609 +0,0 @@
1-OSASKの半角フォントを流用
2-
3-char 0x00
4-........
5-........
6-........
7-........
8-........
9-........
10-........
11-........
12-........
13-........
14-........
15-........
16-........
17-........
18-........
19-........
20-
21-char 0x01
22-........
23-........
24-..***...
25-.*...*..
26-*.....*.
27-*.*.*.*.
28-*.*.*.*.
29-*.....*.
30-*.....*.
31-*.*.*.*.
32-*..*..*.
33-.*...*..
34-..***...
35-........
36-........
37-........
38-
39-char 0x02
40-........
41-........
42-..***...
43-.*****..
44-*******.
45-**.*.**.
46-**.*.**.
47-*******.
48-*******.
49-**.*.**.
50-***.***.
51-.*****..
52-..***...
53-........
54-........
55-........
56-
57-char 0x03
58-........
59-........
60-........
61-........
62-.**.**..
63-*******.
64-*******.
65-*******.
66-.*****..
67-..***...
68-...*....
69-........
70-........
71-........
72-........
73-........
74-
75-char 0x04
76-........
77-........
78-........
79-........
80-...*....
81-..***...
82-.*****..
83-*******.
84-.*****..
85-..***...
86-...*....
87-........
88-........
89-........
90-........
91-........
92-
93-char 0x05
94-........
95-........
96-........
97-........
98-...*....
99-..***...
100-.*.*.*..
101-*******.
102-.*.*.*..
103-...*....
104-..***...
105-........
106-........
107-........
108-........
109-........
110-
111-char 0x06
112-........
113-........
114-........
115-........
116-...*....
117-..***...
118-.*****..
119-*******.
120-**.*.**.
121-...*....
122-..***...
123-........
124-........
125-........
126-........
127-........
128-
129-char 0x07
130-........
131-........
132-........
133-........
134-........
135-........
136-...**...
137-..****..
138-..****..
139-...**...
140-........
141-........
142-........
143-........
144-........
145-........
146-
147-char 0x08
148-********
149-********
150-********
151-********
152-********
153-********
154-***..***
155-**....**
156-**....**
157-***..***
158-********
159-********
160-********
161-********
162-********
163-********
164-
165-char 0x09
166-........
167-........
168-........
169-........
170-........
171-..****..
172-.**..**.
173-.*....*.
174-.*....*.
175-.**..**.
176-..****..
177-........
178-........
179-........
180-........
181-........
182-
183-char 0x0a
184-********
185-********
186-********
187-********
188-********
189-**....**
190-*..**..*
191-*.****.*
192-*.****.*
193-*..**..*
194-**....**
195-********
196-********
197-********
198-********
199-********
200-
201-char 0x0b
202-........
203-...*....
204-..***...
205-.*.*.*..
206-*..*..*.
207-...*....
208-...*....
209-..***...
210-.*...*..
211-*.....*.
212-*.....*.
213-*.....*.
214-.*...*..
215-..***...
216-........
217-........
218-
219-char 0x0c
220-........
221-..***...
222-.*...*..
223-*.....*.
224-*.....*.
225-*.....*.
226-.*...*..
227-..***...
228-...*....
229-...*....
230-*******.
231-...*....
232-...*....
233-...*....
234-........
235-........
236-
237-char 0x0d
238-........
239-........
240-....**..
241-....***.
242-....*.**
243-....*.**
244-....*.*.
245-....*...
246-....*...
247-...**...
248-.****...
249-*****...
250-.***....
251-........
252-........
253-........
254-
255-char 0x0e
256-........
257-........
258-...*****
259-...*****
260-...*...*
261-...*...*
262-...*...*
263-...*...*
264-...*...*
265-...*...*
266-.***.***
267-********
268-.**..**.
269-........
270-........
271-........
272-
273-char 0x0f
274-........
275-........
276-........
277-........
278-...*....
279-.*.*.*..
280-..***...
281-..*.*...
282-..***...
283-.*.*.*..
284-...*....
285-........
286-........
287-........
288-........
289-........
290-
291-char 0x10
292-........
293-*.......
294-**......
295-***.....
296-****....
297-*****...
298-******..
299-*******.
300-******..
301-*****...
302-****....
303-***.....
304-**......
305-*.......
306-........
307-........
308-
309-char 0x11
310-........
311-......*.
312-.....**.
313-....***.
314-...****.
315-..*****.
316-.******.
317-*******.
318-.******.
319-..*****.
320-...****.
321-....***.
322-.....**.
323-......*.
324-........
325-........
326-
327-char 0x12
328-........
329-........
330-...*....
331-..***...
332-.*.*.*..
333-*..*..*.
334-...*....
335-...*....
336-...*....
337-*..*..*.
338-.*.*.*..
339-..***...
340-...*....
341-........
342-........
343-........
344-
345-char 0x13
346-........
347-........
348-.*...*..
349-.*...*..
350-.*...*..
351-.*...*..
352-.*...*..
353-.*...*..
354-.*...*..
355-.*...*..
356-........
357-........
358-.*...*..
359-.*...*..
360-........
361-........
362-
363-char 0x14
364-........
365-..*****.
366-.*..*.*.
367-*...*.*.
368-*...*.*.
369-*...*.*.
370-*...*.*.
371-.*..*.*.
372-..***.*.
373-....*.*.
374-....*.*.
375-....*.*.
376-....*.*.
377-....*.*.
378-........
379-........
380-
381-char 0x15
382-.*****..
383-*.....*.
384-.*......
385-..*.....
386-..***...
387-.*...*..
388-*.....*.
389-*.....*.
390-*.....*.
391-.*...*..
392-..***...
393-....*...
394-.....*..
395-*.....*.
396-.*****..
397-........
398-
399-char 0x16
400-........
401-........
402-........
403-........
404-........
405-........
406-........
407-........
408-........
409-........
410-........
411-*******.
412-*******.
413-*******.
414-........
415-........
416-
417-char 0x17
418-........
419-........
420-...*....
421-..***...
422-.*.*.*..
423-*..*..*.
424-...*....
425-...*....
426-...*....
427-*..*..*.
428-.*.*.*..
429-..***...
430-...*....
431-.*****..
432-........
433-........
434-
435-char 0x18
436-........
437-...*....
438-..***...
439-.*.*.*..
440-*..*..*.
441-...*....
442-...*....
443-...*....
444-...*....
445-...*....
446-...*....
447-...*....
448-...*....
449-...*....
450-........
451-........
452-
453-char 0x19
454-........
455-...*....
456-...*....
457-...*....
458-...*....
459-...*....
460-...*....
461-...*....
462-...*....
463-...*....
464-*..*..*.
465-.*.*.*..
466-..***...
467-...*....
468-........
469-........
470-
471-char 0x1a
472-........
473-........
474-........
475-........
476-...*....
477-....*...
478-.....*..
479-*******.
480-.....*..
481-....*...
482-...*....
483-........
484-........
485-........
486-........
487-........
488-
489-char 0x1b
490-........
491-........
492-........
493-........
494-...*....
495-..*.....
496-.*......
497-*******.
498-.*......
499-..*.....
500-...*....
501-........
502-........
503-........
504-........
505-........
506-
507-char 0x1c
508-........
509-........
510-........
511-........
512-........
513-........
514-........
515-........
516-........
517-........
518-........
519-*.......
520-*.......
521-*******.
522-........
523-........
524-
525-char 0x1d
526-........
527-........
528-........
529-........
530-........
531-..*.*...
532-.*...*..
533-*******.
534-.*...*..
535-..*.*...
536-........
537-........
538-........
539-........
540-........
541-........
542-
543-char 0x1e
544-........
545-........
546-........
547-........
548-...*....
549-...*....
550-..***...
551-..***...
552-.*****..
553-.*****..
554-*******.
555-*******.
556-........
557-........
558-........
559-........
560-
561-char 0x1f
562-........
563-........
564-........
565-........
566-*******.
567-*******.
568-.*****..
569-.*****..
570-..***...
571-..***...
572-...*....
573-...*....
574-........
575-........
576-........
577-........
578-
579-char 0x20
580-........
581-........
582-........
583-........
584-........
585-........
586-........
587-........
588-........
589-........
590-........
591-........
592-........
593-........
594-........
595-........
596-
597-char 0x21
598-........
599-...*....
600-...*....
601-...*....
602-...*....
603-...*....
604-...*....
605-...*....
606-...*....
607-...*....
608-........
609-........
610-...*....
611-...*....
612-........
613-........
614-
615-char 0x22
616-..*.*...
617-..*.*...
618-..*.*...
619-........
620-........
621-........
622-........
623-........
624-........
625-........
626-........
627-........
628-........
629-........
630-........
631-........
632-
633-char 0x23
634-........
635-.*...*..
636-.*...*..
637-.*...*..
638-*******.
639-.*...*..
640-.*...*..
641-.*...*..
642-.*...*..
643-.*...*..
644-*******.
645-.*...*..
646-.*...*..
647-.*...*..
648-........
649-........
650-
651-char 0x24
652-...*....
653-..***.*.
654-.*.*.**.
655-*..*..*.
656-*..*..*.
657-*..*....
658-.*.*....
659-..***...
660-...*.*..
661-...*..*.
662-*..*..*.
663-*..*..*.
664-**.*.*..
665-*.***...
666-...*....
667-...*....
668-
669-char 0x25
670-.**...*.
671-*..*..*.
672-*..*.*..
673-*..*.*..
674-.**.*...
675-....*...
676-...*....
677-...*....
678-..*.....
679-..*.**..
680-.*.*..*.
681-.*.*..*.
682-*..*..*.
683-*...**..
684-........
685-........
686-
687-char 0x26
688-........
689-.***....
690-*...*...
691-*...*...
692-*...*...
693-*..*....
694-.**.....
695-.*...***
696-*.*...*.
697-*..*..*.
698-*...*.*.
699-*....*..
700-.*...**.
701-..***..*
702-........
703-........
704-
705-char 0x27
706-.....*..
707-....*...
708-...*....
709-........
710-........
711-........
712-........
713-........
714-........
715-........
716-........
717-........
718-........
719-........
720-........
721-........
722-
723-char 0x28
724-......*.
725-.....*..
726-....*...
727-....*...
728-...*....
729-...*....
730-...*....
731-...*....
732-...*....
733-...*....
734-...*....
735-....*...
736-....*...
737-.....*..
738-......*.
739-........
740-
741-char 0x29
742-*.......
743-.*......
744-..*.....
745-..*.....
746-...*....
747-...*....
748-...*....
749-...*....
750-...*....
751-...*....
752-...*....
753-..*.....
754-..*.....
755-.*......
756-*.......
757-........
758-
759-char 0x2a
760-........
761-........
762-........
763-........
764-........
765-...*....
766-*..*..*.
767-.*.*.*..
768-..***...
769-.*.*.*..
770-*..*..*.
771-...*....
772-........
773-........
774-........
775-........
776-
777-char 0x2b
778-........
779-........
780-........
781-........
782-........
783-...*....
784-...*....
785-...*....
786-*******.
787-...*....
788-...*....
789-...*....
790-........
791-........
792-........
793-........
794-
795-char 0x2c
796-........
797-........
798-........
799-........
800-........
801-........
802-........
803-........
804-........
805-........
806-........
807-...**...
808-...**...
809-....*...
810-....*...
811-...*....
812-
813-char 0x2d
814-........
815-........
816-........
817-........
818-........
819-........
820-........
821-........
822-*******.
823-........
824-........
825-........
826-........
827-........
828-........
829-........
830-
831-char 0x2e
832-........
833-........
834-........
835-........
836-........
837-........
838-........
839-........
840-........
841-........
842-........
843-........
844-...**...
845-...**...
846-........
847-........
848-
849-char 0x2f
850-......*.
851-......*.
852-.....*..
853-.....*..
854-....*...
855-....*...
856-....*...
857-...*....
858-...*....
859-..*.....
860-..*.....
861-.*......
862-.*......
863-.*......
864-*.......
865-*.......
866-
867-char 0x30
868-........
869-...**...
870-..*..*..
871-..*..*..
872-.*....*.
873-.*....*.
874-.*....*.
875-.*....*.
876-.*....*.
877-.*....*.
878-.*....*.
879-..*..*..
880-..*..*..
881-...**...
882-........
883-........
884-
885-char 0x31
886-........
887-....*...
888-...**...
889-..*.*...
890-....*...
891-....*...
892-....*...
893-....*...
894-....*...
895-....*...
896-....*...
897-....*...
898-....*...
899-..*****.
900-........
901-........
902-
903-char 0x32
904-........
905-...**...
906-..*..*..
907-.*....*.
908-.*....*.
909-......*.
910-.....*..
911-....*...
912-...*....
913-..*.....
914-..*.....
915-.*......
916-.*......
917-.******.
918-........
919-........
920-
921-char 0x33
922-........
923-...**...
924-..*..*..
925-.*....*.
926-......*.
927-......*.
928-.....*..
929-...**...
930-.....*..
931-......*.
932-......*.
933-.*....*.
934-..*..*..
935-...**...
936-........
937-........
938-
939-char 0x34
940-........
941-....**..
942-....**..
943-....**..
944-...*.*..
945-...*.*..
946-...*.*..
947-..*..*..
948-..*..*..
949-.*...*..
950-.******.
951-.....*..
952-.....*..
953-...****.
954-........
955-........
956-
957-char 0x35
958-........
959-.*****..
960-.*......
961-.*......
962-.*......
963-.*.**...
964-.**..*..
965-......*.
966-......*.
967-......*.
968-......*.
969-.*....*.
970-..*..*..
971-...**...
972-........
973-........
974-
975-char 0x36
976-........
977-...**...
978-..*..*..
979-.*....*.
980-.*......
981-.*.**...
982-.**..*..
983-.*....*.
984-.*....*.
985-.*....*.
986-.*....*.
987-.*....*.
988-..*..*..
989-...**...
990-........
991-........
992-
993-char 0x37
994-........
995-.******.
996-.*....*.
997-.*....*.
998-.....*..
999-.....*..
1000-....*...
1001-....*...
1002-....*...
1003-...*....
1004-...*....
1005-...*....
1006-...*....
1007-..***...
1008-........
1009-........
1010-
1011-char 0x38
1012-........
1013-...**...
1014-..*..*..
1015-.*....*.
1016-.*....*.
1017-.*....*.
1018-..*..*..
1019-...**...
1020-..*..*..
1021-.*....*.
1022-.*....*.
1023-.*....*.
1024-..*..*..
1025-...**...
1026-........
1027-........
1028-
1029-char 0x39
1030-........
1031-...**...
1032-..*..*..
1033-.*....*.
1034-.*....*.
1035-.*....*.
1036-.*....*.
1037-.*....*.
1038-..*..**.
1039-...**.*.
1040-......*.
1041-.*....*.
1042-..*..*..
1043-...**...
1044-........
1045-........
1046-
1047-char 0x3a
1048-........
1049-........
1050-........
1051-........
1052-........
1053-...**...
1054-...**...
1055-........
1056-........
1057-........
1058-........
1059-........
1060-...**...
1061-...**...
1062-........
1063-........
1064-
1065-char 0x3b
1066-........
1067-........
1068-........
1069-........
1070-........
1071-...**...
1072-...**...
1073-........
1074-........
1075-........
1076-........
1077-...**...
1078-...**...
1079-....*...
1080-....*...
1081-...*....
1082-
1083-char 0x3c
1084-........
1085-......*.
1086-.....*..
1087-....*...
1088-...*....
1089-..*.....
1090-.*......
1091-*.......
1092-*.......
1093-.*......
1094-..*.....
1095-...*....
1096-....*...
1097-.....*..
1098-......*.
1099-........
1100-
1101-char 0x3d
1102-........
1103-........
1104-........
1105-........
1106-........
1107-........
1108-*******.
1109-........
1110-........
1111-*******.
1112-........
1113-........
1114-........
1115-........
1116-........
1117-........
1118-
1119-char 0x3e
1120-........
1121-*.......
1122-.*......
1123-..*.....
1124-...*....
1125-....*...
1126-.....*..
1127-......*.
1128-......*.
1129-.....*..
1130-....*...
1131-...*....
1132-..*.....
1133-.*......
1134-*.......
1135-........
1136-
1137-char 0x3f
1138-........
1139-..***...
1140-.*...*..
1141-*.....*.
1142-*.....*.
1143-*.....*.
1144-.....*..
1145-....*...
1146-...*....
1147-...*....
1148-........
1149-........
1150-...**...
1151-...**...
1152-........
1153-........
1154-
1155-char 0x40
1156-........
1157-..***...
1158-.*...*..
1159-*.....*.
1160-*..**.*.
1161-*.*.*.*.
1162-*.*.*.*.
1163-*.*.*.*.
1164-*.*.*.*.
1165-*.*.*.*.
1166-*..***..
1167-*.......
1168-.*...**.
1169-..***...
1170-........
1171-........
1172-
1173-char 0x41
1174-........
1175-...**...
1176-...**...
1177-...**...
1178-...**...
1179-..*..*..
1180-..*..*..
1181-..*..*..
1182-..*..*..
1183-.******.
1184-.*....*.
1185-.*....*.
1186-.*....*.
1187-***..***
1188-........
1189-........
1190-
1191-char 0x42
1192-........
1193-****....
1194-.*..*...
1195-.*...*..
1196-.*...*..
1197-.*...*..
1198-.*..*...
1199-.****...
1200-.*...*..
1201-.*....*.
1202-.*....*.
1203-.*....*.
1204-.*...*..
1205-*****...
1206-........
1207-........
1208-
1209-char 0x43
1210-........
1211-..***.*.
1212-.*...**.
1213-.*....*.
1214-*.....*.
1215-*.......
1216-*.......
1217-*.......
1218-*.......
1219-*.......
1220-*.....*.
1221-.*....*.
1222-.*...*..
1223-..***...
1224-........
1225-........
1226-
1227-char 0x44
1228-........
1229-*****...
1230-.*...*..
1231-.*...*..
1232-.*....*.
1233-.*....*.
1234-.*....*.
1235-.*....*.
1236-.*....*.
1237-.*....*.
1238-.*....*.
1239-.*...*..
1240-.*...*..
1241-*****...
1242-........
1243-........
1244-
1245-char 0x45
1246-........
1247-*******.
1248-.*....*.
1249-.*....*.
1250-.*......
1251-.*......
1252-.*...*..
1253-.*****..
1254-.*...*..
1255-.*......
1256-.*......
1257-.*....*.
1258-.*....*.
1259-*******.
1260-........
1261-........
1262-
1263-char 0x46
1264-........
1265-*******.
1266-.*....*.
1267-.*....*.
1268-.*......
1269-.*......
1270-.*...*..
1271-.*****..
1272-.*...*..
1273-.*...*..
1274-.*......
1275-.*......
1276-.*......
1277-****....
1278-........
1279-........
1280-
1281-char 0x47
1282-........
1283-..***.*.
1284-.*...**.
1285-.*....*.
1286-*.....*.
1287-*.......
1288-*.......
1289-*..****.
1290-*.....*.
1291-*.....*.
1292-*.....*.
1293-.*....*.
1294-.*...**.
1295-..***...
1296-........
1297-........
1298-
1299-char 0x48
1300-........
1301-***..***
1302-.*....*.
1303-.*....*.
1304-.*....*.
1305-.*....*.
1306-.*....*.
1307-.******.
1308-.*....*.
1309-.*....*.
1310-.*....*.
1311-.*....*.
1312-.*....*.
1313-***..***
1314-........
1315-........
1316-
1317-char 0x49
1318-........
1319-.*****..
1320-...*....
1321-...*....
1322-...*....
1323-...*....
1324-...*....
1325-...*....
1326-...*....
1327-...*....
1328-...*....
1329-...*....
1330-...*....
1331-.*****..
1332-........
1333-........
1334-
1335-char 0x4a
1336-........
1337-...*****
1338-.....*..
1339-.....*..
1340-.....*..
1341-.....*..
1342-.....*..
1343-.....*..
1344-.....*..
1345-.....*..
1346-.....*..
1347-.....*..
1348-*....*..
1349-.*..*...
1350-..**....
1351-........
1352-
1353-char 0x4b
1354-........
1355-***..***
1356-.*....*.
1357-.*...*..
1358-.*..*...
1359-.*.*....
1360-.*.*....
1361-.**.....
1362-.*.*....
1363-.*.*....
1364-.*..*...
1365-.*...*..
1366-.*....*.
1367-***..***
1368-........
1369-........
1370-
1371-char 0x4c
1372-........
1373-****....
1374-.*......
1375-.*......
1376-.*......
1377-.*......
1378-.*......
1379-.*......
1380-.*......
1381-.*......
1382-.*......
1383-.*....*.
1384-.*....*.
1385-*******.
1386-........
1387-........
1388-
1389-char 0x4d
1390-........
1391-**....**
1392-.*....*.
1393-.**..**.
1394-.**..**.
1395-.**..**.
1396-.*.**.*.
1397-.*.**.*.
1398-.*.**.*.
1399-.*....*.
1400-.*....*.
1401-.*....*.
1402-.*....*.
1403-***..***
1404-........
1405-........
1406-
1407-char 0x4e
1408-........
1409-**...***
1410-.*....*.
1411-.**...*.
1412-.**...*.
1413-.*.*..*.
1414-.*.*..*.
1415-.*.*..*.
1416-.*..*.*.
1417-.*..*.*.
1418-.*..*.*.
1419-.*...**.
1420-.*...**.
1421-***...*.
1422-........
1423-........
1424-
1425-char 0x4f
1426-........
1427-..***...
1428-.*...*..
1429-*.....*.
1430-*.....*.
1431-*.....*.
1432-*.....*.
1433-*.....*.
1434-*.....*.
1435-*.....*.
1436-*.....*.
1437-*.....*.
1438-.*...*..
1439-..***...
1440-........
1441-........
1442-
1443-char 0x50
1444-........
1445-*****...
1446-.*...*..
1447-.*....*.
1448-.*....*.
1449-.*....*.
1450-.*...*..
1451-.****...
1452-.*......
1453-.*......
1454-.*......
1455-.*......
1456-.*......
1457-****....
1458-........
1459-........
1460-
1461-char 0x51
1462-........
1463-..***...
1464-.*...*..
1465-*.....*.
1466-*.....*.
1467-*.....*.
1468-*.....*.
1469-*.....*.
1470-*.....*.
1471-*.....*.
1472-*..*..*.
1473-*...*.*.
1474-.*...*..
1475-..***.*.
1476-........
1477-........
1478-
1479-char 0x52
1480-........
1481-******..
1482-.*....*.
1483-.*....*.
1484-.*....*.
1485-.*....*.
1486-.*****..
1487-.*...*..
1488-.*....*.
1489-.*....*.
1490-.*....*.
1491-.*....*.
1492-.*....*.
1493-***..***
1494-........
1495-........
1496-
1497-char 0x53
1498-........
1499-..***.*.
1500-.*...**.
1501-*.....*.
1502-*.....*.
1503-*.......
1504-.*......
1505-..***...
1506-.....*..
1507-......*.
1508-*.....*.
1509-*.....*.
1510-**...*..
1511-*.***...
1512-........
1513-........
1514-
1515-char 0x54
1516-........
1517-*******.
1518-*..*..*.
1519-*..*..*.
1520-...*....
1521-...*....
1522-...*....
1523-...*....
1524-...*....
1525-...*....
1526-...*....
1527-...*....
1528-...*....
1529-.*****..
1530-........
1531-........
1532-
1533-char 0x55
1534-........
1535-***..***
1536-.*....*.
1537-.*....*.
1538-.*....*.
1539-.*....*.
1540-.*....*.
1541-.*....*.
1542-.*....*.
1543-.*....*.
1544-.*....*.
1545-.*....*.
1546-..*..*..
1547-..****..
1548-........
1549-........
1550-
1551-char 0x56
1552-........
1553-***..***
1554-.*....*.
1555-.*....*.
1556-.*....*.
1557-.*....*.
1558-..*..*..
1559-..*..*..
1560-..*..*..
1561-..*..*..
1562-...**...
1563-...**...
1564-...**...
1565-...**...
1566-........
1567-........
1568-
1569-char 0x57
1570-........
1571-***..***
1572-.*....*.
1573-.*....*.
1574-.*....*.
1575-.*.**.*.
1576-.*.**.*.
1577-.*.**.*.
1578-.*.**.*.
1579-..*..*..
1580-..*..*..
1581-..*..*..
1582-..*..*..
1583-..*..*..
1584-........
1585-........
1586-
1587-char 0x58
1588-........
1589-***..***
1590-.*....*.
1591-.*....*.
1592-..*..*..
1593-..*..*..
1594-..*..*..
1595-...**...
1596-..*..*..
1597-..*..*..
1598-..*..*..
1599-.*....*.
1600-.*....*.
1601-***..***
1602-........
1603-........
1604-
1605-char 0x59
1606-........
1607-***.***.
1608-.*...*..
1609-.*...*..
1610-.*...*..
1611-..*.*...
1612-..*.*...
1613-..*.*...
1614-...*....
1615-...*....
1616-...*....
1617-...*....
1618-...*....
1619-.*****..
1620-........
1621-........
1622-
1623-char 0x5a
1624-........
1625-*******.
1626-*....*..
1627-*....*..
1628-....*...
1629-....*...
1630-...*....
1631-...*....
1632-..*.....
1633-..*.....
1634-.*......
1635-.*....*.
1636-*.....*.
1637-*******.
1638-........
1639-........
1640-
1641-char 0x5b
1642-........
1643-..*****.
1644-..*.....
1645-..*.....
1646-..*.....
1647-..*.....
1648-..*.....
1649-..*.....
1650-..*.....
1651-..*.....
1652-..*.....
1653-..*.....
1654-..*.....
1655-..*.....
1656-..*****.
1657-........
1658-
1659-char 0x5c
1660-*.......
1661-*.......
1662-.*......
1663-.*......
1664-..*.....
1665-..*.....
1666-..*.....
1667-...*....
1668-...*....
1669-....*...
1670-....*...
1671-.....*..
1672-.....*..
1673-.....*..
1674-......*.
1675-......*.
1676-
1677-char 0x5d
1678-........
1679-.*****..
1680-.....*..
1681-.....*..
1682-.....*..
1683-.....*..
1684-.....*..
1685-.....*..
1686-.....*..
1687-.....*..
1688-.....*..
1689-.....*..
1690-.....*..
1691-.....*..
1692-.*****..
1693-........
1694-
1695-char 0x5e
1696-........
1697-...*....
1698-..*.*...
1699-.*...*..
1700-*.....*.
1701-........
1702-........
1703-........
1704-........
1705-........
1706-........
1707-........
1708-........
1709-........
1710-........
1711-........
1712-
1713-char 0x5f
1714-........
1715-........
1716-........
1717-........
1718-........
1719-........
1720-........
1721-........
1722-........
1723-........
1724-........
1725-........
1726-........
1727-........
1728-*******.
1729-........
1730-
1731-char 0x60
1732-...*....
1733-....*...
1734-.....*..
1735-........
1736-........
1737-........
1738-........
1739-........
1740-........
1741-........
1742-........
1743-........
1744-........
1745-........
1746-........
1747-........
1748-
1749-char 0x61
1750-........
1751-........
1752-........
1753-........
1754-........
1755-.***....
1756-....*...
1757-.....*..
1758-..****..
1759-.*...*..
1760-*....*..
1761-*....*..
1762-*...**..
1763-.***.**.
1764-........
1765-........
1766-
1767-char 0x62
1768-**......
1769-.*......
1770-.*......
1771-.*......
1772-.*......
1773-.*.**...
1774-.**..*..
1775-.*....*.
1776-.*....*.
1777-.*....*.
1778-.*....*.
1779-.*....*.
1780-.**..*..
1781-.*.**...
1782-........
1783-........
1784-
1785-char 0x63
1786-........
1787-........
1788-........
1789-........
1790-........
1791-..**....
1792-.*..**..
1793-*....*..
1794-*....*..
1795-*.......
1796-*.......
1797-*.....*.
1798-.*...*..
1799-..***...
1800-........
1801-........
1802-
1803-char 0x64
1804-....**..
1805-.....*..
1806-.....*..
1807-.....*..
1808-.....*..
1809-..**.*..
1810-.*..**..
1811-*....*..
1812-*....*..
1813-*....*..
1814-*....*..
1815-*....*..
1816-.*..**..
1817-..**.**.
1818-........
1819-........
1820-
1821-char 0x65
1822-........
1823-........
1824-........
1825-........
1826-........
1827-..***...
1828-.*...*..
1829-*.....*.
1830-*.....*.
1831-******..
1832-*.......
1833-*.....*.
1834-.*....*.
1835-..****..
1836-........
1837-........
1838-
1839-char 0x66
1840-....***.
1841-...*....
1842-...*....
1843-...*....
1844-...*....
1845-.*****..
1846-...*....
1847-...*....
1848-...*....
1849-...*....
1850-...*....
1851-...*....
1852-...*....
1853-.*****..
1854-........
1855-........
1856-
1857-char 0x67
1858-........
1859-........
1860-........
1861-........
1862-........
1863-..**.**.
1864-.*..**..
1865-*....*..
1866-*....*..
1867-*....*..
1868-*....*..
1869-.*..**..
1870-..**.*..
1871-.....*..
1872-.....*..
1873-.****...
1874-
1875-char 0x68
1876-**......
1877-.*......
1878-.*......
1879-.*......
1880-.*......
1881-.*.**...
1882-.**..*..
1883-.*....*.
1884-.*....*.
1885-.*....*.
1886-.*....*.
1887-.*....*.
1888-.*....*.
1889-***...**
1890-........
1891-........
1892-
1893-char 0x69
1894-........
1895-...*....
1896-...*....
1897-........
1898-........
1899-..**....
1900-...*....
1901-...*....
1902-...*....
1903-...*....
1904-...*....
1905-...*....
1906-...*....
1907-..***...
1908-........
1909-........
1910-
1911-char 0x6a
1912-........
1913-.....*..
1914-.....*..
1915-........
1916-........
1917-....**..
1918-.....*..
1919-.....*..
1920-.....*..
1921-.....*..
1922-.....*..
1923-.....*..
1924-.....*..
1925-....*...
1926-....*...
1927-..**....
1928-
1929-char 0x6b
1930-**......
1931-.*......
1932-.*......
1933-.*......
1934-.*......
1935-.*..***.
1936-.*...*..
1937-.*..*...
1938-.*.*....
1939-.**.....
1940-.*.*....
1941-.*..*...
1942-.*...*..
1943-***..**.
1944-........
1945-........
1946-
1947-char 0x6c
1948-..**....
1949-...*....
1950-...*....
1951-...*....
1952-...*....
1953-...*....
1954-...*....
1955-...*....
1956-...*....
1957-...*....
1958-...*....
1959-...*....
1960-...*....
1961-..***...
1962-........
1963-........
1964-
1965-char 0x6d
1966-........
1967-........
1968-........
1969-........
1970-........
1971-****.**.
1972-.*..*..*
1973-.*..*..*
1974-.*..*..*
1975-.*..*..*
1976-.*..*..*
1977-.*..*..*
1978-.*..*..*
1979-**.**.**
1980-........
1981-........
1982-
1983-char 0x6e
1984-........
1985-........
1986-........
1987-........
1988-........
1989-**.**...
1990-.**..*..
1991-.*....*.
1992-.*....*.
1993-.*....*.
1994-.*....*.
1995-.*....*.
1996-.*....*.
1997-***...**
1998-........
1999-........
2000-
2001-char 0x6f
2002-........
2003-........
2004-........
2005-........
2006-........
2007-..***...
2008-.*...*..
2009-*.....*.
2010-*.....*.
2011-*.....*.
2012-*.....*.
2013-*.....*.
2014-.*...*..
2015-..***...
2016-........
2017-........
2018-
2019-char 0x70
2020-........
2021-........
2022-........
2023-........
2024-........
2025-**.**...
2026-.**..*..
2027-.*....*.
2028-.*....*.
2029-.*....*.
2030-.*....*.
2031-.*....*.
2032-.**..*..
2033-.*.**...
2034-.*......
2035-***.....
2036-
2037-char 0x71
2038-........
2039-........
2040-........
2041-........
2042-........
2043-..**.*..
2044-.*..**..
2045-*....*..
2046-*....*..
2047-*....*..
2048-*....*..
2049-*....*..
2050-.*..**..
2051-..**.*..
2052-.....*..
2053-....***.
2054-
2055-char 0x72
2056-........
2057-........
2058-........
2059-........
2060-........
2061-**.***..
2062-.**...*.
2063-.*....*.
2064-.*......
2065-.*......
2066-.*......
2067-.*......
2068-.*......
2069-***.....
2070-........
2071-........
2072-
2073-char 0x73
2074-........
2075-........
2076-........
2077-........
2078-........
2079-.****.*.
2080-*....**.
2081-*.....*.
2082-**......
2083-..***...
2084-.....**.
2085-*.....*.
2086-**....*.
2087-*.****..
2088-........
2089-........
2090-
2091-char 0x74
2092-........
2093-........
2094-...*....
2095-...*....
2096-...*....
2097-.*****..
2098-...*....
2099-...*....
2100-...*....
2101-...*....
2102-...*....
2103-...*....
2104-...*....
2105-....***.
2106-........
2107-........
2108-
2109-char 0x75
2110-........
2111-........
2112-........
2113-........
2114-........
2115-**...**.
2116-.*....*.
2117-.*....*.
2118-.*....*.
2119-.*....*.
2120-.*....*.
2121-.*....*.
2122-.*...**.
2123-..***.**
2124-........
2125-........
2126-
2127-char 0x76
2128-........
2129-........
2130-........
2131-........
2132-........
2133-***..***
2134-.*....*.
2135-.*....*.
2136-.*....*.
2137-..*..*..
2138-..*..*..
2139-..*..*..
2140-...**...
2141-...**...
2142-........
2143-........
2144-
2145-char 0x77
2146-........
2147-........
2148-........
2149-........
2150-........
2151-***..***
2152-.*....*.
2153-.*....*.
2154-.*.**.*.
2155-.*.**.*.
2156-.*.**.*.
2157-..*..*..
2158-..*..*..
2159-..*..*..
2160-........
2161-........
2162-
2163-char 0x78
2164-........
2165-........
2166-........
2167-........
2168-........
2169-**...**.
2170-.*...*..
2171-..*.*...
2172-..*.*...
2173-...*....
2174-..*.*...
2175-..*.*...
2176-.*...*..
2177-**...**.
2178-........
2179-........
2180-
2181-char 0x79
2182-........
2183-........
2184-........
2185-........
2186-........
2187-***..***
2188-.*....*.
2189-.*....*.
2190-..*..*..
2191-..*..*..
2192-..*..*..
2193-...**...
2194-...**...
2195-...*....
2196-...*....
2197-.**.....
2198-
2199-char 0x7a
2200-........
2201-........
2202-........
2203-........
2204-........
2205-*******.
2206-*.....*.
2207-*....*..
2208-....*...
2209-...*....
2210-..*.....
2211-.*....*.
2212-*.....*.
2213-*******.
2214-........
2215-........
2216-
2217-char 0x7b
2218-........
2219-.....**.
2220-....*...
2221-...*....
2222-...*....
2223-...*....
2224-...*....
2225-.**.....
2226-...*....
2227-...*....
2228-...*....
2229-...*....
2230-....*...
2231-.....**.
2232-........
2233-........
2234-
2235-char 0x7c
2236-...*....
2237-...*....
2238-...*....
2239-...*....
2240-...*....
2241-...*....
2242-...*....
2243-...*....
2244-...*....
2245-...*....
2246-...*....
2247-...*....
2248-...*....
2249-...*....
2250-...*....
2251-...*....
2252-
2253-char 0x7d
2254-........
2255-.**.....
2256-...*....
2257-....*...
2258-....*...
2259-....*...
2260-....*...
2261-.....**.
2262-....*...
2263-....*...
2264-....*...
2265-....*...
2266-...*....
2267-.**.....
2268-........
2269-........
2270-
2271-char 0x7e
2272-........
2273-.***..*.
2274-*...**..
2275-........
2276-........
2277-........
2278-........
2279-........
2280-........
2281-........
2282-........
2283-........
2284-........
2285-........
2286-........
2287-........
2288-
2289-char 0x7f
2290-........
2291-........
2292-........
2293-........
2294-...*....
2295-..*.*...
2296-.*...*..
2297-*.....*.
2298-*******.
2299-*.....*.
2300-*******.
2301-........
2302-........
2303-........
2304-........
2305-........
2306-
2307-char 0x80
2308-........
2309-..***...
2310-.*...*..
2311-*.....*.
2312-*.......
2313-*.......
2314-*.......
2315-*.......
2316-*.......
2317-*.......
2318-*.......
2319-*.....*.
2320-.*...*..
2321-..***...
2322-...*....
2323-..*.....
2324-
2325-char 0x81
2326-........
2327-........
2328-..*..*..
2329-..*..*..
2330-........
2331-*.....*.
2332-*.....*.
2333-*.....*.
2334-*.....*.
2335-*.....*.
2336-*.....*.
2337-*.....*.
2338-.*....*.
2339-..*****.
2340-........
2341-........
2342-
2343-char 0x82
2344-....**..
2345-....*...
2346-...*....
2347-........
2348-........
2349-..***...
2350-.*...*..
2351-*.....*.
2352-*.....*.
2353-*******.
2354-*.......
2355-*.....*.
2356-.*...*..
2357-..***...
2358-........
2359-........
2360-
2361-char 0x83
2362-........
2363-...*....
2364-..*.*...
2365-.*...*..
2366-........
2367-.****...
2368-.....*..
2369-.....*..
2370-..****..
2371-.*...*..
2372-*....*..
2373-*....*..
2374-.*...*..
2375-..*****.
2376-........
2377-........
2378-
2379-char 0x84
2380-........
2381-........
2382-..*..*..
2383-..*..*..
2384-........
2385-.****...
2386-.....*..
2387-.....*..
2388-..****..
2389-.*...*..
2390-*....*..
2391-*....*..
2392-.*...*..
2393-..*****.
2394-........
2395-........
2396-
2397-char 0x85
2398-...*....
2399-....*...
2400-.....*..
2401-........
2402-........
2403-.****...
2404-.....*..
2405-.....*..
2406-..****..
2407-.*...*..
2408-*....*..
2409-*....*..
2410-.*...*..
2411-..*****.
2412-........
2413-........
2414-
2415-char 0x86
2416-........
2417-...**...
2418-..*..*..
2419-...**...
2420-........
2421-.****...
2422-.....*..
2423-.....*..
2424-..****..
2425-.*...*..
2426-*....*..
2427-*....*..
2428-.*...*..
2429-..*****.
2430-........
2431-........
2432-
2433-char 0x87
2434-........
2435-........
2436-........
2437-........
2438-........
2439-..****..
2440-.*....*.
2441-*.......
2442-*.......
2443-*.......
2444-*.......
2445-*.......
2446-.*....*.
2447-..****..
2448-....*...
2449-...*....
2450-
2451-char 0x88
2452-........
2453-...*....
2454-..*.*...
2455-.*...*..
2456-........
2457-..***...
2458-.*...*..
2459-*.....*.
2460-*.....*.
2461-*******.
2462-*.......
2463-*.....*.
2464-.*...*..
2465-..***...
2466-........
2467-........
2468-
2469-char 0x89
2470-........
2471-........
2472-..*..*..
2473-..*..*..
2474-........
2475-..***...
2476-.*...*..
2477-*.....*.
2478-*.....*.
2479-*******.
2480-*.......
2481-*.....*.
2482-.*...*..
2483-..***...
2484-........
2485-........
2486-
2487-char 0x8a
2488-...*....
2489-....*...
2490-.....*..
2491-........
2492-........
2493-..***...
2494-.*...*..
2495-*.....*.
2496-*.....*.
2497-*******.
2498-*.......
2499-*.....*.
2500-.*...*..
2501-..***...
2502-........
2503-........
2504-
2505-char 0x8b
2506-........
2507-........
2508-..*..*..
2509-..*..*..
2510-........
2511-...*....
2512-...*....
2513-...*....
2514-...*....
2515-...*....
2516-...*....
2517-...*....
2518-...*....
2519-...*....
2520-........
2521-........
2522-
2523-char 0x8c
2524-........
2525-...*....
2526-..*.*...
2527-.*...*..
2528-........
2529-...*....
2530-...*....
2531-...*....
2532-...*....
2533-...*....
2534-...*....
2535-...*....
2536-...*....
2537-...*....
2538-........
2539-........
2540-
2541-char 0x8d
2542-...*....
2543-....*...
2544-.....*..
2545-........
2546-........
2547-...*....
2548-...*....
2549-...*....
2550-...*....
2551-...*....
2552-...*....
2553-...*....
2554-...*....
2555-...*....
2556-........
2557-........
2558-
2559-char 0x8e
2560-..*..*..
2561-..*..*..
2562-........
2563-..***...
2564-.*...*..
2565-*.....*.
2566-*.....*.
2567-*.....*.
2568-*.....*.
2569-*******.
2570-*.....*.
2571-*.....*.
2572-*.....*.
2573-*.....*.
2574-........
2575-........
2576-
2577-char 0x8f
2578-........
2579-..***...
2580-.*...*..
2581-..***...
2582-.*...*..
2583-*.....*.
2584-*.....*.
2585-*.....*.
2586-*.....*.
2587-*******.
2588-*.....*.
2589-*.....*.
2590-*.....*.
2591-*.....*.
2592-........
2593-........
2594-
2595-char 0x90
2596-....**..
2597-....*...
2598-...*....
2599-*******.
2600-*.......
2601-*.......
2602-*.......
2603-*.......
2604-*****...
2605-*.......
2606-*.......
2607-*.......
2608-*.......
2609-*******.
2610-........
2611-........
2612-
2613-char 0x91
2614-........
2615-........
2616-........
2617-........
2618-........
2619-.**.....
2620-...***..
2621-...*..*.
2622-.***..*.
2623-*..****.
2624-*..*....
2625-*..*....
2626-*..*..*.
2627-.**.**..
2628-........
2629-........
2630-
2631-char 0x92
2632-....**..
2633-...*....
2634-..*.....
2635-..*.*...
2636-..*.*...
2637-..*.*...
2638-*******.
2639-..*.*...
2640-..*.*...
2641-..*.*...
2642-..*.*...
2643-..*.*...
2644-..*.*...
2645-..*.*...
2646-........
2647-........
2648-
2649-char 0x93
2650-........
2651-...*....
2652-..*.*...
2653-.*...*..
2654-........
2655-..***...
2656-.*...*..
2657-*.....*.
2658-*.....*.
2659-*.....*.
2660-*.....*.
2661-*.....*.
2662-.*...*..
2663-..***...
2664-........
2665-........
2666-
2667-char 0x94
2668-........
2669-........
2670-..*..*..
2671-..*..*..
2672-........
2673-..***...
2674-.*...*..
2675-*.....*.
2676-*.....*.
2677-*.....*.
2678-*.....*.
2679-*.....*.
2680-.*...*..
2681-..***...
2682-........
2683-........
2684-
2685-char 0x95
2686-...*....
2687-....*...
2688-.....*..
2689-........
2690-........
2691-..***...
2692-.*...*..
2693-*.....*.
2694-*.....*.
2695-*.....*.
2696-*.....*.
2697-*.....*.
2698-.*...*..
2699-..***...
2700-........
2701-........
2702-
2703-char 0x96
2704-........
2705-...*....
2706-..*.*...
2707-.*...*..
2708-........
2709-*.....*.
2710-*.....*.
2711-*.....*.
2712-*.....*.
2713-*.....*.
2714-*.....*.
2715-*.....*.
2716-.*....*.
2717-..*****.
2718-........
2719-........
2720-
2721-char 0x97
2722-...*....
2723-....*...
2724-.....*..
2725-........
2726-........
2727-*.....*.
2728-*.....*.
2729-*.....*.
2730-*.....*.
2731-*.....*.
2732-*.....*.
2733-*.....*.
2734-.*....*.
2735-..*****.
2736-........
2737-........
2738-
2739-char 0x98
2740-........
2741-........
2742-..*..*..
2743-..*..*..
2744-........
2745-*.....*.
2746-*.....*.
2747-.*...*..
2748-.*...*..
2749-..*.*...
2750-..*.*...
2751-...*....
2752-...*....
2753-..*.....
2754-..*.....
2755-.*......
2756-
2757-char 0x99
2758-..*..*..
2759-..*..*..
2760-........
2761-..***...
2762-.*...*..
2763-*.....*.
2764-*.....*.
2765-*.....*.
2766-*.....*.
2767-*.....*.
2768-*.....*.
2769-*.....*.
2770-.*...*..
2771-..***...
2772-........
2773-........
2774-
2775-char 0x9a
2776-..*..*..
2777-..*..*..
2778-........
2779-*.....*.
2780-*.....*.
2781-*.....*.
2782-*.....*.
2783-*.....*.
2784-*.....*.
2785-*.....*.
2786-*.....*.
2787-*.....*.
2788-.*...*..
2789-..***...
2790-........
2791-........
2792-
2793-char 0x9b
2794-........
2795-..*.*...
2796-..*.*...
2797-..*.*...
2798-..****..
2799-.**.*.*.
2800-*.*.*...
2801-*.*.*...
2802-*.*.*...
2803-*.*.*...
2804-*.*.*...
2805-.**.*.*.
2806-..****..
2807-..*.*...
2808-..*.*...
2809-..*.*...
2810-
2811-char 0x9c
2812-........
2813-....**..
2814-...*..*.
2815-..*.....
2816-..*.....
2817-..*.....
2818-******..
2819-..*.....
2820-..*.....
2821-..*.....
2822-.**.....
2823-*.*.....
2824-*.**..*.
2825-.*..**..
2826-........
2827-........
2828-
2829-char 0x9d
2830-........
2831-*.....*.
2832-*.....*.
2833-.*...*..
2834-..*.*...
2835-...*....
2836-*******.
2837-...*....
2838-...*....
2839-*******.
2840-...*....
2841-...*....
2842-...*....
2843-...*....
2844-........
2845-........
2846-
2847-char 0x9e
2848-........
2849-***.....
2850-*..*....
2851-*...*...
2852-*...*...
2853-*...*...
2854-*..*.*..
2855-***..*..
2856-*..*****
2857-*....*..
2858-*....*..
2859-*....*..
2860-*....*..
2861-*....*..
2862-........
2863-........
2864-
2865-char 0x9f
2866-........
2867-....**..
2868-...*..*.
2869-...*....
2870-...*....
2871-...*....
2872-*******.
2873-...*....
2874-...*....
2875-...*....
2876-...*....
2877-...*....
2878-*..*....
2879-.**.....
2880-........
2881-........
2882-
2883-char 0xa0
2884-....**..
2885-....*...
2886-...*....
2887-........
2888-........
2889-.****...
2890-.....*..
2891-.....*..
2892-..****..
2893-.*...*..
2894-*....*..
2895-*....*..
2896-.*...*..
2897-..*****.
2898-........
2899-........
2900-
2901-char 0xa1
2902-....**..
2903-....*...
2904-...*....
2905-........
2906-........
2907-...*....
2908-...*....
2909-...*....
2910-...*....
2911-...*....
2912-...*....
2913-...*....
2914-...*....
2915-...*....
2916-........
2917-........
2918-
2919-char 0xa2
2920-....**..
2921-....*...
2922-...*....
2923-........
2924-........
2925-..***...
2926-.*...*..
2927-*.....*.
2928-*.....*.
2929-*.....*.
2930-*.....*.
2931-*.....*.
2932-.*...*..
2933-..***...
2934-........
2935-........
2936-
2937-char 0xa3
2938-....**..
2939-....*...
2940-...*....
2941-........
2942-........
2943-*.....*.
2944-*.....*.
2945-*.....*.
2946-*.....*.
2947-*.....*.
2948-*.....*.
2949-*.....*.
2950-.*....*.
2951-..*****.
2952-........
2953-........
2954-
2955-char 0xa4
2956-........
2957-...*..*.
2958-..*.*.*.
2959-..*..*..
2960-........
2961-*****...
2962-*....*..
2963-*.....*.
2964-*.....*.
2965-*.....*.
2966-*.....*.
2967-*.....*.
2968-*.....*.
2969-*.....*.
2970-........
2971-........
2972-
2973-char 0xa5
2974-...*..*.
2975-..*.*.*.
2976-..*..*..
2977-........
2978-*.....*.
2979-**....*.
2980-**....*.
2981-*.*...*.
2982-*..*..*.
2983-*..*..*.
2984-*...*.*.
2985-*....**.
2986-*....**.
2987-*.....*.
2988-........
2989-........
2990-
2991-char 0xa6
2992-........
2993-........
2994-........
2995-.****...
2996-.....*..
2997-.....*..
2998-..****..
2999-.*...*..
3000-*....*..
3001-*....*..
3002-.*...*..
3003-..*****.
3004-........
3005-*******.
3006-........
3007-........
3008-
3009-char 0xa7
3010-........
3011-........
3012-........
3013-..***...
3014-.*...*..
3015-*.....*.
3016-*.....*.
3017-*.....*.
3018-*.....*.
3019-*.....*.
3020-.*...*..
3021-..***...
3022-........
3023-*******.
3024-........
3025-........
3026-
3027-char 0xa8
3028-........
3029-...*....
3030-...*....
3031-........
3032-........
3033-...*....
3034-...*....
3035-..*.....
3036-.*...*..
3037-*.....*.
3038-*.....*.
3039-*.....*.
3040-.*...*..
3041-..***...
3042-........
3043-........
3044-
3045-char 0xa9
3046-........
3047-........
3048-........
3049-........
3050-........
3051-........
3052-........
3053-........
3054-........
3055-........
3056-*******.
3057-*.......
3058-*.......
3059-*.......
3060-........
3061-........
3062-
3063-char 0xaa
3064-........
3065-........
3066-........
3067-........
3068-........
3069-........
3070-........
3071-........
3072-........
3073-........
3074-*******.
3075-......*.
3076-......*.
3077-......*.
3078-........
3079-........
3080-
3081-char 0xab
3082-........
3083-...*....
3084-..**....
3085-...*....
3086-...*....
3087-...*....
3088-........
3089-*******.
3090-........
3091-.****...
3092-.....*..
3093-..***...
3094-.*......
3095-.*****..
3096-........
3097-........
3098-
3099-char 0xac
3100-........
3101-...*....
3102-..**....
3103-...*....
3104-...*....
3105-...*....
3106-........
3107-*******.
3108-........
3109-...**...
3110-..*.*...
3111-.*..*...
3112-.*****..
3113-....*...
3114-........
3115-........
3116-
3117-char 0xad
3118-........
3119-...*....
3120-...*....
3121-........
3122-........
3123-...*....
3124-...*....
3125-...*....
3126-...*....
3127-...*....
3128-...*....
3129-...*....
3130-...*....
3131-...*....
3132-........
3133-........
3134-
3135-char 0xae
3136-........
3137-........
3138-........
3139-........
3140-...*..*.
3141-..*..*..
3142-.*..*...
3143-*..*....
3144-*..*....
3145-.*..*...
3146-..*..*..
3147-...*..*.
3148-........
3149-........
3150-........
3151-........
3152-
3153-char 0xaf
3154-........
3155-........
3156-........
3157-........
3158-*..*....
3159-.*..*...
3160-..*..*..
3161-...*..*.
3162-...*..*.
3163-..*..*..
3164-.*..*...
3165-*..*....
3166-........
3167-........
3168-........
3169-........
3170-
3171-char 0xb0
3172-...*...*
3173-.*...*..
3174-...*...*
3175-.*...*..
3176-...*...*
3177-.*...*..
3178-...*...*
3179-.*...*..
3180-...*...*
3181-.*...*..
3182-...*...*
3183-.*...*..
3184-...*...*
3185-.*...*..
3186-...*...*
3187-.*...*..
3188-
3189-char 0xb1
3190-.*.*.*.*
3191-*.*.*.*.
3192-.*.*.*.*
3193-*.*.*.*.
3194-.*.*.*.*
3195-*.*.*.*.
3196-.*.*.*.*
3197-*.*.*.*.
3198-.*.*.*.*
3199-*.*.*.*.
3200-.*.*.*.*
3201-*.*.*.*.
3202-.*.*.*.*
3203-*.*.*.*.
3204-.*.*.*.*
3205-*.*.*.*.
3206-
3207-char 0xb2
3208-.***.***
3209-**.***.*
3210-.***.***
3211-**.***.*
3212-.***.***
3213-**.***.*
3214-.***.***
3215-**.***.*
3216-.***.***
3217-**.***.*
3218-.***.***
3219-**.***.*
3220-.***.***
3221-**.***.*
3222-.***.***
3223-**.***.*
3224-
3225-char 0xb3
3226-...*....
3227-...*....
3228-...*....
3229-...*....
3230-...*....
3231-...*....
3232-...*....
3233-...*....
3234-...*....
3235-...*....
3236-...*....
3237-...*....
3238-...*....
3239-...*....
3240-...*....
3241-...*....
3242-
3243-char 0xb4
3244-...*....
3245-...*....
3246-...*....
3247-...*....
3248-...*....
3249-...*....
3250-...*....
3251-****....
3252-...*....
3253-...*....
3254-...*....
3255-...*....
3256-...*....
3257-...*....
3258-...*....
3259-...*....
3260-
3261-char 0xb5
3262-...*....
3263-...*....
3264-...*....
3265-...*....
3266-...*....
3267-...*....
3268-...*....
3269-****....
3270-...*....
3271-****....
3272-...*....
3273-...*....
3274-...*....
3275-...*....
3276-...*....
3277-...*....
3278-
3279-char 0xb6
3280-...*.*..
3281-...*.*..
3282-...*.*..
3283-...*.*..
3284-...*.*..
3285-...*.*..
3286-...*.*..
3287-****.*..
3288-...*.*..
3289-...*.*..
3290-...*.*..
3291-...*.*..
3292-...*.*..
3293-...*.*..
3294-...*.*..
3295-...*.*..
3296-
3297-char 0xb7
3298-........
3299-........
3300-........
3301-........
3302-........
3303-........
3304-........
3305-******..
3306-...*.*..
3307-...*.*..
3308-...*.*..
3309-...*.*..
3310-...*.*..
3311-...*.*..
3312-...*.*..
3313-...*.*..
3314-
3315-char 0xb8
3316-........
3317-........
3318-........
3319-........
3320-........
3321-........
3322-........
3323-****....
3324-...*....
3325-****....
3326-...*....
3327-...*....
3328-...*....
3329-...*....
3330-...*....
3331-...*....
3332-
3333-char 0xb9
3334-...*.*..
3335-...*.*..
3336-...*.*..
3337-...*.*..
3338-...*.*..
3339-...*.*..
3340-...*.*..
3341-****.*..
3342-.....*..
3343-****.*..
3344-...*.*..
3345-...*.*..
3346-...*.*..
3347-...*.*..
3348-...*.*..
3349-...*.*..
3350-
3351-char 0xba
3352-...*.*..
3353-...*.*..
3354-...*.*..
3355-...*.*..
3356-...*.*..
3357-...*.*..
3358-...*.*..
3359-...*.*..
3360-...*.*..
3361-...*.*..
3362-...*.*..
3363-...*.*..
3364-...*.*..
3365-...*.*..
3366-...*.*..
3367-...*.*..
3368-
3369-char 0xbb
3370-........
3371-........
3372-........
3373-........
3374-........
3375-........
3376-........
3377-******..
3378-.....*..
3379-****.*..
3380-...*.*..
3381-...*.*..
3382-...*.*..
3383-...*.*..
3384-...*.*..
3385-...*.*..
3386-
3387-char 0xbc
3388-...*.*..
3389-...*.*..
3390-...*.*..
3391-...*.*..
3392-...*.*..
3393-...*.*..
3394-...*.*..
3395-****.*..
3396-.....*..
3397-******..
3398-........
3399-........
3400-........
3401-........
3402-........
3403-........
3404-
3405-char 0xbd
3406-...*.*..
3407-...*.*..
3408-...*.*..
3409-...*.*..
3410-...*.*..
3411-...*.*..
3412-...*.*..
3413-******..
3414-........
3415-........
3416-........
3417-........
3418-........
3419-........
3420-........
3421-........
3422-
3423-char 0xbe
3424-...*....
3425-...*....
3426-...*....
3427-...*....
3428-...*....
3429-...*....
3430-...*....
3431-****....
3432-...*....
3433-****....
3434-........
3435-........
3436-........
3437-........
3438-........
3439-........
3440-
3441-char 0xbf
3442-........
3443-........
3444-........
3445-........
3446-........
3447-........
3448-........
3449-****....
3450-...*....
3451-...*....
3452-...*....
3453-...*....
3454-...*....
3455-...*....
3456-...*....
3457-...*....
3458-
3459-char 0xc0
3460-...*....
3461-...*....
3462-...*....
3463-...*....
3464-...*....
3465-...*....
3466-...*....
3467-...*****
3468-........
3469-........
3470-........
3471-........
3472-........
3473-........
3474-........
3475-........
3476-
3477-char 0xc1
3478-...*....
3479-...*....
3480-...*....
3481-...*....
3482-...*....
3483-...*....
3484-...*....
3485-********
3486-........
3487-........
3488-........
3489-........
3490-........
3491-........
3492-........
3493-........
3494-
3495-char 0xc2
3496-........
3497-........
3498-........
3499-........
3500-........
3501-........
3502-........
3503-********
3504-...*....
3505-...*....
3506-...*....
3507-...*....
3508-...*....
3509-...*....
3510-...*....
3511-...*....
3512-
3513-char 0xc3
3514-...*....
3515-...*....
3516-...*....
3517-...*....
3518-...*....
3519-...*....
3520-...*....
3521-...*****
3522-...*....
3523-...*....
3524-...*....
3525-...*....
3526-...*....
3527-...*....
3528-...*....
3529-...*....
3530-
3531-char 0xc4
3532-........
3533-........
3534-........
3535-........
3536-........
3537-........
3538-........
3539-********
3540-........
3541-........
3542-........
3543-........
3544-........
3545-........
3546-........
3547-........
3548-
3549-char 0xc5
3550-...*....
3551-...*....
3552-...*....
3553-...*....
3554-...*....
3555-...*....
3556-...*....
3557-********
3558-...*....
3559-...*....
3560-...*....
3561-...*....
3562-...*....
3563-...*....
3564-...*....
3565-...*....
3566-
3567-char 0xc6
3568-...*....
3569-...*....
3570-...*....
3571-...*....
3572-...*....
3573-...*....
3574-...*....
3575-...*****
3576-...*....
3577-...*****
3578-...*....
3579-...*....
3580-...*....
3581-...*....
3582-...*....
3583-...*....
3584-
3585-char 0xc7
3586-...*.*..
3587-...*.*..
3588-...*.*..
3589-...*.*..
3590-...*.*..
3591-...*.*..
3592-...*.*..
3593-...*.***
3594-...*.*..
3595-...*.*..
3596-...*.*..
3597-...*.*..
3598-...*.*..
3599-...*.*..
3600-...*.*..
3601-...*.*..
3602-
3603-char 0xc8
3604-...*.*..
3605-...*.*..
3606-...*.*..
3607-...*.*..
3608-...*.*..
3609-...*.*..
3610-...*.*..
3611-...*.***
3612-...*....
3613-...*****
3614-........
3615-........
3616-........
3617-........
3618-........
3619-........
3620-
3621-char 0xc9
3622-........
3623-........
3624-........
3625-........
3626-........
3627-........
3628-........
3629-...*****
3630-...*....
3631-...*.***
3632-...*.*..
3633-...*.*..
3634-...*.*..
3635-...*.*..
3636-...*.*..
3637-...*.*..
3638-
3639-char 0xca
3640-...*.*..
3641-...*.*..
3642-...*.*..
3643-...*.*..
3644-...*.*..
3645-...*.*..
3646-...*.*..
3647-****.***
3648-........
3649-********
3650-........
3651-........
3652-........
3653-........
3654-........
3655-........
3656-
3657-char 0xcb
3658-........
3659-........
3660-........
3661-........
3662-........
3663-........
3664-........
3665-********
3666-........
3667-****.***
3668-...*.*..
3669-...*.*..
3670-...*.*..
3671-...*.*..
3672-...*.*..
3673-...*.*..
3674-
3675-char 0xcc
3676-...*.*..
3677-...*.*..
3678-...*.*..
3679-...*.*..
3680-...*.*..
3681-...*.*..
3682-...*.*..
3683-...*.***
3684-...*....
3685-...*.***
3686-...*.*..
3687-...*.*..
3688-...*.*..
3689-...*.*..
3690-...*.*..
3691-...*.*..
3692-
3693-char 0xcd
3694-........
3695-........
3696-........
3697-........
3698-........
3699-........
3700-........
3701-********
3702-........
3703-********
3704-........
3705-........
3706-........
3707-........
3708-........
3709-........
3710-
3711-char 0xce
3712-...*.*..
3713-...*.*..
3714-...*.*..
3715-...*.*..
3716-...*.*..
3717-...*.*..
3718-...*.*..
3719-****.***
3720-........
3721-****.***
3722-...*.*..
3723-...*.*..
3724-...*.*..
3725-...*.*..
3726-...*.*..
3727-...*.*..
3728-
3729-char 0xcf
3730-...*....
3731-...*....
3732-...*....
3733-...*....
3734-...*....
3735-...*....
3736-...*....
3737-********
3738-........
3739-********
3740-........
3741-........
3742-........
3743-........
3744-........
3745-........
3746-
3747-char 0xd0
3748-...*.*..
3749-...*.*..
3750-...*.*..
3751-...*.*..
3752-...*.*..
3753-...*.*..
3754-...*.*..
3755-********
3756-........
3757-........
3758-........
3759-........
3760-........
3761-........
3762-........
3763-........
3764-
3765-char 0xd1
3766-........
3767-........
3768-........
3769-........
3770-........
3771-........
3772-........
3773-********
3774-........
3775-********
3776-...*....
3777-...*....
3778-...*....
3779-...*....
3780-...*....
3781-...*....
3782-
3783-char 0xd2
3784-........
3785-........
3786-........
3787-........
3788-........
3789-........
3790-........
3791-********
3792-...*.*..
3793-...*.*..
3794-...*.*..
3795-...*.*..
3796-...*.*..
3797-...*.*..
3798-...*.*..
3799-...*.*..
3800-
3801-char 0xd3
3802-...*.*..
3803-...*.*..
3804-...*.*..
3805-...*.*..
3806-...*.*..
3807-...*.*..
3808-...*.*..
3809-...*****
3810-........
3811-........
3812-........
3813-........
3814-........
3815-........
3816-........
3817-........
3818-
3819-char 0xd4
3820-...*....
3821-...*....
3822-...*....
3823-...*....
3824-...*....
3825-...*....
3826-...*....
3827-...*****
3828-...*....
3829-...*****
3830-........
3831-........
3832-........
3833-........
3834-........
3835-........
3836-
3837-char 0xd5
3838-........
3839-........
3840-........
3841-........
3842-........
3843-........
3844-........
3845-...*****
3846-...*....
3847-...*****
3848-...*....
3849-...*....
3850-...*....
3851-...*....
3852-...*....
3853-...*....
3854-
3855-char 0xd6
3856-........
3857-........
3858-........
3859-........
3860-........
3861-........
3862-........
3863-...*****
3864-...*.*..
3865-...*.*..
3866-...*.*..
3867-...*.*..
3868-...*.*..
3869-...*.*..
3870-...*.*..
3871-...*.*..
3872-
3873-char 0xd7
3874-...*.*..
3875-...*.*..
3876-...*.*..
3877-...*.*..
3878-...*.*..
3879-...*.*..
3880-...*.*..
3881-****.***
3882-...*.*..
3883-...*.*..
3884-...*.*..
3885-...*.*..
3886-...*.*..
3887-...*.*..
3888-...*.*..
3889-...*.*..
3890-
3891-char 0xd8
3892-...*....
3893-...*....
3894-...*....
3895-...*....
3896-...*....
3897-...*....
3898-...*....
3899-********
3900-...*....
3901-********
3902-...*....
3903-...*....
3904-...*....
3905-...*....
3906-...*....
3907-...*....
3908-
3909-char 0xd9
3910-...*....
3911-...*....
3912-...*....
3913-...*....
3914-...*....
3915-...*....
3916-...*....
3917-****....
3918-........
3919-........
3920-........
3921-........
3922-........
3923-........
3924-........
3925-........
3926-
3927-char 0xda
3928-........
3929-........
3930-........
3931-........
3932-........
3933-........
3934-........
3935-...*****
3936-...*....
3937-...*....
3938-...*....
3939-...*....
3940-...*....
3941-...*....
3942-...*....
3943-...*....
3944-
3945-char 0xdb
3946-********
3947-********
3948-********
3949-********
3950-********
3951-********
3952-********
3953-********
3954-********
3955-********
3956-********
3957-********
3958-********
3959-********
3960-********
3961-********
3962-
3963-char 0xdc
3964-........
3965-........
3966-........
3967-........
3968-........
3969-........
3970-........
3971-........
3972-********
3973-********
3974-********
3975-********
3976-********
3977-********
3978-********
3979-********
3980-
3981-char 0xdd
3982-****....
3983-****....
3984-****....
3985-****....
3986-****....
3987-****....
3988-****....
3989-****....
3990-****....
3991-****....
3992-****....
3993-****....
3994-****....
3995-****....
3996-****....
3997-****....
3998-
3999-char 0xde
4000-....****
4001-....****
4002-....****
4003-....****
4004-....****
4005-....****
4006-....****
4007-....****
4008-....****
4009-....****
4010-....****
4011-....****
4012-....****
4013-....****
4014-....****
4015-....****
4016-
4017-char 0xdf
4018-********
4019-********
4020-********
4021-********
4022-********
4023-********
4024-********
4025-********
4026-........
4027-........
4028-........
4029-........
4030-........
4031-........
4032-........
4033-........
4034-
4035-char 0xe0
4036-........
4037-........
4038-........
4039-........
4040-........
4041-........
4042-........
4043-........
4044-........
4045-........
4046-........
4047-........
4048-........
4049-........
4050-........
4051-........
4052-
4053-char 0xe1
4054-........
4055-........
4056-........
4057-........
4058-........
4059-........
4060-........
4061-........
4062-........
4063-........
4064-........
4065-........
4066-........
4067-........
4068-........
4069-........
4070-
4071-char 0xe2
4072-........
4073-........
4074-........
4075-........
4076-........
4077-........
4078-........
4079-........
4080-........
4081-........
4082-........
4083-........
4084-........
4085-........
4086-........
4087-........
4088-
4089-char 0xe3
4090-........
4091-........
4092-........
4093-........
4094-........
4095-........
4096-........
4097-........
4098-........
4099-........
4100-........
4101-........
4102-........
4103-........
4104-........
4105-........
4106-
4107-char 0xe4
4108-........
4109-........
4110-........
4111-........
4112-........
4113-........
4114-........
4115-........
4116-........
4117-........
4118-........
4119-........
4120-........
4121-........
4122-........
4123-........
4124-
4125-char 0xe5
4126-........
4127-........
4128-........
4129-........
4130-........
4131-........
4132-........
4133-........
4134-........
4135-........
4136-........
4137-........
4138-........
4139-........
4140-........
4141-........
4142-
4143-char 0xe6
4144-........
4145-........
4146-........
4147-........
4148-........
4149-........
4150-........
4151-........
4152-........
4153-........
4154-........
4155-........
4156-........
4157-........
4158-........
4159-........
4160-
4161-char 0xe7
4162-........
4163-........
4164-........
4165-........
4166-........
4167-........
4168-........
4169-........
4170-........
4171-........
4172-........
4173-........
4174-........
4175-........
4176-........
4177-........
4178-
4179-char 0xe8
4180-........
4181-........
4182-........
4183-........
4184-........
4185-........
4186-........
4187-........
4188-........
4189-........
4190-........
4191-........
4192-........
4193-........
4194-........
4195-........
4196-
4197-char 0xe9
4198-........
4199-........
4200-........
4201-........
4202-........
4203-........
4204-........
4205-........
4206-........
4207-........
4208-........
4209-........
4210-........
4211-........
4212-........
4213-........
4214-
4215-char 0xea
4216-........
4217-........
4218-........
4219-........
4220-........
4221-........
4222-........
4223-........
4224-........
4225-........
4226-........
4227-........
4228-........
4229-........
4230-........
4231-........
4232-
4233-char 0xeb
4234-........
4235-........
4236-........
4237-........
4238-........
4239-........
4240-........
4241-........
4242-........
4243-........
4244-........
4245-........
4246-........
4247-........
4248-........
4249-........
4250-
4251-char 0xec
4252-........
4253-........
4254-........
4255-........
4256-........
4257-........
4258-........
4259-........
4260-........
4261-........
4262-........
4263-........
4264-........
4265-........
4266-........
4267-........
4268-
4269-char 0xed
4270-........
4271-........
4272-........
4273-........
4274-........
4275-........
4276-........
4277-........
4278-........
4279-........
4280-........
4281-........
4282-........
4283-........
4284-........
4285-........
4286-
4287-char 0xee
4288-........
4289-........
4290-........
4291-........
4292-........
4293-........
4294-........
4295-........
4296-........
4297-........
4298-........
4299-........
4300-........
4301-........
4302-........
4303-........
4304-
4305-char 0xef
4306-........
4307-........
4308-........
4309-........
4310-........
4311-........
4312-........
4313-........
4314-........
4315-........
4316-........
4317-........
4318-........
4319-........
4320-........
4321-........
4322-
4323-char 0xf0
4324-........
4325-........
4326-........
4327-........
4328-........
4329-........
4330-........
4331-........
4332-........
4333-........
4334-........
4335-........
4336-........
4337-........
4338-........
4339-........
4340-
4341-char 0xf1
4342-........
4343-........
4344-........
4345-........
4346-........
4347-........
4348-........
4349-........
4350-........
4351-........
4352-........
4353-........
4354-........
4355-........
4356-........
4357-........
4358-
4359-char 0xf2
4360-........
4361-........
4362-........
4363-........
4364-........
4365-........
4366-........
4367-........
4368-........
4369-........
4370-........
4371-........
4372-........
4373-........
4374-........
4375-........
4376-
4377-char 0xf3
4378-........
4379-........
4380-........
4381-........
4382-........
4383-........
4384-........
4385-........
4386-........
4387-........
4388-........
4389-........
4390-........
4391-........
4392-........
4393-........
4394-
4395-char 0xf4
4396-........
4397-........
4398-........
4399-........
4400-........
4401-........
4402-........
4403-........
4404-........
4405-........
4406-........
4407-........
4408-........
4409-........
4410-........
4411-........
4412-
4413-char 0xf5
4414-........
4415-........
4416-........
4417-........
4418-........
4419-........
4420-........
4421-........
4422-........
4423-........
4424-........
4425-........
4426-........
4427-........
4428-........
4429-........
4430-
4431-char 0xf6
4432-........
4433-........
4434-........
4435-........
4436-........
4437-........
4438-........
4439-........
4440-........
4441-........
4442-........
4443-........
4444-........
4445-........
4446-........
4447-........
4448-
4449-char 0xf7
4450-........
4451-........
4452-........
4453-........
4454-........
4455-........
4456-........
4457-........
4458-........
4459-........
4460-........
4461-........
4462-........
4463-........
4464-........
4465-........
4466-
4467-char 0xf8
4468-........
4469-........
4470-........
4471-........
4472-........
4473-........
4474-........
4475-........
4476-........
4477-........
4478-........
4479-........
4480-........
4481-........
4482-........
4483-........
4484-
4485-char 0xf9
4486-........
4487-........
4488-........
4489-........
4490-........
4491-........
4492-........
4493-........
4494-........
4495-........
4496-........
4497-........
4498-........
4499-........
4500-........
4501-........
4502-
4503-char 0xfa
4504-........
4505-........
4506-........
4507-........
4508-........
4509-........
4510-........
4511-........
4512-........
4513-........
4514-........
4515-........
4516-........
4517-........
4518-........
4519-........
4520-
4521-char 0xfb
4522-........
4523-........
4524-........
4525-........
4526-........
4527-........
4528-........
4529-........
4530-........
4531-........
4532-........
4533-........
4534-........
4535-........
4536-........
4537-........
4538-
4539-char 0xfc
4540-........
4541-........
4542-........
4543-........
4544-........
4545-........
4546-........
4547-........
4548-........
4549-........
4550-........
4551-........
4552-........
4553-........
4554-........
4555-........
4556-
4557-char 0xfd
4558-........
4559-........
4560-........
4561-........
4562-........
4563-........
4564-........
4565-........
4566-........
4567-........
4568-........
4569-........
4570-........
4571-........
4572-........
4573-........
4574-
4575-char 0xfe
4576-........
4577-........
4578-........
4579-........
4580-........
4581-........
4582-........
4583-........
4584-........
4585-........
4586-........
4587-........
4588-........
4589-........
4590-........
4591-........
4592-
4593-char 0xff
4594-........
4595-........
4596-........
4597-........
4598-........
4599-........
4600-........
4601-........
4602-........
4603-........
4604-........
4605-........
4606-........
4607-........
4608-........
4609-........
--- haribote/trunk/orbspace/orbspace/graphic.c (revision 205)
+++ haribote/trunk/orbspace/orbspace/graphic.c (nonexistent)
@@ -1,48 +0,0 @@
1-#include "main.h"
2-
3-void graphic_font(unsigned int *buf, unsigned int xsize, unsigned int x,
4- unsigned int y, unsigned int col, unsigned char c)
5-{
6- extern unsigned char engfont[4096];
7- unsigned int *p;
8- unsigned char *font = engfont + c * 16, d;
9- int i;
10-
11- for (i = 0; i < 16; i++) {
12- p = buf + (y + i) * xsize + x;
13- d = font[i];
14- p[0] = (d & 0x80) ? col : p[0];
15- p[1] = (d & 0x40) ? col : p[1];
16- p[2] = (d & 0x20) ? col : p[2];
17- p[3] = (d & 0x10) ? col : p[3];
18- p[4] = (d & 0x08) ? col : p[4];
19- p[5] = (d & 0x04) ? col : p[5];
20- p[6] = (d & 0x02) ? col : p[6];
21- p[7] = (d & 0x01) ? col : p[7];
22- }
23- return;
24-}
25-
26-void graphic_box(unsigned int *buf, unsigned int xsize, unsigned int x0,
27- unsigned int y0, unsigned int x1, unsigned int y1,
28- unsigned int c)
29-{
30- int x, y;
31-
32- for (y = y0; y <= y1; y++) {
33- for (x = x0; x <= x1; x++) {
34- buf[y * xsize + x] = c;
35- }
36- }
37- return;
38-}
39-
40-void graphic_puts(unsigned int *buf, unsigned int xsize, unsigned int x,
41- unsigned int y, unsigned int c, unsigned char *s)
42-{
43- for (; *s; s++) {
44- graphic_font(buf, xsize, x, y, c, *s);
45- x += 8;
46- }
47- return;
48-}
--- haribote/trunk/orbspace/orbspace/orbfs.h (revision 205)
+++ haribote/trunk/orbspace/orbspace/orbfs.h (nonexistent)
@@ -1,11 +0,0 @@
1-#include "io.h"
2-
3-struct entry {
4- unsigned int size;
5- unsigned char name[12], meta[496];
6-};
7-
8-void orbfs_init(void);
9-int orbfs_create(unsigned char *name, unsigned int size, unsigned char *fbuf);
10-int orbfs_meta_add(unsigned char *name, unsigned char *str);
11-int orbfs_ball_add(unsigned char *bname, unsigned char *name);
--- haribote/trunk/orbspace/orbspace/make.bat (revision 205)
+++ haribote/trunk/orbspace/orbspace/make.bat (nonexistent)
@@ -1 +0,0 @@
1-..\..\z_tools\make.exe %1 %2 %3 %4 %5 %6 %7 %8 %9
\ No newline at end of file
--- haribote/trunk/orbspace/orbspace/fifo.c (revision 205)
+++ haribote/trunk/orbspace/orbspace/fifo.c (nonexistent)
@@ -1,44 +0,0 @@
1-#include "main.h"
2-
3-void fifo_init(struct fifo *fifo, int *buf, unsigned int size)
4-{
5- fifo->buf = buf;
6- fifo->p = 0;
7- fifo->q = 0;
8- fifo->size = size;
9- fifo->free = size;
10- return;
11-}
12-
13-int fifo_push(struct fifo *fifo, int data)
14-{
15- if (!fifo->free) {
16- return -1;
17- }
18- fifo->buf[fifo->p++] = data;
19- if (fifo->p == fifo->size) {
20- fifo->p = 0;
21- }
22- fifo->free--;
23- return 0;
24-}
25-
26-int fifo_pop(struct fifo *fifo)
27-{
28- int data;
29-
30- if (fifo->free == fifo->size) {
31- return -1;
32- }
33- data = fifo->buf[fifo->q++];
34- if (fifo->q == fifo->size) {
35- fifo->q = 0;
36- }
37- fifo->free++;
38- return data;
39-}
40-
41-int fifo_stat(struct fifo *fifo)
42-{
43- return fifo->size - fifo->free;
44-}
--- haribote/trunk/orbspace/orbspace/main.c (revision 205)
+++ haribote/trunk/orbspace/orbspace/main.c (nonexistent)
@@ -1,71 +0,0 @@
1-#include "main.h"
2-#include <stdio.h>
3-
4-void OrbMain(void)
5-{
6- struct bootinfo *binfo = (struct bootinfo *) BOOTINFO_ADDR;
7- struct memory *memory = (struct memory *) MEMORY_ADDR;
8- struct fifo *sysfifo = (struct fifo *) SYSFIFO_ADDR;
9- int fifobuf[64], i;
10- unsigned char s[32];
11- struct timer *timer, *timer2;
12-
13- memory_init(memory, 0x00200000, 0xbfffffff);
14- memory_free(memory, 0x00001000, 0x00006c00);
15- memory_free(memory, 0x00200000, memory->total - 0x00200000);
16- fifo_init(sysfifo, fifobuf, 64);
17-
18- idt_init();
19- sti();
20- pit_init();
21-
22- timer = timer_alloc();
23- timer_set(timer, sysfifo, 1, 50);
24- timer2 = timer_alloc();
25- timer_set(timer2, sysfifo, 3, 300);
26-
27- for (i = 0; i < 1024 * 768; i++) {
28- binfo->vram[i] = 0;
29- }
30- sprintf(s, "%7d / %7d KB", memory_stat(memory) / 1024,
31- memory->total / 1024);
32- graphic_puts(binfo->vram, 1024, 0, 16, 0xffffff, s);
33-
34- outb(PIC0_IMR, 0xf8);
35- outb(PIC1_IMR, 0xff);
36-
37- for(;;) {
38- cli();
39- if (!fifo_stat(sysfifo)) {
40- stihlt();
41- } else {
42- i = fifo_pop(sysfifo);
43- sti();
44-
45- if (256 <= i && i <= 511) {
46- i -= 256;
47- sprintf(s, "%02X", i);
48- graphic_box(binfo->vram, 1024, 0, 0, 15, 15, 0);
49- graphic_puts(binfo->vram, 1024, 0, 0,
50- 0xffffff, s);
51- } else if (i == 1) {
52- graphic_box(binfo->vram, 1024, 0, 32, 7, 47,
53- 0xffffff);
54- timer_set(timer, sysfifo, 2, 50);
55- } else if (i == 2) {
56- graphic_box(binfo->vram, 1024, 0, 32, 7, 47,
57- 0x000000);
58- timer_set(timer, sysfifo, 1, 50);
59- } else if (i == 3) {
60- graphic_puts(binfo->vram, 1024, 0, 32,
61- 0xffffff, " 3 sec");
62- timer_set(timer2, sysfifo, 10, 700);
63- } else if (i == 10) {
64- graphic_box(binfo->vram, 1024, 0, 32, 55, 47,
65- 0x000000);
66- graphic_puts(binfo->vram, 1024, 0, 32,
67- 0xffffff, " 10 sec");
68- }
69- }
70- }
71-}
--- haribote/trunk/orbspace/orbspace/memory.c (revision 205)
+++ haribote/trunk/orbspace/orbspace/memory.c (nonexistent)
@@ -1,91 +0,0 @@
1-#include "main.h"
2-
3-#define EFLAGS_AC 0x00040000
4-#define CR0_CDISABLE 0x60000000
5-
6-void memory_init(struct memory *mem, unsigned int start, unsigned int end)
7-{
8- char is486 = 0;
9-
10- eflags_store(eflags_load() | EFLAGS_AC);
11- if (eflags_load() & EFLAGS_AC) {
12- is486 = 1;
13- }
14- eflags_store(eflags_load() & ~EFLAGS_AC);
15- if (is486) {
16- cr0_store(cr0_load() | CR0_CDISABLE);
17- }
18- mem->total = memory_test(start, end);
19- if (is486) {
20- cr0_store(cr0_load() & ~CR0_CDISABLE);
21- }
22-
23- mem->frees = 0;
24- return;
25-}
26-
27-unsigned int memory_stat(struct memory *mem)
28-{
29- unsigned int i, t = 0;
30-
31- for (i = 0; i < mem->frees; i++) {
32- t += mem->free[i].size;
33- }
34- return t;
35-}
36-
37-unsigned int memory_alloc(struct memory *mem, unsigned int size)
38-{
39- unsigned int addr, i;
40-
41- for (i = 0; i < mem->frees; i++) {
42- if (mem->free[i].size >= size) {
43- addr = mem->free[i].addr;
44- mem->free[i].addr += size;
45- if ((mem->free[i].size -= size) == 0) {
46- mem->frees--;
47- for (; i < mem->frees; i++) {
48- mem->free[i] = mem->free[i + 1];
49- }
50- }
51- return addr;
52- }
53- }
54- return 0;
55-}
56-
57-int memory_free(struct memory *mem, unsigned int addr, unsigned int size)
58-{
59- int i, j;
60-
61- for (i = 0; i < mem->frees; i++) {
62- if (mem->free[i].addr > addr) {
63- break;
64- }
65- }
66- if (i > 0 && mem->free[i - 1].addr + mem->free[i - 1].size == addr) {
67- mem->free[i - 1].size += size;
68- if (i < mem->frees && addr + size == mem->free[i].addr) {
69- mem->free[i - 1].size += mem->free[i].size;
70- mem->frees--;
71- for (; i < mem->frees; i++) {
72- mem->free[i] = mem->free[i + 1];
73- }
74- }
75- return 0;
76- }
77- if (i < mem->frees && addr + size == mem->free[i].addr) {
78- mem->free[i].addr = addr;
79- mem->free[i].size += size;
80- return 0;
81- }
82- if (mem->frees < 4095) {
83- for (j = mem->frees++; j > i; j--) {
84- mem->free[j] = mem->free[j - 1];
85- }
86- mem->free[i].addr = addr;
87- mem->free[i].size = size;
88- return 0;
89- }
90- return -1;
91-}
--- haribote/trunk/orbspace/make.bat (revision 205)
+++ haribote/trunk/orbspace/make.bat (nonexistent)
@@ -1 +0,0 @@
1-..\z_tools\make.exe %1 %2 %3 %4 %5 %6 %7 %8 %9
\ No newline at end of file
--- haribote/trunk/orbspace/mkorbfs/Makefile (revision 205)
+++ haribote/trunk/orbspace/mkorbfs/Makefile (nonexistent)
@@ -1,105 +0,0 @@
1-TARGET = mkorbfs
2-MODE = exe
3-OBJS = $(TARGET).obj orbfs.obj
4-STACKSIZE = 0x1000000 # 16MB (default)
5-
6-TOOLPATH = ../../z_tools/
7-INCPATH = $(TOOLPATH)win32/
8-CC1OPT = -Dmain=main0
9-RULEFILE = $(TOOLPATH)guigui00/guigui00.rul
10-MAKE = $(TOOLPATH)make.exe -r
11-SJISCONV = $(TOOLPATH)sjisconv.exe -s
12-CC1 = $(TOOLPATH)cc1.exe -I$(INCPATH) $(CC1OPT) -Os -Wall -quiet
13-CPP = $(TOOLPATH)c++.exe -I$(CPPINCPATH) $(CC1OPT) -Os -Wall -nostdlib -fno-builtin -fno-exceptions \
14- -fno-rtti -B$(TOOLPATH) -x c++ -c
15-GAS2NASK = $(TOOLPATH)gas2nask.exe -a
16-NASK = $(TOOLPATH)nask.exe
17-OBJ2BIM = $(TOOLPATH)obj2bim.exe
18-BIM2BIN = $(TOOLPATH)bim2bin.exe
19-CPP0 = $(TOOLPATH)cpp0.exe -P -I$(INCPATH)
20-ASKA = $(TOOLPATH)aska.exe
21-NASKCNV = $(TOOLPATH)naskcnv0.exe -l -s -w
22-GOLIB = $(TOOLPATH)golib00.exe
23-LINK = $(TOOLPATH)ld.exe -s -Bdynamic --stack $(STACKSIZE)
24-EDIMG = $(TOOLPATH)edimg.exe
25-SARTOL = $(TOOLPATH)sartol.exe
26-DELE = del
27-COPY = copy
28-
29-LIBPATH = $(INCPATH)
30-LIBS = $(LIBPATH)w32clibc.lib $(LIBPATH)golibc.lib $(LIBPATH)libmingw.lib
31-
32-# 以上の項目はあなたのディレクトリ構成にあわせて書き換える
33-
34-ALL:
35- copy ..\orbspace\orbfs.c orbfs.c
36- $(MAKE) $(TARGET).$(MODE)
37-
38-%.ca : %.c Makefile
39- $(SJISCONV) $*.c $*.ca
40-
41-%.cpa : %.cpp Makefile
42- $(SJISCONV) $*.cpp $*.cpa
43-
44-%.gas : %.ca Makefile
45- $(CC1) -o $*.gas $*.ca
46-
47-%.nas : %.gas Makefile
48- $(GAS2NASK) $*.gas $*.nas
49-
50-%.obj : %.nas Makefile
51- $(NASK) $*.nas $*.obj
52-
53-%.obj : %.cpa Makefile
54- $(CPP) -o $*.obj $*.cpa
55-
56-%.ias : %.ask Makefile
57- $(CPP0) -o $*.ias $*.ask
58-
59-%.3as : %.ias Makefile
60- $(ASKA) $*.ias $*.3as
61-
62-%.nas : %.3as Makefile
63- $(NASKCNV) $*.3as $*.nas
64-
65-%.lst : %.nas Makefile
66- $(NASK) $*.nas $*.obj $*.lst
67-
68-$(TARGET).bim : $(OBJS) Makefile
69- $(OBJ2BIM) @$(RULEFILE) out:$(TARGET).bim stack:$(STACKSIZE) map:$(TARGET).map $(OBJS)
70-
71-%.bin : %.bim Makefile
72- $(BIM2BIN) in:$*.bim out:$*.org malloc:$(MALLOCSIZE) mmarea:$(MMAREA) $(BIMOPT0)
73- $(BIM2BIN) -osacmp in:$*.org out:$*.bin $(BIMOPT1)
74-
75-$(TARGET).lib : $(OBJS) Makefile
76- $(GOLIB) out:$@ $(OBJS)
77-
78-$(TARGET).dll : $(TARGET).bim Makefile
79- $(OBJ2BIM) @$(RULEFILE) out:$(TARGET).bim map:$(TARGET).map $(OBJS)
80- $(BIM2BIN) -osacmp -tek1 in:$(TARGET).bim out:$(TARGET).dll
81-
82-$(TARGET).exe : $(OBJS) Makefile
83- $(LINK) -o $(TARGET).exe -Map $(TARGET).map $(OBJS) $(LIBS)
84-
85-clean :
86- -$(DELE) *.obj
87- -$(DELE) $(TARGET).bim
88- -$(DELE) $(TARGET).map
89- -$(DELE) $(TARGET).org
90-
91-run :
92- $(MAKE) $(TARGET).$(MODE)
93- $(COPY) $(TARGET).$(MODE) ..\z_tools\!built.bin
94- $(MAKE) -C $(TOOLPATH)osa_qemu
95- $(EDIMG) @$(TOOLPATH)edimgopt.txt $(EDIMGOPT) imgout:../z_tools/qemu/fdimage0.bin
96- $(MAKE) -C $(TOOLPATH)qemu
97-
98-arc :
99- $(MAKE) $(TARGET).$(MODE)
100- $(SARTOL) e $(ARCORG) . @-4k ARCINFO0.TXT $(ARCFLIES)
101- $(BIM2BIN) -osacmp in:$(ARCORG) out:$(ARCTEK) $(BIMOPT2)
102-
103-src_only :
104- $(MAKE) clean
105- -$(DELE) $(TARGET).$(MODE)
--- haribote/trunk/orbspace/mkorbfs/make.bat (revision 205)
+++ haribote/trunk/orbspace/mkorbfs/make.bat (nonexistent)
@@ -1 +0,0 @@
1-..\..\z_tools\make.exe %1 %2 %3 %4 %5 %6 %7 %8 %9
\ No newline at end of file
--- haribote/trunk/orbspace/mkorbfs/mkorbfs.c (revision 205)
+++ haribote/trunk/orbspace/mkorbfs/mkorbfs.c (nonexistent)
@@ -1,155 +0,0 @@
1-#include "..\orbspace\orbfs.h"
2-
3-#include <stdio.h>
4-#include <stdlib.h>
5-#include <string.h>
6-
7-FILE *imgfp;
8-unsigned char *imgbuf;
9-unsigned int imgsize;
10-
11-int io_read(unsigned char *buf, unsigned int addr, unsigned int size)
12-{
13- memcpy(buf, imgbuf + addr, size);
14- return 0;
15-}
16-
17-int io_write(unsigned char *buf, unsigned int addr, unsigned int size)
18-{
19- memcpy(imgbuf + addr, buf, size);
20- return 0;
21-}
22-
23-unsigned char *errmsg[] = {
24- "Syntax error",
25- "Image file error",
26- "IPL file error",
27- "File error",
28- "Ball error"
29-};
30-
31-void print_error(int no)
32-{
33- printf("%s\n", errmsg[no]);
34- exit(1);
35-}
36-
37-unsigned char ptable[16] = {
38- 0x80, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00,
39- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
40-};
41-
42-unsigned char *getcmd(unsigned char *arg)
43-{
44- if (strncmp(arg, "+File", 4) == 0) {
45- return "Type=File";
46- } else if (strncmp(arg, "+Func", 4) == 0) {
47- return "Type=Func";
48- } else if (strncmp(arg, "+Ball", 4) == 0) {
49- return "Type=Ball";
50- }
51- return 0;
52-}
53-
54-unsigned char *ballname_check(unsigned char **arg)
55-{
56- unsigned char *p;
57-
58- if (**arg != '[') {
59- return 0;
60- }
61- for (p = ++*arg; **arg && **arg != ']'; ++*arg);
62- if (**arg != ']') {
63- print_error(0);
64- }
65- *(*arg)++ = 0;
66- return p;
67-}
68-
69-int main(int argc, char **argv)
70-{
71- FILE *fp;
72- unsigned char *buf, *name, *bname, *p;
73- int size, n, m, i;
74-
75- if (argc < 4) {
76- print_error(0);
77- }
78-
79- if ((imgfp = fopen(argv[1], "wb")) == 0) {
80- print_error(1);
81- }
82- imgsize = atoi(argv[2]) * 1024;
83- imgbuf = (unsigned char *) malloc(imgsize);
84- memset(imgbuf, 0, imgsize);
85- if ((fp = fopen(argv[3], "rb")) == 0) {
86- print_error(2);
87- return 1;
88- }
89- fread(imgbuf, 1, 446, fp);
90- fclose(fp);
91- memcpy(imgbuf + 446, ptable, 16);
92- *((unsigned int *) (imgbuf + 446 + 0xc)) = imgsize / 512;
93- imgbuf[510] = 0x55; imgbuf[511] = 0xaa;
94- orbfs_init();
95-
96- for (n = 4; n < argc;) {
97- if (getcmd(argv[n]) != 0) {
98- for (m = ++n; m < argc && argv[m][0] != '+'; m++);
99- if (getcmd(argv[n - 1])[5] == 'B') {
100- name = argv[n];
101- size = 0;
102- buf = 0;
103- } else {
104- if ((fp = fopen(argv[n], "rb")) == 0) {
105- print_error(3);
106- }
107- fseek(fp, 0, SEEK_END);
108- size = ftell(fp);
109- fseek(fp, 0, SEEK_SET);
110- buf = (unsigned char *) malloc(size);
111- fread(buf, 1, size, fp);
112- for (name = p = argv[n]; *p; p++) {
113- if (*p == '\\') {
114- name = p + 1;
115- }
116- }
117- }
118- if (orbfs_create(name, size, buf) != 0) {
119- print_error(3);
120- }
121- if (orbfs_meta_add(name, getcmd(argv[n - 1])) != 0) {
122- print_error(3);
123- }
124- i = n + 1;
125- if (argv[i][0] == '[') {
126- if (!(getcmd(argv[n - 1])[6] == 'i')) {
127- print_error(0);
128- }
129- p = argv[i];
130- for (i++; (bname = ballname_check(&p)) != 0;) {
131- if (orbfs_ball_add(bname, name) != 0) {
132- print_error(4);
133- }
134- }
135- }
136- for (; i < m; i++) {
137- if (orbfs_meta_add(name, argv[i]) != 0) {
138- print_error(3);
139- }
140- }
141- if (!(getcmd(argv[n - 1])[5] == 'B')) {
142- free(buf);
143- fclose(fp);
144- }
145- n = m;
146- } else {
147- print_error(0);
148- }
149- }
150-
151- if (fwrite(imgbuf, 1, imgsize, imgfp) != imgsize) {
152- print_error(1);
153- }
154- return 0;
155-}
--- haribote/trunk/orbspace/com_mak.txt (revision 205)
+++ haribote/trunk/orbspace/com_mak.txt (nonexistent)
@@ -1,97 +0,0 @@
1-TOOLPATH = ../../z_tools/
2-RULEFILE = $(TOOLPATH)guigui00/guigui00.rul
3-MAKE = $(TOOLPATH)make.exe -r
4-SJISCONV = $(TOOLPATH)sjisconv.exe -s
5-CC1 = $(TOOLPATH)cc1.exe -I$(INCPATH) $(CC1OPT) -Os -Wall -quiet
6-CPP = $(TOOLPATH)c++.exe -I$(CPPINCPATH) $(CC1OPT) -Os -Wall -nostdlib -fno-builtin -fno-exceptions \
7- -fno-rtti -B$(TOOLPATH) -x c++ -c
8-GAS2NASK = $(TOOLPATH)gas2nask.exe -a
9-NASK = $(TOOLPATH)nask.exe
10-OBJ2BIM = $(TOOLPATH)obj2bim.exe
11-BIM2BIN = $(TOOLPATH)bim2bin.exe
12-CPP0 = $(TOOLPATH)cpp0.exe -P -I$(INCPATH)
13-ASKA = $(TOOLPATH)aska.exe
14-NASKCNV = $(TOOLPATH)naskcnv0.exe -l -s -w
15-GOLIB = $(TOOLPATH)golib00.exe
16-LINK = $(TOOLPATH)ld.exe -s -Bdynamic --stack $(STACKSIZE)
17-EDIMG = $(TOOLPATH)edimg.exe
18-SARTOL = $(TOOLPATH)sartol.exe
19-DELE = del
20-COPY = copy
21-
22-LIBPATH = $(INCPATH)
23-LIBS = $(LIBPATH)w32clibc.lib $(LIBPATH)golibc.lib $(LIBPATH)libmingw.lib
24-
25-# 以上の項目はあなたのディレクトリ構成にあわせて書き換える
26-
27-ALL:
28- $(MAKE) $(TARGET).$(MODE)
29-
30-%.ca : %.c Makefile
31- $(SJISCONV) $*.c $*.ca
32-
33-%.cpa : %.cpp Makefile
34- $(SJISCONV) $*.cpp $*.cpa
35-
36-%.gas : %.ca Makefile
37- $(CC1) -o $*.gas $*.ca
38-
39-%.nas : %.gas Makefile
40- $(GAS2NASK) $*.gas $*.nas
41-
42-%.obj : %.nas Makefile
43- $(NASK) $*.nas $*.obj
44-
45-%.obj : %.cpa Makefile
46- $(CPP) -o $*.obj $*.cpa
47-
48-%.ias : %.ask Makefile
49- $(CPP0) -o $*.ias $*.ask
50-
51-%.3as : %.ias Makefile
52- $(ASKA) $*.ias $*.3as
53-
54-%.nas : %.3as Makefile
55- $(NASKCNV) $*.3as $*.nas
56-
57-%.lst : %.nas Makefile
58- $(NASK) $*.nas $*.obj $*.lst
59-
60-$(TARGET).bim : $(OBJS) Makefile
61- $(OBJ2BIM) @$(RULEFILE) out:$(TARGET).bim stack:$(STACKSIZE) map:$(TARGET).map $(OBJS)
62-
63-%.bin : %.bim Makefile
64- $(BIM2BIN) in:$*.bim out:$*.org malloc:$(MALLOCSIZE) mmarea:$(MMAREA) $(BIMOPT0)
65- $(BIM2BIN) -osacmp in:$*.org out:$*.bin $(BIMOPT1)
66-
67-$(TARGET).lib : $(OBJS) Makefile
68- $(GOLIB) out:$@ $(OBJS)
69-
70-$(TARGET).dll : $(TARGET).bim Makefile
71- $(OBJ2BIM) @$(RULEFILE) out:$(TARGET).bim map:$(TARGET).map $(OBJS)
72- $(BIM2BIN) -osacmp -tek1 in:$(TARGET).bim out:$(TARGET).dll
73-
74-$(TARGET).exe : $(OBJS) Makefile
75- $(LINK) -o $(TARGET).exe -Map $(TARGET).map $(OBJS) $(LIBS)
76-
77-clean :
78- -$(DELE) *.obj
79- -$(DELE) $(TARGET).bim
80- -$(DELE) $(TARGET).map
81- -$(DELE) $(TARGET).org
82-
83-run :
84- $(MAKE) $(TARGET).$(MODE)
85- $(COPY) $(TARGET).$(MODE) ..\z_tools\!built.bin
86- $(MAKE) -C $(TOOLPATH)osa_qemu
87- $(EDIMG) @$(TOOLPATH)edimgopt.txt $(EDIMGOPT) imgout:../z_tools/qemu/fdimage0.bin
88- $(MAKE) -C $(TOOLPATH)qemu
89-
90-arc :
91- $(MAKE) $(TARGET).$(MODE)
92- $(SARTOL) e $(ARCORG) . @-4k ARCINFO0.TXT $(ARCFLIES)
93- $(BIM2BIN) -osacmp in:$(ARCORG) out:$(ARCTEK) $(BIMOPT2)
94-
95-src_only :
96- $(MAKE) clean
97- -$(DELE) $(TARGET).$(MODE)
--- haribote/trunk/orbspace/qemu/Makefile (revision 205)
+++ haribote/trunk/orbspace/qemu/Makefile (nonexistent)
@@ -1,2 +0,0 @@
1-default :
2- qemu-win.bat
--- haribote/trunk/orbspace/qemu/qemu-win.bat (revision 205)
+++ haribote/trunk/orbspace/qemu/qemu-win.bat (nonexistent)
@@ -1,4 +0,0 @@
1-@set SDL_VIDEODRIVER=windib
2-@set QEMU_AUDIO_DRV=none
3-@set QEMU_AUDIO_LOG_TO_MONITOR=0
4-qemu.exe -L . -m 32 -localtime -std-vga -hda ..\orbspace.img
\ No newline at end of file
--- haribote/trunk/orbspace/!cons.bat (revision 205)
+++ haribote/trunk/orbspace/!cons.bat (nonexistent)
@@ -1 +0,0 @@
1-%ComSpec%
\ No newline at end of file
Show on old repository browser