diff --git a/28_day/Makefile b/28_day/Makefile index 2d22dbf..732a74d 100644 --- a/28_day/Makefile +++ b/28_day/Makefile @@ -20,7 +20,7 @@ haribote.img : haribote/ipl10.bin haribote/haribote.sys Makefile \ star1/star1.hrb stars/stars.hrb stars2/stars2.hrb \ lines/lines.hrb walk/walk.hrb noodle/noodle.hrb \ beepdown/beepdown.hrb color/color.hrb color2/color2.hrb \ - sosu/sosu.hrb sosu3/sosu3.hrb + sosu/sosu.hrb sosu2/sosu2.hrb sosu3/sosu3.hrb $(EDIMG) imgin:../z_tools/fdimg0at.tek \ wbinimg src:haribote/ipl10.bin len:512 from:0 to:0 \ copy from:haribote/haribote.sys to:@: \ @@ -43,6 +43,7 @@ haribote.img : haribote/ipl10.bin haribote/haribote.sys Makefile \ copy from:color/color.hrb to:@: \ copy from:color2/color2.hrb to:@: \ copy from:sosu/sosu.hrb to:@: \ + copy from:sosu2/sosu2.hrb to:@: \ copy from:sosu3/sosu3.hrb to:@: \ imgout:haribote.img @@ -77,6 +78,7 @@ full : $(MAKE) -C color $(MAKE) -C color2 $(MAKE) -C sosu + $(MAKE) -C sosu2 $(MAKE) -C sosu3 $(MAKE) haribote.img @@ -120,6 +122,7 @@ clean_full : $(MAKE) -C color clean $(MAKE) -C color2 clean $(MAKE) -C sosu clean + $(MAKE) -C sosu2 clean $(MAKE) -C sosu3 clean src_only_full : @@ -142,6 +145,7 @@ src_only_full : $(MAKE) -C color src_only $(MAKE) -C color2 src_only $(MAKE) -C sosu src_only + $(MAKE) -C sosu2 src_only $(MAKE) -C sosu3 src_only -$(DEL) haribote.img diff --git a/28_day/apilib/Makefile b/28_day/apilib/Makefile index 35ff0ac..05c00ea 100644 --- a/28_day/apilib/Makefile +++ b/28_day/apilib/Makefile @@ -1,7 +1,8 @@ OBJS_API = api001.obj api002.obj api003.obj api004.obj api005.obj api006.obj \ api007.obj api008.obj api009.obj api010.obj api011.obj api012.obj \ api013.obj api014.obj api015.obj api016.obj api017.obj api018.obj \ - api019.obj api020.obj + api019.obj api020.obj \ + alloca.obj TOOLPATH = ../../z_tools/ INCPATH = ../../z_tools/haribote/ diff --git a/28_day/apilib/alloca.nas b/28_day/apilib/alloca.nas new file mode 100644 index 0000000..b94f8e2 --- /dev/null +++ b/28_day/apilib/alloca.nas @@ -0,0 +1,13 @@ +[FORMAT "WCOFF"] +[INSTRSET "i486p"] +[BITS 32] +[FILE "alloca.nas"] + + GLOBAL __alloca + +[SECTION .text] + +__alloca: + ADD EAX,-4 + SUB ESP,EAX + JMP DWORD [ESP+EAX] ; 代替RET diff --git a/28_day/winhelo/Makefile b/28_day/winhelo/Makefile index fe2c669..44ac359 100644 --- a/28_day/winhelo/Makefile +++ b/28_day/winhelo/Makefile @@ -1,5 +1,5 @@ APP = winhelo -STACK = 1k +STACK = 8k MALLOC = 0k include ../app_make.txt diff --git a/28_day/winhelo/winhelo.c b/28_day/winhelo/winhelo.c index 8059d36..c36e988 100644 --- a/28_day/winhelo/winhelo.c +++ b/28_day/winhelo/winhelo.c @@ -1,10 +1,10 @@ #include "apilib.h" -char buf[150 * 50]; - void HariMain(void) { int win; + char buf[150 * 50]; + win = api_openwin(buf, 150, 50, -1, "hello"); for (;;) { if (api_getkey(1) == 0x0a) { diff --git a/28_day/winhelo2/Makefile b/28_day/winhelo2/Makefile index df62c78..a1544f5 100644 --- a/28_day/winhelo2/Makefile +++ b/28_day/winhelo2/Makefile @@ -1,5 +1,5 @@ APP = winhelo2 -STACK = 1k +STACK = 8k MALLOC = 0k include ../app_make.txt diff --git a/28_day/winhelo2/winhelo2.c b/28_day/winhelo2/winhelo2.c index 2937402..dfc4ce7 100644 --- a/28_day/winhelo2/winhelo2.c +++ b/28_day/winhelo2/winhelo2.c @@ -1,10 +1,10 @@ #include "apilib.h" -char buf[150 * 50]; - void HariMain(void) { int win; + char buf[150 * 50]; + win = api_openwin(buf, 150, 50, -1, "hello"); api_boxfilwin(win, 8, 36, 141, 43, 3); /*黄色*/ api_putstrwin(win, 28, 28, 0 /*黑色*/, 12, "hello, world");