From d5266152455c4a3aa2a617f4c4dabc2b9330cc97 Mon Sep 17 00:00:00 2001 From: Peter Weingartner Date: Tue, 10 Sep 2024 21:49:39 -0400 Subject: [PATCH] Update SDC for F256K2e. Started ImageView sample --- client/src/stubs.c | 15 + samples/imageview/Makefile | 68 + samples/imageview/README.md | 3 + samples/imageview/f256-plain.scm | 19 + samples/imageview/header.s | 10 + samples/imageview/imageview.c | 49 + samples/imageview/macros.h | 86 ++ src/boot.c | 17 + src/dev/sdc_f256.c | 18 +- src/fatfs/ffconf.h | 2 +- src/include/F256/sdc_spi.h | 6 +- src/toolbox-20.bin | Bin 0 -> 8192 bytes src/toolbox-21.bin | Bin 0 -> 8192 bytes src/toolbox-22.bin | Bin 0 -> 8192 bytes src/toolbox-23.bin | Bin 0 -> 8192 bytes src/toolbox-24.bin | Bin 0 -> 8192 bytes src/toolbox-25.bin | Bin 0 -> 8192 bytes src/toolbox-26.bin | Bin 0 -> 8192 bytes src/toolbox-27.bin | Bin 0 -> 8192 bytes src/toolbox-28.bin | Bin 0 -> 8192 bytes src/toolbox-29.bin | Bin 0 -> 8192 bytes src/toolbox-2A.bin | Bin 0 -> 8192 bytes src/toolbox-2B.bin | Bin 0 -> 8192 bytes src/toolbox-2C.bin | Bin 0 -> 8192 bytes src/toolbox-2D.bin | Bin 0 -> 8192 bytes src/toolbox-2E.bin | Bin 0 -> 8192 bytes src/toolbox-2F.bin | Bin 0 -> 8192 bytes src/toolbox-30.bin | Bin 0 -> 8192 bytes src/toolbox-31.bin | Bin 0 -> 8192 bytes src/toolbox-3F.bin | Bin 0 -> 8192 bytes src/toolbox.bin | 2182 ++++++++++++++++++++++++++++++ src/toolbox.c | 2 +- src/version.h | 2 +- 33 files changed, 2471 insertions(+), 8 deletions(-) create mode 100644 samples/imageview/Makefile create mode 100644 samples/imageview/README.md create mode 100644 samples/imageview/f256-plain.scm create mode 100644 samples/imageview/header.s create mode 100644 samples/imageview/imageview.c create mode 100644 samples/imageview/macros.h create mode 100644 src/toolbox-20.bin create mode 100644 src/toolbox-21.bin create mode 100644 src/toolbox-22.bin create mode 100644 src/toolbox-23.bin create mode 100644 src/toolbox-24.bin create mode 100644 src/toolbox-25.bin create mode 100644 src/toolbox-26.bin create mode 100644 src/toolbox-27.bin create mode 100644 src/toolbox-28.bin create mode 100644 src/toolbox-29.bin create mode 100644 src/toolbox-2A.bin create mode 100644 src/toolbox-2B.bin create mode 100644 src/toolbox-2C.bin create mode 100644 src/toolbox-2D.bin create mode 100644 src/toolbox-2E.bin create mode 100644 src/toolbox-2F.bin create mode 100644 src/toolbox-30.bin create mode 100644 src/toolbox-31.bin create mode 100644 src/toolbox-3F.bin create mode 100644 src/toolbox.bin diff --git a/client/src/stubs.c b/client/src/stubs.c index a289a97..9b38075 100644 --- a/client/src/stubs.c +++ b/client/src/stubs.c @@ -151,6 +151,21 @@ int _Stub_close(int fd) { return 0; } +/**************************************************************************** +* Name: _Stub_lseek +* +* Description: +* Change position in a file +* +* Returns the new position in the file in bytes from the beginning of the +* file, or -1 on failure. +* +****************************************************************************/ + +long _Stub_lseek(int fd, long offset, int whence) { + return 0; +} + /**************************************************************************** * Name: _Stub_read * diff --git a/samples/imageview/Makefile b/samples/imageview/Makefile new file mode 100644 index 0000000..9b9962c --- /dev/null +++ b/samples/imageview/Makefile @@ -0,0 +1,68 @@ +# VPATH=.:../../module/Calypsi-remote-debug/src +DEBUGGER=../module/Calypsi-remote-debug/src + +UNIT := F256K +MEMORY := RAM + +# Define OS-dependent variables + +ifeq ($(OS),Windows_NT) + RM = del /F/Q +else + RM = rm -f +endif + +# Define model-specific variables, including tools, source files, compiler flags, etc. + +ifeq ($(UNIT),F256K) + CPU=w65816 + C_SRCS_DEBUGGER=$(DEBUGGER)/agent.c $(DEBUGGER)/c256-uart.c $(DEBUGGER)/low_level_WDC65816.s + SRCS_FOR_UNIT= + CFLAGS_FOR_UNIT=-DMODEL=17 -DCPU=255 --code-model large --data-model large + + ifeq ($(MEMORY),ROM) + LDFLAGS_FOR_UNIT=clib-lc-ld.a --rtattr printf=medium --target=f256 # C256/f256-flash.scm + else + LDFLAGS_FOR_UNIT=f256-plain.scm clib-lc-ld.a --rtattr printf=medium --target=f256 + endif +endif + +ifeq ($(CPU),w65816) + CC=cc65816 + AS=as65816 + LD=ln65816 + AR=nlib +endif + +INCLUDES=-I. -I./include +CFLAGS=$(INCLUDES) $(CFLAGS_FOR_UNIT) -l # -l -D_CALYPSI_MCP_DEBUGGER +ASFLAGS=$(INCLUDES) --data-model large --code-model large + +ifeq ($(MEMORY),ROM) + LDFLAGS=--rom-code $(LDFLAGS_FOR_UNIT) --list-file toolbox.map +else + LDFLAGS=$(LDFLAGS_FOR_UNIT) --list-file toolbox.map +endif + +SRCS = imageview.c header.s $(SRCS_FOR_UNIT) # $(C_SRCS_DEBUGGER) ram-startup.s +OBJS = $(patsubst %.s,%.o,$(patsubst %.c,%.o,$(SRCS))) +OBJS4RM = $(subst /,\\,$(OBJS)) +LIBS = ../../client/src/toolbox.a + +.PHONY: clean + +imageview.s37: $(OBJS) $(LIBS) + $(LD) $(LDFLAGS) --output-format s37 -o $@ $^ + +# Build the object files from C +%.o: %.c + $(CC) $(CFLAGS) -o $@ $^ + +# Build the object files from assembly +%.o: %.s + $(AS) $(ASFLAGS) -o $@ $^ + +# Clean up after a build +clean: + $(RM) $(OBJS4RM) *.s37 *.o *.a *.lst + diff --git a/samples/imageview/README.md b/samples/imageview/README.md new file mode 100644 index 0000000..25e6f21 --- /dev/null +++ b/samples/imageview/README.md @@ -0,0 +1,3 @@ +# Sample: ImageView + +This example demonstrates connecting to the Toolbox to read the directory on the SD card, look for BMP files, and display them on the bitmap. It compiles under the Calypsi C compiler for 65816 and uses some of its F256 support. diff --git a/samples/imageview/f256-plain.scm b/samples/imageview/f256-plain.scm new file mode 100644 index 0000000..18da992 --- /dev/null +++ b/samples/imageview/f256-plain.scm @@ -0,0 +1,19 @@ +(define memories + '( + (memory LoMem + (address (#xa000 . #xcfff)) + (type ANY)) + (memory Vector (address (#xffe4 . #xffff))) + (memory Banks + (address (#x10000 . #x7ffff)) + (type ANY) + (section (header #x10000))) + (memory DirectPage + (address (#x000100 . #x0001ff)) + (section (registers ztiny))) + + (block stack (size #x1000)) + (block heap (size #x1000)) + (base-address _DirectPageStart DirectPage 0) + (base-address _NearBaseAddress LoMem 0) + )) diff --git a/samples/imageview/header.s b/samples/imageview/header.s new file mode 100644 index 0000000..49487d8 --- /dev/null +++ b/samples/imageview/header.s @@ -0,0 +1,10 @@ + .extern __program_start + + .section header + +signature: .byte 0xf8, 0x16 +version: .byte 0 +start: .long __program_start +icon: .long 0 +clut: .long 0 +name: .asciz "imageview" diff --git a/samples/imageview/imageview.c b/samples/imageview/imageview.c new file mode 100644 index 0000000..b06932e --- /dev/null +++ b/samples/imageview/imageview.c @@ -0,0 +1,49 @@ +#include "../../client/src/include/toolbox.h" + +#include +#include +#include +#include + +t_file_info file_info; + +void myprint(const char * text) { + int length = strlen(text); + sys_chan_write(0, (const uint8_t *)text, length); +} + +int main(int c, char * argv[]) { + char line[80]; + + myprint("BMP ImageViewer for the Foenix F256\n"); + + short dir = sys_fsys_opendir("/sd0"); + if (dir >= 0) { + bool keep_looping = true; + while (keep_looping) { + short result = sys_fsys_readdir(dir, &file_info); + if (result == 0) { + if (file_info.name[0] != 0) { + sprintf(line, "%s\n", file_info.name); + myprint(line); + + } else { + keep_looping = false; + } + + } else { + sprintf(line, "Could not read directory: %d\n", dir); + myprint(line); + keep_looping = false; + } + } + sys_fsys_closedir(dir); + + + } else { + sprintf(line, "Could not open directory: %d\n", dir); + myprint(line); + } + + while (1) ; +} \ No newline at end of file diff --git a/samples/imageview/macros.h b/samples/imageview/macros.h new file mode 100644 index 0000000..5f1cd4f --- /dev/null +++ b/samples/imageview/macros.h @@ -0,0 +1,86 @@ +#ifndef __MACROS_H +#define __MACROS_H + +#ifdef __CALYPSI_ASSEMBLER__ + +#ifdef __CALYPSI_CODE_MODEL_SMALL__ + +#define libcode code + +call .macro dest + jsr \dest + .endm + +return .macro + rts + .endm + +jump .macro dest + jmp \dest + .endm + +#elif defined(__CALYPSI_CODE_MODEL_COMPACT__) + +#define libcode compactcode + +call .macro dest + jsr .kbank \dest + .endm + +return .macro + rts + .endm + +jump .macro dest + jmp .kbank \dest + .endm + +#else + +#define libcode farcode + +call .macro dest + jsl \dest + .endm + +return .macro + rtl + .endm + +jump .macro dest + jmp long:\dest + .endm + +#endif // __CALYPSI_CODE_MODEL_SMALL__ + +// ---------------------------------------------------------------------- +// +// Define code and data model used. This is to add a bit of safety in +// case the way a file is assembled is combined with the wrong run-time. +// +// ---------------------------------------------------------------------- + +#if defined(__CALYPSI_DATA_MODEL_SMALL__) + .rtmodel dataModel,"small" +#elif defined (__CALYPSI_DATA_MODEL_MEDIUM__) + .rtmodel dataModel,"medium" +#elif defined(__CALYPSI_DATA_MODEL_LARGE__) + .rtmodel dataModel,"large" +#elif defined(__CALYPSI_DATA_MODEL_HUGE__) + .rtmodel dataModel,"huge" +#else +#pragma GCC error "unexpected data model" +#endif + +#if defined(__CALYPSI_CODE_MODEL_SMALL__) + .rtmodel codeModel,"small" +#elif defined(__CALYPSI_CODE_MODEL_COMPACT__) + .rtmodel codeModel,"compact" +#elif defined(__CALYPSI_CODE_MODEL_LARGE__) + .rtmodel codeModel,"large" +#else +#pragma GCC error "unexpected code model" +#endif + +#endif // __CALYPSI_ASSEMBLER__ +#endif // __MACROS_H diff --git a/src/boot.c b/src/boot.c index 26c2389..5e38c69 100644 --- a/src/boot.c +++ b/src/boot.c @@ -310,6 +310,22 @@ void boot_from(enum boot_src_e device, boot_record_p boot_record) { } break; + case BOOT_SRC_SD1: + if (fsys_stat("/sd1/fnxboot.pgz", &file_info) >= 0) { + printf("Booting: /sd1/fnxboot.pgz\n"); + boot_reset_screen(); + proc_run("/sd0/fnxboot.pgz", 0, boot_args); + + } else if (fsys_stat("/sd1/fnxboot.pgx", &file_info) >= 0) { + printf("Booting: /sd1/fnxboot.pgx\n"); + boot_reset_screen(); + result = proc_run("/sd1/fnxboot.pgx", 0, boot_args); + if (result != 0) { + printf("proc_run error: %d\n", result); + } + } + break; + case BOOT_SRC_CARTRIDGE: case BOOT_SRC_ROM: case BOOT_SRC_RAM: @@ -399,6 +415,7 @@ void boot_screen() { } boot_chain[i++] = BOOT_SRC_CARTRIDGE; boot_chain[i++] = BOOT_SRC_SD0; + boot_chain[i++] = BOOT_SRC_SD1; boot_chain[i++] = BOOT_SRC_ROM; boot_src_cnt += 3; diff --git a/src/dev/sdc_f256.c b/src/dev/sdc_f256.c index 75e2bd6..31f6765 100644 --- a/src/dev/sdc_f256.c +++ b/src/dev/sdc_f256.c @@ -47,6 +47,7 @@ #define CMD58 (58) /* READ_OCR */ static t_sd_card_info sd0_card_info; +static t_sd_card_info sd1_card_info; /** * @brief Transmit Busy Flag Check @@ -552,10 +553,14 @@ short sdc_install() { // int_register(INT_SDC_INS, sdc_handler); // int_enable(INT_SDC_INS); - sd0_card_info.reg = SD1_REG; + sd0_card_info.reg = SD0_REG; sd0_card_info.status = 0; sd0_card_info.type = 0; + sd1_card_info.reg = SD1_REG; + sd1_card_info.status = 0; + sd1_card_info.type = 0; + dev.number = BDEV_SD0; dev.name = "SD0"; dev.data = &sd0_card_info; @@ -566,5 +571,14 @@ short sdc_install() { dev.status = sdc_status; dev.ioctrl = sdc_ioctrl; - return bdev_register(&dev); + short result = bdev_register(&dev); + if (result == 0) { + dev.number = BDEV_SD1; + dev.name = "SD1"; + dev.data = &sd1_card_info; + + result = bdev_register(&dev); + } + + return result; } diff --git a/src/fatfs/ffconf.h b/src/fatfs/ffconf.h index 0df44dc..e0feaf8 100644 --- a/src/fatfs/ffconf.h +++ b/src/fatfs/ffconf.h @@ -166,7 +166,7 @@ / Drive/Volume Configurations /---------------------------------------------------------------------------*/ -#define FF_VOLUMES 1 +#define FF_VOLUMES 2 /* Number of volumes (logical drives) to be used. (1-10) */ diff --git a/src/include/F256/sdc_spi.h b/src/include/F256/sdc_spi.h index e214d26..f6e3e5f 100644 --- a/src/include/F256/sdc_spi.h +++ b/src/include/F256/sdc_spi.h @@ -20,10 +20,10 @@ typedef struct s_sdc_spi { #define SDx_SLOW 0x02 // 1 = Slow 400Khz, 0 = 25Mhz #define SDx_BUSY 0x80 // 1 = Busy -#define SD0_REG ((volatile __attribute__((far)) p_sdc_spi)0xf016a0) -#define SD1_REG ((volatile __attribute__((far)) p_sdc_spi)0xf01d80) +#define SD0_REG ((volatile __attribute__((far)) p_sdc_spi)0xf01d00) +#define SD1_REG ((volatile __attribute__((far)) p_sdc_spi)0xf01d20) -#define SD0_STAT (*(volatile __far uint8_t *)0xf016a0) +#define SD0_STAT (*(volatile __far uint8_t *)0xf01d00) #define SD0_STAT_CD 0x40 // When 1 = No Card, 0 = Card is Present #define SD0_STAT_WP 0x80 // When 0 = Writeable, 1 = Card is Protected diff --git a/src/toolbox-20.bin b/src/toolbox-20.bin new file mode 100644 index 0000000000000000000000000000000000000000..631f42bf3e16f2e58562339c99ccef499f315530 GIT binary patch literal 8192 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 eX1_l|Kliu literal 0 HcmV?d00001 diff --git a/src/toolbox-21.bin b/src/toolbox-21.bin new file mode 100644 index 0000000000000000000000000000000000000000..7b190573ddfb8372129d6648c49deb9457967294 GIT binary patch literal 8192 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 P3tbL9q9aVT(!zfM6x0Kj literal 0 HcmV?d00001 diff --git a/src/toolbox-23.bin b/src/toolbox-23.bin new file mode 100644 index 0000000000000000000000000000000000000000..c173390519e76972a89fa25455d513b0f267b801 GIT binary patch literal 8192 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 D1_bde literal 0 HcmV?d00001 diff --git a/src/toolbox-27.bin b/src/toolbox-27.bin new file mode 100644 index 0000000000000000000000000000000000000000..e838e315e2be95e014dcb28042822b8eb010addc GIT binary patch literal 8192 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 MMT4nq@qh9AZ^?on9{>OV literal 0 HcmV?d00001 diff --git a/src/toolbox-28.bin b/src/toolbox-28.bin new file mode 100644 index 0000000000000000000000000000000000000000..49a6bfbf49d0b0cfe4d047e55a4eef8ef99faafe GIT binary patch literal 8192 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 literal 0 HcmV?d00001 diff --git a/src/toolbox-29.bin b/src/toolbox-29.bin new file mode 100644 index 0000000000000000000000000000000000000000..7db4db207df3b683f3e952af3cb1149e58f90100 GIT binary patch literal 8192 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 Ux0c(m57pUwM!B6J`ibGc0eJNmAOHXW literal 0 HcmV?d00001 diff --git a/src/toolbox-2A.bin b/src/toolbox-2A.bin new file mode 100644 index 0000000000000000000000000000000000000000..e88b7f648f57adbe456c4fc5c18eb27baadaba25 GIT binary patch literal 8192 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 literal 0 HcmV?d00001 diff --git a/src/toolbox-2B.bin b/src/toolbox-2B.bin new file mode 100644 index 0000000000000000000000000000000000000000..85944de9a1c22602d82b783f2b24074999ffe1d8 GIT binary patch literal 8192 zcmb_heT*B$6`$Spde`5+JLk@^lbo~1U2-9Ox8XPh4WNJ_QDiLVp~8D@d_x!8&)9^VV+Z^N-MBJRxA9DA@*tphvE;rTyZk$L>0`(Bj|%e`zF*bIOvRZVg3*t{)X(21x{ zMAaNabriKJ9YjAGWHX9%kcS2t!*~u#7*CZ|y!!@cBBr`;HGZ>HcU{2jJl`$2QsNT1 zFnQ~aUBNalJ{~4N_LCn=1(pjI3i|Fz2sE4+{d35P2`#8-yHw%$yIzWSJZll}nvU@vp4U3!sk46R_tEWHx-=j)Z$)FpdMS!Mc?f{LaSF-Aw*@EUnnBb&%@lDnTo)+dL#860_e3b049P;El z>FZK_37C!JbwpOFyBP<>@ATGMAtc37^r+m{&RcK>2%Rfe+90oOKTkf484YU&>BWr4 zKBZ|L=3cneu&pE1h0h9gTO<-vqi#!dJH9Zol|(yV`)2bVWE8rDu@!(=~iShYe5WgsE`fhjtzWkOXcw+Ii-(tXD$^yh_^MEsf zwX;3AzDz27+*`L-XZXi0*J^;>Mqdltf`xpRK@F8!S9uLoU%^kO?lcjU>+=il}RXY5=s|am6Y*OBwS;fa^iKR!aFu;+lZ zWFF@d>`;Ppq+Vhxt4Abb<*zk|6vVB zgX4^mTB;SXwd>%?_(){vWFHt|P&(oxNvbG3DNNS|p>5Lzj&@bLN%@cvDa0cHbXZcx z_Ymo)qKi<_P6lbTyVmIvG`nDamG{6(KcxVA4Q5pNxf`{d zT>cqKL{nI=dswx%wNZr8r71Sy&*{cr?y6;`HcqF?_jiNKbYtd-{XOJ5YxA>0Rqbpin;5KwO*Al68f?*+nl1OiGRpza{BXrlaWK<^Py zlz^gcL#N@L&pO5_ubab2>P9SqSeVN!CsV9-B$b#>?WV*Dw!5PIEfBsFgqL7Fo(roC zAou~TA+AvPCiGh+1VRY})Efvw;jaPV27!PQ2&gv@gu>SX;W~kU5(ua}2&C}UfL&?h6;rpMavJ&q43m3+bgaDg|7+rR{-G^mjQl-fTIK)^)~p$fL|iuC;>

yJ~uMJx9X;#MVT23epg5Mreyf${Q+#U z07n|&6f;(RuST1ay;flwaU>B_3;{&yNa~Q1Q66cfXFPRSYIx1VXhWya3CHsesgb4BqopZ z&@m<*3KRpjJQDUxzw^nJqtcViPEpDV*T)?j64udazI*eDSco9|%{>&GUrgp7F!6_=q$ zf5Xy@zKrKHI62@FM&lQo+rZe#heiafau1@`g)TR;B)cSqY!g7CX|qjEIF?jWY~xIhnO*5sZA0x zn(1-5A{ZtQpyW!)$lyegm-gbaP)IV8Q^;^d!ial5!W z+SwlktB8x5M=P^Zdtz>9cK31|Fp1=T?&Oqf#%uqnQL-gsf23qCM{-!o5)p7h86RRY zRYa}Oh8ncWkI1U7Yl$xru|ezSx4I!YGRC$u2Uw~yCgw$ZQtQkP@NV;)SxEN$MOq|$ z)6vU4w15t95juWsQHBP_6_LCj-rkdF<@6y0rKyX+_gv0VprB5_|w!EQJ;ZG`+~t zbbLF&od7qQGxN8Duinb{Hhxiw8#qU>4^aIBOdOz|NWY@*Vz2mj$t2GL=j_ip6U8B- z6`lkamwXspqgK@1h@ASS0cB|=#xF{f99bZRAw$%PnR)}g6X-EOV%Q8ibL<}s!9gd2 zgV-z^@MzA-%K%xQ>cw(*rDtfXM2gLWC_5IG7Q8tagSm{Hb!yCJ_y3wa%8NZNO433?mavk%BhC9<6mW~N zB+(kDsVitv_7zDWi&N9Q$3-NRCaoSMzC8(RJ`bgNuZsd&QP?T~Hxe;g`I+lAP6K!S`LBZLPnYv(?*9!Q4y)`rA>>wbXdWtj1fY@ei&Yvf1Xob_qc~ zp9|7Oko((N@(_j~lz{4imT|~t3AJGwT9T^w097K?_8}|px?W3{pF&aG(uKn!1hRDX zlXQawW5rImh}&X&4F(qtL6(FU1k5`wKv>ZHeymAzej81S^hHZ6O&n$tP1n0{lF_17 zn@)Tl9BW>JTx^zi{lv8p7+~zpbN20&eXb8T-e*N7tqz1*I*#`J*jxhGTtaYe9-(`w zj#J`ZYQ;_-vG1iiu=k03sTDh?aPsfmLcR3^eA;(Vx6&t0d8^(@c+urMc}EF-&%1I` zCYxb`bLFHsS5BIJ*F)9@SG> zP^>yKc_3XMD{DOMt8K{CsEK z_yo^JJcsd6oAaDLecHHvXMIo5cmk!Dn&V?bV*>pxpdK8rk5M6LfFp4g4*@}Q%y`Bj zN(_kTyF2TLv=?IM)}9`(uO-g!;*D=Ky%Re(w!HgXG?;$1=iCe3=Zs_H^{g#2kt5R7 KTQ<)ukNp<{2o0P7 literal 0 HcmV?d00001 diff --git a/src/toolbox-2C.bin b/src/toolbox-2C.bin new file mode 100644 index 0000000000000000000000000000000000000000..b931c34cce49325ec2c537d35059bf61e7f30b21 GIT binary patch literal 8192 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 literal 0 HcmV?d00001 diff --git a/src/toolbox-2D.bin b/src/toolbox-2D.bin new file mode 100644 index 0000000000000000000000000000000000000000..74e8ab454f363f9bf6a673287f6b206d70c1e1a1 GIT binary patch literal 8192 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 literal 0 HcmV?d00001 diff --git a/src/toolbox-2E.bin b/src/toolbox-2E.bin new file mode 100644 index 0000000000000000000000000000000000000000..0871d09afd58d119eadead2643f3af1169556c80 GIT binary patch literal 8192 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 literal 0 HcmV?d00001 diff --git a/src/toolbox-2F.bin b/src/toolbox-2F.bin new file mode 100644 index 0000000000000000000000000000000000000000..86e0c7c50c8eebf1734f2cdefa21df5c9587cf62 GIT binary patch literal 8192 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 literal 0 HcmV?d00001 diff --git a/src/toolbox-31.bin b/src/toolbox-31.bin new file mode 100644 index 0000000000000000000000000000000000000000..5916b543e5bf4674bb1ab94c245bfca1dcb69823 GIT binary patch literal 8192 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 W#m|chyr{s73cRSmiwgYBEAR(Aqyhr~ literal 0 HcmV?d00001 diff --git a/src/toolbox-3F.bin b/src/toolbox-3F.bin new file mode 100644 index 0000000000000000000000000000000000000000..575f35bb2e559de6608ca7108022d29a3e6e9d7b GIT binary patch literal 8192 zcmeIuPbh>z7zXgKwJj|+Irx7N2W2mgqPz`QMW?e zs=RCwYcV4CoXAmoGgm~QkJvaO+!10`WpbSGj;V9g#B7#@;}B7HN7#CZoom8gXyM|9 z*c~E@hKW)?@f09JO+>BF!a=5mVvhx{`paVrkYKmYKmYKmxNS|(saY68yR17hi=$)!=@XW{@PLV>-)lO{LOuNZ}H0cdn^3oGl==A{k7_o Ls^c@?HK$e|J8a#9 literal 0 HcmV?d00001 diff --git a/src/toolbox.bin b/src/toolbox.bin new file mode 100644 index 0000000..e094680 --- /dev/null +++ b/src/toolbox.bin @@ -0,0 +1,2182 @@ + +9;<=>?@AB /,123456ABCD + +> OK.*111213141517181920212324303132OVsd0sd1 RAMROM%d:/fd38668K86088K960ARMELFM32PGXPGZPPCRCESPU 0ODDSD0SD1INFNaN %s +None%02XGenXEVID/sd0FILEFR20MIPSNONEPGXRH32S370S390V800COM1COM2EVENMARK %s/ +%02X %04X /sd0/%s%s +%04X:%d:%sIAMCUPPC64SPARCSPACE %4ld Done. +%s%08XC256 UF256 PGenX32M68020M68030M68040(null)dev = PARISCVPP500SCREEN+,;=[]%s%s%s +%s: %s +%024lX:A2560 KA2560 MA2560 XC256 U+F256 JRF256 K2F256 KeM68040VUNKNOWNi486DX4*float*CONSOLE%s: #%d +no mediaA2560 U+C256 FMXF256 JReF256 K2cF256 K2eM680EC30M68EC020M68EC040ReservedWDC65816rtc_init*:<>|"?FAT32 Sector: +not foundCartridgeNKӿӣӇk~hvhnhfh^h<<|\"?;$CODEC initialized.Console installed.Interrupts enabledTimers initializedbad channel numberCommand not found.Mounting drive #%dPGZ 24-bit count: PGZ 32-bit count: fsys_mkdir error: directory not foundfile system timeoutoperation timed outtoo many open filesproc_run error: %d +chan_read(%d,%p,%d)chan_seek error: %dFile system error: fchan_write error: fsys_delete error: fsys_load_ext ext: fsys_open error: %dR  + NO NAME FAT NO NAME FAT32 low level disk errorno file system foundchan_get_records 1: chan_get_records 2: chan_write error: %dchan_write(%d,%p,%x)PGZ 24-bit address: PGZ 32-bit address: fsys_set_cwd error: +Directory for /sd0/ +Foenix Retro Systems +SDC driver installed.Wrote %d characters. +chan_status error: %dCould not load file: Could not open file: uart_open: Bad parity +Trying to create: %s +Indicators initializedInterrupts initializedToolbox v%d.%02d.%04d +file is not executableCouldn't load file: %dchan_write_b error: %dFPGA %04X %04X.%04X +volume has no work area #+v-g0XJXopux9Setting default loader.uart_open: no BPS tokenCould not open file: %d +File system initialized.Text system initialized.drive is write protected +Select a boot source: + +Default boot source: %s +Error while printing: %dCouldn't get channel: %dfsys_open out of handlesCould not find screen %duart_open: Bad stop bits +Creating /sd0/hello.txt +%04d-%02d-%02d %02d:%02d could not write to devicedevice is write protectedCouldn't execute file: %dfsys_open out of channelsBlock device system ready.Could not create file: %d +could not read from deviceBooting: /sd0/fnxboot.pgx +Booting: /sd0/fnxboot.pgz +Booting: /sd1/fnxboot.pgx +Booting: /sd1/fnxboot.pgz +Returning a bad extension.uart_open: no parity tokenCould not open directory %dv"e~ԏٍ΍*6:[\tChannel device system ready.FAILED: Console installationfile system assertion faileduart_open: no stop bit tokenfile system invalid parameterCould not mount device %d: %dfsys_mount called f_mount: %dInitializing the text system...FOENIX DEBUG OUTPUT------------creation of file system aborteddevice could not be initializedNo bootable device is present. +uart_open: Bad data word lengthuart_open: no data length token +fsys_delete("/sd0/renamed.txt")Scanning for bootable devices... +FAILED: SDC driver installation %dFAILED: file system initializationtxt_get_device: number mismatch %dyyyyzyeyOy9y#yA valid boot record was not found. + AAA 22222 55555 6 00000 X XA A 2 5 6 0 0 X X A A 2 5 6 6 0 0 X X A A 22222 55555 66666 00000 X XAAAAA 22222 55555 66666 0 0 X K4>424&444 4@33444444 |4@p4d4W515%55 55 4@44 PC: %08X Address: %08X +Press SPACE for default. + _________ ___________ __ __ / ____/__ \ / ____/ ___/ / / / / / / __/ //___ \/ __ \ / / / / / /___ / __/____/ / /_/ / / /_/ / \____//____/_____/\____/ \____/ PC: %08X       _________ ___________ __ __ / ____/__ \ / ____/ ___/ / / / / __ / / __/ //___ \/ __ \ / / / /_/ /_/ /___ / __/____/ / /_/ / / /_/ /_ __/\____//____/_____/\____/ \____/ /_/ Unable to mount drive %s, FatFS Error: %d ___ ___ ___________ ____ __ __ / | |__ \ / ____/ ___// __ \ / //_/ / /| | __/ //___ \/ __ \/ / / / / ,< / ___ |/ __/____/ / /_/ / /_/ / / /| | /_/ |_/____/_____/\____/\____/ /_/ |_| f9f;f<f= f>f?f@e;e=e?e ___ ___ ___________ ____ __ __ / | |__ \ / ____/ ___// __ \ / / / / / /| | __/ //___ \/ __ \/ / / / / / / / / ___ |/ __/____/ / /_/ / /_/ / / /_/ / /_/ |_/____/_____/\____/\____/ \____/ Address Error Bus Error Division by Zero Error Illegal Instruction Error Oh dear, something has gone wrong... Overflow Exception Privilege Exception Range Check Exception Spurious Interrupt Unknown Exception Ŀ + Foenix Toolbox v%d.%02d.%04d starting up... ___ ___ ___________ ____ __ __ / | |__ \ / ____/ ___// __ \ / / / / __ / /| | __/ //___ \/ __ \/ / / / / / / /_/ /_ / ___ |/ __/____/ / /_/ / /_/ / / /_/ /_ __//_/ |_/____/_____/\____/\____/ \____/ /_/ +TEUX"bcdefosux _________ ___________ ________ ____ __ / ____/__ \ / ____/ ___/ / ____/ |/ / |/ / / / __/ //___ \/ __ \ / /_ / /|_/ /| / / /___ / __/____/ / /_/ / / __/ / / / // | \____//____/_____/\____/ /_/ /_/ /_//_/|_| +fsys_rename("/sd0/hello.txt", "/sd0/renamed.txt") kYG5#چdž +[!] Incompatible CPU arch: expected %s, but found %s + !#{*i-W<D>1@[ ]{|} GGGGGG EEEEEEE NN NN XX XXX 3333333 2222222 GG EE NNN NN XX XXX 33 22 GG GGGG EEEEE NN NN NN XXX 33333 22222 GG GG EE NN NNN XXX XX 33 22 GGGGGG EEEEEEE NN NN XXX XX 3333333 2222222 ,\U` NG%<K1&@OcAvBCDhGJbKcPgHɖmveiA;=?hj,* .!-" 0#/ +$ 2%1 &:4'3 (c6\5k9[aEAAEEEIIIOOUUYAIOU~r% +KKKKKx*KKKKKKKKKKKK/  }c,Z 0@QYR[T]V_`pN!2!p!!!$0,/`,g,u,,d-&A (((( AAAAAABBBBBB #%%%%$%a%b%V%U%c%Q%W%]%\%[%%%4%,%%%<%^%_%Z%T%i%f%`%P%l%g%h%d%e%Y%X%R%S%k%j%% %%%%%%")"a"e"d" #!#H""" %ax029J.yMC= (": e,;;=f,?@AAF +S@UXZ\]^_abdefgjb,lmnpqstvwxyz{|d,~DE{ +0 P`"6Da&`l@N# +bz@c`[WOؓhG'${jJ۝uW~:g5^-Q'E1ڨˆyk\Q?I9?05(~#swVlN^EP;6*ԁO)шwWހM&Լd`ˀM&{ky\i@MrrAB++$% +~ +oS ծe̜JËB|8h/Ui3uW93+$wvX;5-%O(oM&|lQeCp"WQJC 6cnHUyALm7@].4N#'>uuuaaaBBB!!!žx}`znTdZEOG782&1234567890-= qwertyuiop[] asdfghjkl;'`\zxcvbnm,./* -5+/ !@#$%^&*()_+ QWERTYUIOP{} +ASDFGHJKL:"~|ZXCVBNM<>? -5+/ 123457890=   + + ;"`\ ,. -5+/ !@#$%^&*()_+   + + ;"`\ ,. -5+/ 1234567890-= QWERTYUIOP[] ASDFGHJKL;'`\ZXCVBNM,./ 789-456+1230./ !@#$%^&*()_+ qwertyuiop{} +asdfghjkl:"zxcvbnm<>? 789-456+1230./ 12356~`|\-= qwertyuiop[] asdfghjkl;'zxcvbnm,./* -5+/ ;Kc{;Kc{;Kc{;Kc{;Kc{dIdIdIdIdIdIdIdIddIdIdIdIdIdIdIdIddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd~~~~l|88||888T|8|8|<<$BB$۽?0($$( <$<$$T((T 08<80  < 8||8HHHHHH>JJ: + + + $$8~~8||88TT8 @@ @@|$BB$8||8(((((|(|((P(8DDD8(8DDD8 8DDD8(HHH4 HHH4(DDL48(8DDDD8(DDDD88TPT8$ x "|DD(||8D@D8$ p 8DDD8HHHHp4X|(D(|8DD|DD88DDD((l< DDD8ll$JR"\@<@8@<8DDDDDD|||||  8 8 `| T T(P 8$$$8 <<<<< +  !kkk::kkkkkkkkkkkkkkk>k`>k"WUk"gkAkkkk k8k +.Bk +Ak"Onk"Onk? )k"\k)"}k)"k kkkc8k k +k k%'kikb>d>kH"hk +kk)!8kH"hkH"whkik + kki-k +H :Hkwwk:k)k)k i +k +"]k +"]k +kH"lhk,.kkk  k"YU"^)k"("@["" +wk:00k'' ɀ k:k 8k8[dH )"Ukk )"Ukk ) "Ukk )"Ukk )"Ukk )"Ukk )"Ukk )"Ukk )"Ukk )"Ukk )D"Ukk )"Ukk  8 k [𫫯d>b>+kM"Elk [𫫘`>"2X+k [ h )X+k [ h )x+k)kkZ"Y: czkZ"X:czk)8kZ$"*a7ezkZ"Zj:zk8PI"`Ukk"[k"Za"W#"Xk  " " )kZ)))zkwk    k"l"}WT'"&kHHHH"zhhhhk  IiIKiKk +7k"[k)k)k) + + + + #e  kZ   ;",zk"x0HzzkkZZ  "YUH"]hzzk:   / k +   "akHHFf ee&hk0246k/ JJJJ /  kz"Y:z"6kZ8PIzk"mk + + +H +H"Vhh`>"2Xz +zk [𫫘"g+k)  +  k"W   k"W  J kZ) :8zk"W  k   "Zd"Zk(*kZ  HH )H )"hhhh"@`zk88(PI + +LHLky= y= + +{=}=y=y=kk "El"Elk:     )  k"U" hk>>",k:% +    kZ   yy I /yy zk# k +  +"? + + + + "? z z +zk","z  )   k"W  J:kkdHHJee&hzk)8PI&"*a?ekZ  )  zk!ɀ8 +ek [𫫘8b>b>d>d>d>b>+kZZ JJJJ JzzkZZ;"X  zzkZ   +)HHHHH )"+;i +"@`zkZ   +)HHHHH )";i +"@`zk + +8PI"oz +zk + +8PI"z +zk + +8PI"z +zkHZ H $  + +()h  zhhhk + +"r|z +zk   ):kH +&H) +H)*EJ&h)jh)jhkZ"W"    zk=""[8^>kkZ  A )8 +"Z J ) "Zzk"Z*"Z#"Z,"Z"Z"ZE"Z"dkZ  8     գI)8zk +   +  ) zz z +zk4"h"ʿ" ) H"h"V:1"hk"Ġ !  kH)ɀ))ɀ)zh @zzkhk +"Bs"NPHP +Nh"Vz +zk +BBBB +"Vz +zk4"h"]:HT"hh"V:1"hk + +8PId " +z +zkZ  ) + + +/ e) + + +e"#pzkZZc, +" +"*a8 + + + + zzk +ZZ +; +" zzz +zk +Z"W + +!"qH"Zdh  zz +zk:0 +#H`a&Tk + +;iHH +>="|hhz +zk + +) +H"]h H"]hz +zkH"]hZ  )Ȉ +I  )/) +Izk +Z +d"Z'  ; +"zzz +zkH + )+' + ) + + h((kZ  i  " H"hzzk +  + )"X: zz z +zk +i +)" )  z +zk +  + H +"El zz z +zk + [𫫘ZZ +)  H"hzz+z +zkZ8PI0zk + + +/ e"El"QgZ" X18 PI"e  zzk [𫫘ZZ"U"U ` )%zz+k +) +H"]h +ک H"]h +H"]hz +zk +ZZZ +: +  ڦzzzz +zk + [𫫘"Bs":< H< +:h"V+z +zkOr|Uȗȗȗȗ:ȗ  k + [𫫘 + +"   +"JQ:"X+z +zk;8J  ;"j;"?;";iJk"VU"/"rnj<"K"W\y [𫫘Z & )4"*aw$e"g & z+kZ  CC UU CC U* CC UU zk + [𫫘"Bs +  + +"V+z +zk + [𫫘"Bs# +"V+z +zk + [𫫘"Bs& H +h"V+z +zk + [𫫘"Bs&>@ H@ +>h"V+z +zk + [𫫘"Bs&BD  D +B"V+z +zk + Z +:d  + ئzzz z +zkZ8PI08$"*a7!7$"*aezk + [𫫘"Bs$ H +h"V+z +zkZZ"W4   ))   7 zzk +  "`$% + + + + + % zz z +zk/):#):k +   + )"ZH)"Zh8 ) Պzz z +zk +Z )"W  w"W  zz +zkW>,>>>>%>A>==(>=>>>>~Z>\>k [𫫘Z"8" +"r|"Xz+kZ8PI9V"*aMeH",hzk +  "Bs&JL HL +Jh"Vzz z +zkZ     J  jj) ec  :  ȈǣzkZZ   JJJJ ))#) 8PI0 8PI0 +"*aczzk7 Z |UȗȗȗȗkZZ:2    zzzk + [𫫘"Bs* HHH +h"Vhh+z +zk + [𫫘"Bs*68H H8 +6h"Vh+z +zkZZ8PI0zzk8PI0Ӣ"_qZ  CC  CC    :zkZZ  "Za7  ;iH;i"êhh +"Xzzk + [𫫘"Bs( H +h"V+z +zk + [𫫘"Bs(&(  ( +&"V+z +zk + [𫫘"Bs(*,  , +*"V+z +zkZ    A) + + +?/   # +  ) + + + /  "Qgzk +Z"Bs  +"VHd ",hzz +zk + ["q4"On"On"gi +"g +PI0+z +zkH) H +)87IJj(hk( +*(zzk + [𫫘 + +" +"Ahh"X+z +zk + [𫫘"Bs*24 H H4 +2h"Vh+z +zk +ZZZ>\>\> +Z>"Vy=:"Uzzz +zk + +}= +{="V:Ӌ [𫫘ZZZ"U"U'  l    l zzz+k [𫫘ZZZ"U"U'  `    ` zzz+kZZJJJJJ)?HJJJ))H#H JJJJJ)H J))iH "h;i +zzkZ"ZaC  )zk:,:#02460246kZZZ  ,o0.o2 "*ac @ ` .,"ήzzzk +;8 +;"tHH +;i"][hh;iz +zk;8T>8PI0:HHH;i "6~hhh;i",;iTkZd;  )H)h8   :zzk;8 +#JJJJ  #   ;i"7;i +k +;8 +;"lHH +;i"][hh;iz +zk +ZZ8PI6""*a;e + +"Vzzz +zk +;8 +;"l;iH +;i"][hh;iz +zk +"d > +> +E>"}Z,>"}Z>"}Zz +zk"`U +;8  i "a  i "a;i k;8T>8PI0>HHHH`;i "6~ hhhh;i",;iTk + ZZ + +  "  w ^>zzzz z +zkZ8PI0zk""*a;;""*ae [𫫘ZZZ"U"U.' l I%   l zzz+k + [𫫘Z + +" +"]"r|"Xz+z +zk + [𫫘Z + +" +"c5m "r|"Xz+z +zk + Z  +  "W +  ::zzz z +zk + + ?  2)(d"hhz +zk +Z +Hn"Zh +"2ZH +HH"hhhک ",hzz +zk + Z + + +"2Z e  + ) zzz z +zk  +  [𫫘"Bs .. 0 "0 +. "V+zz z +zk +  [𫫘"Bs .R T "T +R "V+zz z +zk +ZZ +"YU"`: "YU"Y^:zzz +zk +ZZZ + +"W#/;i +" zzzz +zk +;8J +;"j)  ;"?;";iJz +zkZ    N#) + + +/ e  !) + + +/ e ' "Qgzk + + +"Y:<w + +eɀz +zkZ    P') "*ae  %) "*ae ' zkZRM$&H)h8PI0 "'e zzk;8T>8PI0FZHZHHHHH;i"6~ ;i ;i",;iTk +ZZ + +"[:<w + +eɀzzz +zk +  [𫫘"Bs 0" $ $H$ +" h"V+zz z +zk + ZZ    +   "W: +:оzzzz z +zk +Z +0B;H +i"êhhzz +zk + [𫫘ZZ8PI2""*a;e +"Vzz+z +zkZi  8PI0  zzke  Z    NH/ ) + + +ehH/ ) + + +eh"Qgzzk +ZZ +%;i +"z zzz +zkd"V:Z&"z   )  6HH"3hh    "azkZV            I%  zk +Z +"Z  ; +"z +": +"Qizz +zkZ    PH) "*aehH) "*aeh +zzk + [𫫘ZZ8PI6""*a;e +"Vzz+z +zk +8ʆ8ʆ + +$2 +0 +d"\eHe +hz +zk [ Y )d Z )Ȉ +& [ )+k +ZZ8PIG6"*a:e% +"Vzzz +zkZ   0 P9  E a 0f  % A F  )i)i )80zk +ZZ +"ZaC;iH +"êhh Y "r|"Xzzz +zk;8 + "r|"r|`>HH  "h]hh;i +k + Z "Za + +< + " "2Z)"Xzzz z +zk P X Y Z [ ] ^ _ X \ X k +ZZ +{", +"Za/;H;i"Ehh) +"Xzzz +zk + [𫫘Z"KZ +)&"*a?e" +"c o$ z+z +zk + Z  +0 2  " + "zzz z +zk +ZZZ +8PI + ;iH"ohhH:H"ohhzzzz +zk + ZZZ  +8PI0zzzzz z +zk "YU +cH"]h8PI0/8PI0    .      "k + [𫫘 +HH$"Zhh8PI+ +6"*a:e6"#p+z +zk +ZZ"`N8,"% + + + + + ) ) JJJJ zzz +zk +ZZ\ + +C7 +"d0 +zzz +zk +ZZZ +8PI + ;iH"ohh8HH"ohhzzzz +zk +ZZZ +8PI + ;iH"ohhcHH"ohhzzzz +zk +ZZZ +8PI + ;iH"ohh8HH"ohhzzzz +zk +ZZZ +8PI + ;iH"ohhcHH"ohhzzzz +zk + ;8R >8PI0B;i^H ;i"}hh;i> +>"V;iRzz z +zk +ZZZZ + + +"2Ze) +     zzzzz +zk + ZZ  "0< "[0* "U%zzzz z +zkZZ8PI*8PI Ȉ :H:H"ohhzzk +Z +8 +PI0@ "*a  4 + "*ae":e: zz +zk + [𫫘ZZZZ;i;":;$ +"Vzzzz+z +zk + ZZZ + 8PI c   zzzzz z +zk +"i + Z + _"r|H H"hhh8PI  e ӊzzz z +zkZ  ) + +  ) + +   ) + +e) + +e  zzk + [𫫘ZZ8PII""*a;e%HH +h"Vhzz+z +zk + ;8R >8PI0B;i^H ;i"}hh;i> +>"V;iRzz z +zk +ZZZ +   +;"&8PI2 +'7) +"[zzzz +zk + ZZ  +", "Za*;iH +"Ehh +"Xzzzz z +zk"_*"hi"#mhh"__"hi""_ "h""_"5"5kZi:] +KH`"^WM"^WD? ' 0 @ ! '   zk + Z!ɀJ=ɵ6% + + e 8 ֊i)zz z +zk + [𫫘ZZ8PIN""*a;e*HH +h"Vhzz+z +zk + [𫫘ZZ8PIN""*a;e*HH +h"Vhzz+z +zk +  +   +L       "#pȷ   "El i + zz z +zk + Z  + + "@ +:)0 +i2 0 "-hzzz z +zk +ZZ + +HH5"hhh +"h0/"H"h"F):ܣ"H "hhzzz +zk;88PI0! ;i"7;ik%ک8;ie  FfFfFfFfZ  )az8 ʆɀ8)zk;8 +cJ iH + +he +  ;i +k:  ;8 +JJJJ))  ))  JJJJ)  )  ;i"7;i +k + ZZ + 8PI0 +"zzzz z +zk8PIH ch  [𫫘;8RZ;i"6~h ;i"hh""r|"X;iR+kZZZZ  86PI0zzzzko2 "*a84PI0 0ce @  `  +Z +"Zaf +""XW% +eHeh""X+ eHe +h""Xzz +zk + ZZZZ  +8PI0zzzzzz z +zk "YU"^H +c h  +ZZZ ++   zzzz +zk +cH"h + Z + + i  )     "    @' ) +"i)zzz z +zkZZZi0  :  ;8"*a&e"Ha",h)H;iH",hhh"Xzzzk +  [𫫘ZZZZ;i;":G0H   + h"Vzzzz+zz z +zk +ZZZZ + +i"Z  7i +"ZHhzzzzz +zk + Z  + "7O +)  + $ + zzz z +zk + [𫫘ZZZZ +CC"qQ +G +="On +  "gi +"g +PI0zzzz+z +zk;8 8 PIx;i H"o;iH"w c c 8;i H"mw d8"s;iH!"mw;i;ik + Z  +H "2Zh+ "2Ze  zzz z +zk c)"ZH +ch  [𫫘;8T"L hhhh]H]HHl;i "6~hhh;i"nY"r|"X;iT+k +;8: +;i;i":O;i"/+1  + +;i"ѯ;i:z +zk +;8T +>8PI/"_H +HH;i "6~ hhhh&ڥ +HHk;i "6~hhh;iH"hh;iTz +zk [𫫘ZZZ;H"C[hhhhF&HH"hh1H ",hH ",hzzz+k + [𫫘;8 +;i;" >&("( +&"V H +",h ;i ++z +zk + [𫫘;8 +;i;" >*,", +*"V H9",h ;i ++z +zk + +  +ȈFj +  +ȈFj +  +ȈFj +  z +zk + Z + 4  6 +g "O + i8 "bh +4 +6 zzz z +zkZZZ -84PI0086PI086"h6:,.o0o2zzzk [𫫯CLC"!v:#"!v:4"!v: CV"UCC ɿ 4CC    C"UC+k + [𫫘;8 +H"Zh;i;i":B "  +"V"c;i ++z +zk + [𫫘;8 +;i;" B"$&H $ +"h"V H ",h ;i ++z +zk + ZZZZ  +8PIV "YU"^   + 5 + +c  zzzzzz z +zk +)Ȉ +&)d + +Ȉ +&)d + +Ȉ +&)dz +zk + ^>LU~ f8ʆ +8ʊ +"Nz +zk + Z + + i e )8PIF cH"h c   zzz z +zk;8 8PI0L;iH"ohh;iH"whh8PI +cc8  ;iH"mwhhd "s;iH"mwhh;ik8HHH +**** * * * 8Hh hhhzzz****Jh;i(khhhhhzzzz(k + ZZ +."  v 8PI0\    +)"ZH +ch c  zzzz z +zk + Z  +  W  N  )<   !  "VJ    zzz z +zk + ZZZ + %;i +"z S 4  +"z;i +"zzzzzz z +zkd"V:L + ZZ + )"W::   "W:S))e:"a  zzzz z +zkZ?8PI@8PI0PG"*8 A"*:P8PI0"PG"4c A"4zk +  [𫫘;8 +;i;" K.0/H  0 +. h"V H1 ",h ;i ++zz z +zk +  [𫫘;8 +;i;" N243HH  4 +2 h"Vh H1 ",h ;i ++zz z +zk +"Uix +d" ""dd"_q"_q"_q"U +PI0d"_q"_q"_qz +zkZ"Z8PI0T8PI0zk$"*a77$"*ae6"*a::6"*aeLA;864 K aW(!B\#%+-/1')35;":9;";i6k + ZZZ +##"DV"OWʆ""OWʆ" 8PI00c +7cWc  +    +"DVЁzzz\;8 cD           ;ik  + ZZ   +  +":L  ; +" [  +"; +"z; +"z#  zzzz z +zk/)$(*"Lɿ+&(*"c@+&(*"3@+&(*"k;8 +      ;i +k"i) +_vH) +hT#:.#:  )".JJ   L +;8T + +HHR "hhh + +"h8PInH"h;i"6~;i"2ZH;i H "ک +"h ;i +"ӏHM"hh;iTz +zk +;8 cJ + +cic + +   Ȁ ;iz +zk:L;8"         e AUY=!;":"  ;";i"kZsBBBB8 PI0_ h i j l m n ` a b zzk + +eL^ + Z + V + 0 E X + x $ȷ )":  E% 0 6 X + x ! 8PI08PI0 zzz z +zk +Z8PI0Lţ$"*a7e +r +8PI/ +6"*a:eE +"r|$ +"r|zz +zk + Z  +"b + + +c i +c + + +c i +  c   +' ȷ ϥ +ȗȗȗȗ ȗ +ȗzzz z +zk;8  + ;"X Lcǣ + + + + + 4  +   +  + + +   ;i +;i";ik           y "_8 PI0Pz"}Wʿ"3hh @     "ak +Z A"SPG""PG"4c A"4?"Sń'7""PG"*8 A"*:zk + Zi + +)) +eHeh)) 8g +ȗ +i8 8ʠȗ +Hȷ +h"z\ +  [𫫘;8 + +H +HHHN +",hhhh;i;i"J  . +H  + h"VH9 +",h;i ++zz z +zk +ZZ +)L64 +i8"bhL  84(H6*h "H  ;4 wH6"wh +i8"bhzzz +zk;8;"l8 +) + + + + +ʪʠ Ȉ +& ʠȈ +& ʆFj;ik + Z   +     L͠  L  w   +) e    @ Z   a "z   +"C  H"hzz z +zk [𫫘8PI0LΘ""*a;e + +  +kZ H Lϯ(ʆ$ʆ". *ʆ&ʆ"."  s  i) +ʆ$ʆ".) +ʆ&ʆ". 8"8 "zk + ZZZ + ; +" LWХ  +"Lt +"8c A  +"ѯ +"=V zzzzz z +zkIIڅd*8&zzkHCh"mH"mIk$8$8 + +ddd d & +&&8& & zz +z zkEH"z8kk;8  L5үH h 8PI0j ) + +     '  ) + +e  %  ) + +e  4e  e  L;izk +;8 +   + +  + "?L"Ӡ +ic  8<PI0S;iH +i "êhh  ;i +z +zkZZZZX + + + + + c  :Lӣ +H`HH> "hhnHH: "hhRHH* "hh6HH6 "hhHH2 "hhH "wh)"%"Մzzzzk;8V', U q΃#[!#%_79e\;=\')l{+-\/1[35ή?AmWCE{GIhKM颃OQ^SU;";iVk;8 +;H"mwd"Q"3HHH";i dd"*d""! 8PI0""o"ohh;i +kHH "hhdd "%d "Մ  ZZH"Zh0V8PII$"*a77$"*ae$"*a7ew8PI0Y$"*a7J$"*a77$"*ae$"*a7ezzk + ZZZ  +   , .7  . , "L t +  ",I      "=Vzzzzz z +zk;8 / ;i"g;i"gH;i"2Zh?;i"|:"Lhhhh;ik;ic   A +Z  )"ZH;ich LM + ;8 +  + +":L٥ + " 46 +i8"El +i8 +6H c "bh c  + ;i +zz z +zk + ZZZ  +  "LLک +  ",j    ) " "=VL>ڣ zzzzz z +zkZZZ: +8PI0.80PI0/")VPI0 +80L۩$8PILۊ80PI09",VPI080^8aPI0V")VPI0i28API06")VPI0izzzk +  [𫫘;8 + +H +HHH "Zhhhh;i;i"q HH=",hh . +H   + h"VH2 ",h;i ++zz z +zk +;8   + 8PIL +ޣ"*a 8PI0L +ޣ8 :8PI0m + "78 PI02 c + +jChC "7 +H "h  H "h H "h:Lw;i z +zk +  [𫫘ZZZU"Z"r|8PI0Lߣ6"*a:eLߣ" + n ` + E H  + +h"c"V  zzz+zz z +zk [𫫘Z8PI0 +z+zke  ie  ie  ie  ie  ie  ie  L=;8@;i ;i":LB ;i "/_7  ;/+)  "ͦH h 7  + +  :  ;i@k + ;8 +  +  "*W"El ) + "3;i +zz z +zk: + + +c + + +c i +cH""Wchȗ + + +c : + + +c i +cH""Wchȗ LZZ +"hZ"'8PI0Le:",@"hhLL @ LL @ LL㯜@e@@"z@H@H"hhh@@H"hhh@"hhh@"hhL"n",H%",hzzk + ZZZZ)* +  ϧ) L)*  ϧ) +!   +zzzzzz z +zk + ;8$8PI0L8PI0L$"*a7e +$"*a7e    +i;i "#p i +i "#p;i i "#p;i$zz z +zk + [𫫘;8;i# + & L;i4"*aw$e" "XL   8PIL;ic +i c   +i c);i+z +zk + [𫫘;8;i# + & L;i4"*aw$e" "XL   8PIL;ic +i c   +i c);i+z +zk + ZZZZ    L) + +)oHoh8PIL/ ) + + +e  ) + + +?/   # + + + + +  # + + +  ) + + + /  "Qg4e + e   LNzzzzz z +zk + [𫫘;8 + +"8PI & LI & L8)B;i"]h;i4"*aw$e"* +4"*aw$e"HI",h"X & ;i+z +zkL] +  [𫫘;8! +CC +  "qLk +Lk#eHe +h + Lk8#PIcHcheHe +h + "On  +  "gi "g PI0L;i+zz z +zkH + )&" + ) + )0 8 + +hk ڥH + )2. + )! +8  +ж0 8 +𚰥hkH88HdR8W)) +*)(j)J(j zzkJjfȀ( +  [𫫘ZZZ"Bs LF H L )"ĠL;iH"ohhH"ohhL;iH"ohhHJJJI)8 + + +H"ohht;iH"ohh8PI=H:H"ohh HH F  +h"VH:H"ohhHH +F h"Vzzz+zz z +zkZZZZP8<8;H"mw +"hAHAH"hAHAH"hAA"Hz"hAHAhZJJJJH"h;iAHAHAH "hAHAHAH "h ;i H"mw"o;izzzzk@"$f"#dH̢:dFfc c  e + * &ؘ8ce~hhhhhh/FffF8&/y$0&&ddZddQH)hF8&H)h)H)h) +J Jȥ +Z먊JjzkZZZZLo >  +"LfLf)#cLS~ +H`8`f8P\cR8H80>8 48*8)88 +e  +eLzzzzzk + ;8 +  + +i"Z:L~'): "*a  1@')" ɀL~ + e j +)e"Z; ɀ9    +e';i +zz z +zk  L +;8;i H"ohh;iH"whhLQL c ;iH"mw H"_f;iH"mw;i +L c  ;iH"mw H"_f;iH"mw;i +L c c8  ;iH"mw H"_f;iH"mw;i +;iz +zk + ;8 + +:  8PI0L;iH;i "Ehh ] ) E      +E L$  +;izz z +zk +;8 + +"]*LL   : + +;i e / + + +;i e"]*;iz +zk +iH + + + +he" H + +;i ehLn + [𫫘;8 + +      JJ +              #   "5td"*a "5te "5t"5t# "5t0   "5t"5t +;i ++z z +zk +;8 + + + L;i;i"L  +"/L+ 0G7)+ "ͦ + ,  +"L  ;i +z +zkZ"Y:"6LZ"]LW):LO))  )  <)H"n  hLZ )H"n  hLZ@)H"n  hLZ)H"n  hm?)H"n  hC)H"n  h')H"n  h "]L4zk"$f"kI"$f"k"#dHhڥ +E\8~FfjJ8 +Fl$ zzzku +**Ji +Jȣ +fjhhzkFeeJjj8j +ЧгH +JhȈkЗF@ + ;8   +       +i"a ): "*a)  +e +)e"a    L/ + e : +  @    ;i zz z +zk + ZZZZ + :8PI0LJ +"LL8PI0L?) c q +W = c  c ] c ] c J8PI": c L,zzzzzz z +zk +ZZZZ +  Lt;i"j"V - "V +  "V  "V   +"V"m9 - N"^>D +.8"^>    +%  "V  "Vzzzzz +zkA(A +@ +ZhhJjhzkک"$f"#dHҘ8i0 +*$ &$8 &ccd&8&&&8j$Ff19Ffj  +,&JȀJ dd +ZhhhhJjzzk + ZZ  L7 L  L    L  L  L"CYȷ   + + "  L +e8 +d    5  ȷ +  +ȗ  :"CYzzzz z +zk + ;8  + +i"Z:L?'): "*a  4@')$  +e:LL +)e"Z ] ɀQ   "B  +e"B  , + ;izz z +zk  L;8:c U Uա!;#%i')\/1U35dZ+-)79;i":Lf U Uա!;#%i')\/1U35dZ+-)79;i""hhh;i:k +;8;i H"ohh;iH"whhLAL H"_fhL ;iH"mw H"_f c  ;i H"mw H"_f;iH"mw;iL c c8  ;iH"mw H"_f c  8:;i H"mw H"_f;iH"mw;i;iz +zk + ZZZZ<L87g0f +g +  ȷ   ȷ g7 +80] +"tVȷ"tVȷg7H h"zzzzzz z +zkZZZ "*aec  )"Ġ "`\@"`O1 Oyy y  "_"` "`  L + ~ + ~     ~   a  . ywz"[:"zy)))"ņzzzk + ;8  + " 7)L +7)$ + Ȉ +& +8 PI0     ")_ +  + "Ӷ:i:У    " "Qi;i zz z +zk +ZZ + +"LO   L)   L)  +i8"El +i6U"a +i8RRaA" +irrAa" +i " +i$"&$4664 +i8"bh  H"^hzzz +zk + ;8 <L c)   "b + + +ci +e + + ȷ + +L +ȷȷ8 Y +g  +c    7 H  h" +i;i zz z +zk + [𫫘ZZZ +8 +PI0L "*a  L& "*a  8PI0L8PI` +c   A)"ZH "*aech  "*aezzz+z +zk "*aec L.L  + ZZZZ  + L L& +"{L "r` LE L %L +"{p8ʆ'   Lzzzzzz z +zk +  [𫫘ZZZ + +"8PI% o$ L o$ K ",L" + L H",h  +&"*a?e"  WH ",h o$ "c"X!", o$ zzz+zz z +zkL +;8 +"h + +8PI0';i H"hhh;iz +zk8 +PI= +":0  ;i H"hhhLs8 +PI0Lk +c +  )HN"hh)"\X:3)"X:&;i c . $;i c   + +LF +ZZZ +  ) +zzzz +zk)"Ġ   L   L ڃ  L ك  L   L   L Ã  L   L ă  y ۃ  g Ń  U ƒ  CH"h [ [H"h     H"h  L + ;8   :L^ +H`L^;i H" Hhh ;i H" HhhL^LaH} + +"c: + LaL^{Hy + +"c: + oj"YYEH + +"c: + ouow;izz z +zk + ZZZ  +   ;iH;i +H "hhhh8PI0!HH "gyhhzzzzz z +zk + +e8PI0%8PI08  L8ZPI0a8PI08R  L8(PI0/8PI0 8(  [8dPI0k8PI0 8\  3 +   # # L + ZZ    LbH))"*a8PIL() "*ae  ) "*ae  ) "*ae   ') "*ae ' %) "*ae  : + + e H + + e hL%zzz z +zk + ZZZ   ɀ L  L)8 + +BB  )"X: ["ņ6)8 + +B +B))"ņx;"ņ JJJ ))"g  (#)JJJJI)8i0"ņ#)i0"ņ )"ņ~"ņ!  "ņzzzzz z +zk +  [𫫘;8 +;i-  +"8PI & L & Lo;i)HH +HH;i  4"*aw$e"Dhhhh"XLo     8PIL;ic i c  i c);i+zz z +zkL[ + " X + +L4 ) )  )       `  "Ui "U PI01   "Ui "U PI0驇!  "Ui "U PI0  "Ui "U PI0   "Ui "U PI0   zz z +zk + ;8    "7)L7)%  Ȉ +& ? ")   ",:L 7)ʆ " ")^ +  + ",:i:Щ ",: "Qi;izz z +zk + ;8 +   +C #  7"    L!     " "Qi "Š:L!@   +                  ; " ;i  "z +  ;i  "z:  )ӣ ;i +zz z +zkZ  ) "*ae) "*ae  ) "*ae) "*ae  ) "*ae) "*ae  ) "*aeH) "*aeh) "*ae +H) "*aeh +) "*aH) "*ah  zzk + ;8 +;i +" L$@7)L$ K +i&   "bhL$ 7 "  ",L$$"      +"~ i " i" i"a   " + 7 ;izz z +zk + ;8 + +L&7 +"d^>   == + => +>> +  L&=eL& +L& ȷ   ȷ ȗ"}Z ^>  7)" +"(  L% ^>;izz z +zk + ;8  + + ^>L(7 ^>Lk(& " ^>Lk( +"Lg(   L`( 8 8 ȷ  ?ȗ + +"[ b L|'       :   L'8    ;izz z +zk"_"U",hhhA"="_V","pY    """x ","^i "," ","us","B]"e",")","2",""r|","4","Y!","E:H",h +","N:"r| ",k +ZZZ +  46 +",:L, +i6"Z8  L,U+ +i"t:L, +iC"Z E :#:L,L,L,  L,)):%:L, +iF"Z:L,H):r +iI"Z:Z +iK"Zɀ$ +iX" iN +"Z:Uzzzz +zk;8 +(*$& H 8:BBDF<B>@LY-"q"H"[hB"Hd"_hd"HH"#[hh H " ;i"l{ "d"ή;i +k + +eH + +eh + + + + + +eH@ + +eh + + + +@L, + ;8 + # :';i">L/ : Ч) + L/ +   ? _ * M;i"> ;i ">  L/ L/L/   ?   ?  * :H  "-h4  ) ;i"> Lb.;izz z +zk + ZZZ  +  / : \ (   + : / L1 \ L1 +  & + "LLM1;i "n "+ 8* L1 +  7 )zzzzz z +zk +i8H7 he +"ͦ + L0LE0 + [𫫘;8 + +d" H d"*ah8 "g  "g  "g  "g  "g  "g  +"g  :0 :        "g  +"g                   :     #   ;i ++z +zk [𫫘ZZ"U"U:L4LU4 L^5"ĠRF:#.'"+/ +3L<5L^5+"Ġ7R;F?:C.G"KO +SwL^5O"ĠWR[F_:c.g"ko +s  zz+k +;8r +;i;i"LR7? A;i?"/ +j LI7i  EJL6][ "ͦ +EL6  + x  +;i "LD;i "8c  h;i?", +&;i? +"2 " +;irz +zk + ;8 8PILJ98PI0-;iH"hhh;izz z +zk c  ":L8;iH"hhh8PI0L$Hf"hh$$ H"hhh&;ic )"X:&;ic  $;ic . ":"h)H"hhL7;ic L7 + ;8" V  +  L;;"V"j"V - "V +  "V  "V" V  ;"V"^>L ;"Wʆ" "Wʆ" +;i )":y  +]  + 8PI0E +"Wʆ"\eHeh"V" V +L;:"^> - II +    5  "V  +"V" V  +;izz z +zk +;8  +:Le= +-H`;iH" Hhh0*"h"f>"hhhZ;iH" Hhh0="h"f>"hhhک "hhLs=;iH" Hhh0*"h"f>"hhhZ;iH" Hhh0="h"f>"hhhک "hhLs="MhH"hhh +J >  1)'"f>d"hh/"h"h;i z +zk + ;8  +7)Lv?LT?Lg?  Lg? + ")LR?; +"Ӷ:LR? ***)  v ) +)Ȉ +&e?# )ʪeHeh +Ȉ +&  LO?## **) e# + e  + ***) ) ) + +e#) + +)eH)8 hȈ +&   +"Š: +"Qi;izz z +zk + ZZZZ +;i +" LA)LA7)LA LA: + +"2 +L@ +"r`  % E  > & + "2  @ j [ +i&   "bh  7    +zzzzzz z +zk + ;8F +TR ;i;"LC +LC;i"LLB;i"8c LB C1/c)   +c    +e : +e ţ   LC LC&$",_      'd Ci8c"  ;iFzz z +zk + ;8  +8 +PILE  LE [ LE):8PIL +E +):e  "*a V  "\LE"*a V MV"*ae + +;i "VLELxD +c  )"X:I +;ie +"*a)80eH +;i eh ; L*D "\;izz z +zk +;ieLC + ;8 + + "#pLF:d&#eHehJ))  II! #i0  JJJJ9  c      :;ic    А;ic ~ S +c : +c"W::    '   ;ic)  +c  ;iz z +zk +  [𫫘;8, +;i;  +"8PILAI;i +"dL8I     8PIL;i-c i c  i c)LFJ"XLFJ;i "te + +hjfj;i "ԕ;i ;i"te;i"ԕ;i  +"q:(;i +"q: LpH      + +hjfj i "te;i,+zz z +zk +;8     "J  ) LK  + 8 +PILK +A%S ", +",u +"h0;"V"ӏ "r|& "r|;iz +zk "*a  LL   "*ae":e:f "*ae "*ae +"J + +   +LJ + ;8   +  LN ) )LN   +  "  .,Z ȈFjdLN, .  L]N + Ȉ +&   g "r`%LN3#8 H h  LN +"       _ ȈFj eH eh  +i8H%he  ;i zz z +zkZZ"te8PIL:Q8PIL*Q8PILP8 +PILGPy̩" t" S" ;i    UU;=)c#%!')tv+-t79{/1Z35 "zzk "*a   "*ae8PILPO "*aec "D09Hm",h"ڣHC",hhL7O o$ LO & L O +;8 ;i"X;i ;i":LS / 1;i/"/ +ZLSMK;i "#p;i/;ic4"#p ;ic"/: 7k9m?s AuLS;ic"qLS +;i +i "#p    7)     7)LSk7 m9LS +  "ͦ  " X  ", iX1 . $  mk"~   : ;i/":  " +;iz +zk +;8  +"4;i{H" ;i s  L+Vt E L+Vu L L+Vv F L+V= + +HHHH;i"6~hhhhL.VL.VL.V   ßLV "*acHHc" ;iH" ;i  LV  +YH`L.VL.VHH"HHHH" ;i û㽰8㷅Hc"El dcHch c d c    LT;iz +zk +;8 + i  LX ) )LzXN ȈFj dLXLzX ȈFj  +:d%%LzX +"r`LX%LX LHXLX +"/LXCLX#LX ":o "   i8H#he;iz +zk + ;8   L.[   +    + : ʣ : p 0 7 9 (    +)808PI + L.[ / L'[ / ߩ + + +hjfj  +  + + +  + + + +   +   a !z  8      a !z  8       + + +  LY   / + 8PILY8PI + );izz z +zk +  [𫫘;8T +;ic 8PI0L];i +"mL`] L`] +;i?"te:;i?"ԕ;i?H;iG;i"DhhhhL\;iU)|;i;iU"m;i"D:';iU;i?"te%;i?;i "L9\;i "g"E "r|L]9;igHH;i ;iC "]JhhIZ",6;igHH;i  + "]Jhh;iT+zz z +zk;ic L[ +;8V ;i;i":Lc`#% ;i#"/: +N Lb`;i"/ + +E +% + " L_ +"L_ i8 "El .8  C iN "i8 +"~i8iX "#p .Y +-iX"~  ;i#"qrA?i "A? +"~A?    " +";i +"2;iVz +zk + ;8  +  Lc  Lc    L b  La  Lc ȈFj +(cH*ch",:  Lc +i8H + +)he" %H%hLc +*(  ȈF j eHeh",:  Lc +i8H +)he"ZLc Jc +*(H J)he",:  Lc +i8#e) +*(H J)he",: + Mi8#e)) ) ))JJJJ;iz z +zk + ;8 +  +         Le +  ",Le  + + Le  ? 7   + Le + . Le#   Le  LRe +@Z   # +    ,  .     +     M   2   "x:):     P    "s  , . J    "=V   Lc  ;i +zz z +zk + ZZZZ  + '"V  +   Lh   +"  LGh +"  L~g;i +"z  L{g ɪ L{g@ +")e_ +:")A;i +"z@    "V:LfL3h +"          +")/ +")  "V: '  )     +"Qi )zzzzzz z +zk;i +"z:   LEf;8&!!062!c6o28!66o2:!c2:8!060c4o0 8 #64o0:c0: 8 # "*a% "*a8% "*a! "*ae8%  Lkw "*a8%U%c  cԣc @ c ` #c!w "*a8%U%c cԣc @ c ` #c;i&k%c%cc8#cc8# c  L j#c#c @  @  `  ` #c +ZBBBB +"VLn `   LmJsuu +s"VJJoqq +o"Vkmm +k"Vgii +g"Vcee +c"V _aa +_"V@[]] +["VWYY +W"V ` a   Ln  J1SU'  U +S"VCEE +C"V ?AA +?"V@;== +;"V799 +7"V a b   LnJ355 +3"VJJ/11 +/"VJJ+-- ++"VJJ+-) +'"V b zz +zk;8X;i ;i":Lq ;i "El Lp;i" "B" Lo "[y   +X &;ic  ;ic LoLq Lq%:;ie :ף % '-/;i%"LLq;i%"8cY;iCA "#pCA    " +LqLqLq;i%"i CA"ElCA  ;iCA "#p    " +;iXk + ;8  + +7 )Lt  +e:Lt i ;i  "#pJLr @+ dFH H;i i "Ehh "*dLtLt + LOrJJ  c " "Lt:Lt   H + + + + +h8"LLs i "s   +  ",[H   "h  "=V  : ЂLt +  ",k   "El i   "#p+7 H  h  ;izz z +zkLq +;8*    "Z + +LwLw +HH "hhh 8 PI0LKw&("$8 PIF&(PIg +c;i c (&("$Lw"$Lw&(PIM$"Ȉ +&H +c)henC&($H$h +c  "$(&&("$Lu  + E ;Lau +  +";i*z +zk;8b "x"9o ;iH"mw HH"gy H"}u;i"o   HH"o"j  HH"o"jH#H"o;i"jHH"o"j  HH"o;i >"Ġ3"jhhLy"jhhLy"jhhLy"jhhq%"jhh\R"jhhG"jhh-"jhh`"jhh  HH"ohh"jhhY   HH"o>H>Hs;i"6~ ;iH"j;i  R   HH"o>Hv;i"6~;iH"j;i +   HH"o"j HH"o"j;i + ;8 +  L6~L6~  L|  LK|  L0~ȈFj +(cH*ch",L0~ ) ) +i8H + +)he" ))  +i8H + +)he"  L0~ +*( ȈF j eHeh",L0~ +i8H +)he "a  L0~Jc +*(HJ)he",L0~ +i8H#he )) +  ') + + + +     +*(HJ)he",y +i8H#he))')# ) FjFjFjFj   ;izz z +zkHπ)hkH)hkH hkHπ)hkH)hkH hkHπ)hkH)hkH hkHπ)hkH)hkH hkH)hkH @hkڢkڢ"k"""k"*"*"*\"7"~"~"n~"~"7"7"7"P~ "{~"7k8k"~"~"k""~""""~"~k"~"~"~"7"~\\~"\k, H"hk"*"~""~,"~N""ڢ"~"J"~"~"""~""~"~"~k"~"~"~ +"~ i0"~"""8kڢ"~"~"~j""~"""", kx0"G(k(kx0 @""~(kx0""~"~"~"~(kx0 ""~(kx0""~(kx0_"~"(kx0?""(kx0"T()k0(k(kx0, H"h(kx0"~"7" (k + ;8  + +"LLՄ   ,.   ",Lӄ Lӄ? 7   L   L  L߃@+7)L @Z  #   ,.         U  :   ": ):          Lm  !"s Lӄ+7)0 +i  "t:Lӄ  ,.     (  ,.    +"=V    L;i zz z +zk +ZZZZ +&"@$  ))*(,. " $Ll +H`8L|L|Pà|@j耠XaF N47"p]"ĠL|SL|L|L|L|C|jXF4"KKL+9 + +C +C K + LD+ + 4! + " +  + V:@) + 4/ + " +  + zzzzz +zk +;84;i!;"L:><!##!8ʆ#!&#!L8#!  LB!%#' +;i%"r`%  +L4E  +i + + + #!L{ L#!#!*(   +  I  #! ",   + Lꋣ     #!  8#!i8c"Z: + +  + Z#!i8c" )) + +c # : +     L  >#!#!  ;i4z +zk + ;8X  + "YU" h +;i P"g;i ;iH;i "}hhL"@W"p J?(4Q)G | "YU"q;iH;i "}hhL"1Wʆy"p ;iH;i "}hhL"1WʆE +EL;iH;i "} +hh +L +":e: Lc +":e: {> +":e: PC +":e: (% +":e:08 "YUH"ZdhL< ",L +",q} ",[",E",/?",k ",;iXzz z +zk + ;8   R    + +_ "r` L +%L +  L + +  L +LB +LB +   "r`EL;%L;h  "   + +  L + + L  ii  '   L + + + +"r`?E'%  + L + +LkL + +  +"{'! + "{e +   8ʆ    :     +=;izz z +zkZ8PI0L=HV"*ahMMV"*aeMV"*aeMV"*ae + + MV"*aeMV"*aeMV"*aeMV"*aeMV"*ae MV"*ae""$$MV"*ae6688MV"*ae::<<MV"*ae&&((MV"*ae**,,MV"*ae..00MV"*ae2244MV"*ae>>@@MV"*aeBBDDMV"*aeFFHHMV"*aeJJLLMV"*aeNNPPMV"*aeRRTTzzk + ;8 + &$;i +"  L)  L7)L8 Hhd +  L77L ȈFj +:d%%z + +"r`  L%  L"  LcJ)L- +c +8H   "bh  L X8Hhd2 +i&8 +) e"#p +) LO L웠 W +i&  "bh  L 7  +i&  "bh  L78 + +i&H7he  "#p 8 &$ g c c   L;izz z +zk +;8|n> p Jz>n>n>     +z>    +z>   +z>  +z>n>n>" hhhh7    8PIL "\_"'kXD"Q"3H H*HJ"dd"*""!D4;iH"mw ;i "h 8n>PIL 8 PI0L, "h8n>PIm +p>X +z>"MhHH;i3"6~;i3"2ZH;i5H" ;i ;i-"6~;i-"2ZH;i/H"hhh"gi +"g +PIR"]C"e +,8PI: +p>: +z> + +;ie"v;;i|z +zk +p> +z>"/ + +;ie +z>":L砣"V +p> 8 +z>"MhH "hhh +z> + +;ie   Ly$ 0 $ JJ 4 L + ;8"  H;i"^hLڥ ?"    S )"")" +         "Eli") +  + + L +L + L + +ed`dC5 d""\  +cHc +h % +cHc +h + +8H" +hL i +" i " .  +")")" + +")")"   +")"   +JJ))  + +cHch:")")" + +cHch:")")"  +cHch:")"   +JJ))  +  i  + +cHch + + L\iU"a"bh;i"zz z +zk + ;8b  + ;i;i"L;i/ ;i7 ;i7LϨ;i/ "LLϨ;iG",LϨ;iK"ͦH;i;h;i/"LLϨ;i/"8cV;iK"ͦ ;i/"=V LϨ;i;i/"ѯ;i/c)Lè  y :::;i/cc  £:c /  LL&Lv " :c /  ) + +hjfj  c )Lj Lש + + /    H c   +  Z    +c       L. +  + ;ibzz z +zk + ;8 + &$;i +"  L)  L7)Lc8  LA77LȮ ȈFj +:%L, + +"/ +"/ @ LE  L%  L + + W +i&  "bh  L 7 "  LcJ)LN +c +8H   "bh  L8Hhd?8 +) e +i&"#p 7  +) L* Z D +i&  "bh  L78 +   +i&H7he"#p   8 &$ g c c      L;izz z +zk + ;8 +  Lണ,.7Lz  +  +e:LM   +  +e!ؐ Lf8ic + d + "a c Lfie  L\c) +  5 .i c . i c  Li c )L -ic ? B    i c)Zie  ) L i c).     A@Z9 ))%: cic    Lⲣ? 7  i" Hhi"Zi"Z;izz z +zk + ;8  +;i +" )   Lo  %7)      LK + Ȉ +&L :" :" x::II%%8 HhLW +` +"/E  Lo%  Lo +  L9      L8 HhcHch7)C +"/L +"r`%  Lo9!  Lp  LocHch))b"  Lo ȈFjeHeh !  @ 77Lm Lm U +i&  "bh  _ 7  +i&  "bh   ;izz z +zk + ;8N   +  + L. ?# ;i;i "L ;i"/DLּ8;i"q   !  +  LļLļ" 86i "86i "86"ͦ 86 86"~86i"  L64;i "29", :Hh  ) JJ J  W @    46 6"8$    L 86"ͦ +86i"     +i&"El L L  + Ȉ +& +  + + x n +"r` + + # +  8Hh + L) )L" } ȈFjeHeh +i&  "bh  ;iNzz z +zk + ;8 +    .  + +"i%     L'ţ  +"1 +"\ -    +  +  "iLã"iLã& f L8">@"4"c"y"O c8 PI0 j Lã"iL£"O8">@"4"c"y + +"Oc8PI0\c8 PIK8PI  +H">h"4j +   "  Lţ - $           "> + +"4" \" +"*"\  0cH  h  :  88PI0Lã& f Lĥ & $8 -  +  +"i0   +"i0        L  ,           )Е ;izz z +zk + ;8     "X Ld̊ + + + + Ld̥ + # )/"V  J   +Ld̩Ld  "U  JLd   +Ld̥ +"$Lḍ Ld̠64 +iC"Z Ld̥ +iN"Z# +i\"  " H      Ld̠)"\ +E) + +:La̠ +: +7:Lḁ +iI"Z7: Ld̥ +iK"Z# +iX"  +iF"Z  Lḍ +c JJJJeHeh   Ld8 Hh +" Ld̩    Ld̦i$&c (* cHch02e +ib"Z: Ld̠: Ld̥ +id" ,.&&Lʠ: Ld(cH*c h,.G"\Fj77eHeh&i ȈFj " Ld̩  L"̥ +ih"ZL"̥ +",:L"   +i6"ZUL"̥ +i8" RRkaAd +i" rrEAa> +i "  +i$"     ;izz z +zk +;8@-/ 1"Z + +Lӣ)+% ' ! # 1L +HH"hhh8PI0Lө))++%%''!;#=79 53??8PI07))++%%'';!=#79 53L*ͣ%'LΥ +c? Z   4 +c? z J  )!+#;=79 LxөLӣ=L +У5ʆ;=PI0L +У7 9 A=;"p +c?))9H9hx +"r|  Lϥ +c?)9H9hc +"r|  x +c?))ʆ9H9h  5 +c?)    )+ Lң5ʆ;=PILѣ3ʆ;=PI0Lѣ)+ ]5ʆ8;H?h"p +c?))Hh/-79"r|)+ Lѥ +c?)Hh/-79"r|)+ x +c?))ʆHh)+ 59H9h +c?)    Lxң3ʆ8;H?hPIC)++)  +c?   )+  7 9 =;L4ӣ3eHehPI08     ! #   53?%i%'i'!)#+%%'';=79 53?Lͣ1;i@z +zk + ;8   + ;i"%Liۥ)H + + e h   f/_\Xɀ"[Liۣ Liۣ   + +eL9ԣ    f / Lܣ \ L            + : +e.I L֥ + : +e.L֥ + :: +e.L֣ +e , Hi eh Liۊ  .i e   2 +: +e . :ʦ + +eLi۩  + +e L۩ % + +e. +     ' +: +e. :Ң i  "El  )       + +e  Lqڣ Lۣ.  Lۣ L!ڣ L!ڣɀK  "#:#)    } :.      Lۣ   i c     L٣L٩"[{AZ     a'z  8        $_         i c     Lۣ    4       L{      + +     # #  +     JJNJ              + ;iz z +zk  + +     '         Lף  L֣L + ;8   ;iO"j;i +    Lmߣ % ;iO"? Lo + +      0 0 0     " O - %         "  * . +   %  n +   0 D9  9 +"*a)e80      +%   . L    * 4 +     s   0 D9  9 +"*a)e80      +     +   l d    l '            %;iO";izz z +zk)"ĠL#i + + ;c)L0 +# :#%;iO""?ԣ +)/:"  ;iO"?ʣ%;iO "?إ  + +LoLߩELV +7;iO"? Lo # :Gi + + -+)'L# :LA d EiGiʃL d 7;ʃ + + -+)' d L-H;i;i'8  -+)' ;i;i;i +"  ;i;i;i +"  3 x  'c      #0cH;i1ch # # Lx#:&##;i/c - ##:#%;iO""?ԣ:;iO;i/c"?ң%;iO "?إ  + +LoiH +;i1"Ch;i/"2Z +# :# +%;iO""? + +ԩ;i/c)6 +%;iO "?إ J;iO;i/c"?;iO"?  L^ + ;88"DVDF HJ "U "U  L % LK "U "U    % L;  +  +) '+@a#  )"Ġ+";V6+";V'++";V ";V )L+L + 0 {9 p 80  #+-' + + +c)c";V+ )L) + + +c)c+";V L * L#+3 +  +)L + + 8  ' L . .#+;i8zz z +zk+";VL z  t  . ";V+L l h   j +#";Ve l *#+ ++#";V3 h Lm#+ ++#";V )'"U "U   +   +)'"$ &   L=& p :#&"$ + & +)'ǩ & E G & & e 7g & ,"V"VV[ LE &  S L c L: s L& d L: i L# &"V"VV L # # )   # "$ ; &)"Ġ#  +"MV L$""U $""U  V ;  # @ LHh HH"2V"][hhL6"MV%# `  "MV #   $;"V "H;i/h8  #    L"2V%H"Vh"V"2V&)H"Vh"V"$ L6# "ViNʆ# (# +I)8ʆ# "8  +  #   % +;"V "H;i/h8  "$    #NJ + )8PI)  # @# #      # c):;i-e 0 #  %   @#     "#     # L.# E) )8PI "Vc      +    )8PI' "2V H"Vh"V  ȣ     )8PI0  "V # Q "2V0H"Vh"V@# .  # xX"2VH"Vh"V  [# N #  +  #  -  "2V )H"Vh"V  )8PI#"2V0H"Vh"V:    = : "2V );i-e)H"Vh"V    L - ;"V ]"V"VV   #  "/^  # 1  "2V H"Vh"V : ۣ    L  "2V)H"Vh"V: :  "$ "2V H"Vh"V:ݣ L    "2V)H"Vh"V L + ;8N +;i"X L: + + + + G  G"U  JL: +L: + +i +CECEH;iEI"^hCE(CEEC:E%C% +CEH' 4   " ) 52$HJJJJJJh":  "8:77 +H"H"7979L:\ +Z +L:JLJ +L H;iLI"^hL:4??JL!?8JJLL +  + + +? A +? AJɀLL: +  + 4JJ4J   4JL:   "cJHcNh$&  +; ==;  L|LHLhZJ h  +u= +ud + '&LJ"(**(&& +  +i + i Hd +e + e +:H" + (*7(*+    +, .(*LpL:LNLJ ȈFj +  +g= +gd + '&LJ" +  + .  +& + +i  <   +"\Fji  cH:H" + "Ȉ +&H"    +, .(*?cHCch.,5"\cHchc(Hc,h020cCH4cGh + +:EC:II%%80H4h  9cHch + cc + ,,..L5"F: + iiii +  +  + 5"c,Hc0h + ,. &&&& + 0c +H4ch + 8 +?HChJLL:8JHNhH209"\h8Hh8(H,h " +   - + !;=Ff   L} L:  L + r;=& &@ &  p4JJ   =; P;= &  +  0L: + 7;=+ &    ;=LPL:   + L:H +"El. + "#p +i H"a   +i"a 5   +"  +i"aJL +iJ"a +i LJ"   +i?"a +i"a +iA?"  L  +iC&$" +i$.," +i," +i0"a +i2"a @ )B  +iG"#pf +i'&$" +i,"a $ )&  +i+"#p +iU"aCA +I"bhL:  LH CAi +I"bhH +"El +RRaA" +irrAa" +i +:" +i" +iU"aCAi +I"bhCA +I"bh7H"*a +"El +  + 5L8  ( +* + +  + + + + + + 79 + + + 7 +9 + + + H +I"bhL:cHch + 8Hh + L      ZJL   4          49JL H +;iI"3hL:HI"^hL:L:  H +" +i" +i"A   + + +  + + +  + +", +. + 79 + + + 7 +9 + + + H +I"bh;iNzz z +zkH +"ElcHch + 8Hh + L + L{  @!#%')+-/=@CFILORUX[^adg@@+#} 7A3;5f,Q8qClEuSwFr@k'''''''''######''# ##'# '# '# ##'## ##'''# #''''''''''######## ########'''''''''''##'# ''''''''######## ''''''''######## gcJ''##'; #''# '''# ### ### '''# '#                                                                      gcJ gcJ; gcJ; gcJ; gcJ; gcJ; gcJ; gcJ; ; #' #''' ### ### #''' #''''''''''######'## #' #' #'## #''## ##'''# #'''# '##'' ########''''''''gcJ; ########'''''''' #'##''''# #''# #''# #''# #''# #''# #''# #''# #''# #''# #''# #''# #''# #''# #''# #''# #'''# #'''## ##''# ##'# '# '# ##'## ##'''# #''''''''''######## ########''''''''''# #'''## ##'## #' #' #'## #''## ##'''# #''''# #'''## ##''# ##'# '# '# ##'######'''''''''''''''''######## ########''''''''''# #'''## ##'## #' #' #'## #''######'''''''''7Gh t G~}  Yk  )%GR+R(R$R +R S UWYZ ] acgkmmmmmmigc_ +] [YX V T +S"R%R)R+R 0R0R0R0R0R0R0R0R0R0a0R0R0R0v trponnnmnnnnnmnnnnnnprt v0R0R0R0~R(R(R(RRRRRRRRRRRRRRRR0R0R0R0R0R0R0R0R0R0mphc!_$]&[(Y*W,U-U.S  S R%Q(Q*P*P,P,P,P,P,P*P*P(Q&R R  S.T.U,W*Y([&]$` cho~~~iiiiiiiiiiiiiii0R0R0R0R0R0R0R0R0R0^O:3P:2Q:1R:~:~:~:~:q  BK:o BL:mBM:lBN:k:j:i:h:gBG:fBH:eBI:dBJ:c:b:a:`:_BC:^BD:] BE:\ BF:[:Z:Y:X:WB?:VB@:U BA:T  BB:S +:R +:Q :P :O:N:Md1ru6:Lb]f:Ka?|Q:J_f u6:J_J f:J  +  ^$liPzQ:TnYX0Pzu6:6xp[X0Pzf: `t\X0PzQ:Cy_X0Pzu6:g}b X +0Pzf:Qe X 0PzQ: X0: X0:  X0::M X0::M X0::M X0::M X0 X0 X0  X0! X0"ǝM X0#ƝM XU7, 0$ŝM +XK  0%ĝMXV> * 0&XN&/0'XWD'0(eXR/-0Pz)}M Gz*ˠMV*! +!+^+ʠMs8*) +!*=s,ɠMwA*' +!*Ew-ȠMh2*' +!*7k. R*% "*/a /L q< *S O0 `d, *Ew ]2(j}H*7kf5ϞRB{m4*/al.8ΞTQXV u9;͞Uc~I>̞W3o T@,F| +cC,Zg#F-fr5I.;vx@LӟҟџПi  + +      !#%&' ())*+%'./0 *12 3 4!5$/"6#6&1$8(3)>,8-9+@,A/<0>.C/E1G4B6D4J7E7F5K7N:I8O;R>N>N>VAQ@XAYDVB[EVD\E]H[F_G`HaIaIbL_KdLfOcNgOhSgQkRlUjTnUoXn[qZt[u^u]w`x_z`{c{c~de~fghhhijklmmnnopqqqrrssstttuuvvvvwwwwxxyyz{mq\Y\\\;\\\F\\\\\\\rp\\+\\\Y\\\ӏ\'\n\\\\\\#m\r\]\C[\ \ H\YY\a\_\\n\p\n\o\o\w\mw\gy\\l\*\U\9o\+u\\j0HZ +  + [dH"k+z +zzz z +zzzzzzh@0HZ +  + [dH"f+z +zzz z +zzzzzzh@8[dH\mP \ No newline at end of file diff --git a/src/toolbox.c b/src/toolbox.c index 7f1a088..9c9089f 100644 --- a/src/toolbox.c +++ b/src/toolbox.c @@ -67,7 +67,7 @@ #include "rsrc/font/MSX_CP437_8x8.h" #include "rsrc/bitmaps/splash_c256_u.h" -const char* VolumeStr[FF_VOLUMES] = { "sd0" }; +const char* VolumeStr[FF_VOLUMES] = { "sd0", "sd1" }; extern unsigned long __memory_start; diff --git a/src/version.h b/src/version.h index 03f0bdd..38f2432 100644 --- a/src/version.h +++ b/src/version.h @@ -7,6 +7,6 @@ #define VER_MAJOR 1 #define VER_MINOR 0 -#define VER_BUILD 16 +#define VER_BUILD 17 #endif