From b4ed979742f70dfb377fe090246b00d268cb2d87 Mon Sep 17 00:00:00 2001 From: tibz Date: Wed, 29 Apr 2026 23:13:45 -0500 Subject: [PATCH] Initial commit --- .vscode/c_cpp_properties.json | 24 ++ out/res/resources.d | 3 + out/res/resources.o | Bin 0 -> 5652 bytes out/rom.bin | Bin 0 -> 131072 bytes out/rom.out | Bin 0 -> 96956 bytes out/rom_head.bin | Bin 0 -> 256 bytes out/rom_head.o | Bin 0 -> 928 bytes out/sega.o | Bin 0 -> 4332 bytes out/src/Main.d | 20 + out/src/Main.o | Bin 0 -> 13732 bytes out/symbol.txt | 665 ++++++++++++++++++++++++++++++++++ res/Sprites/BTW-1.png | Bin 0 -> 630 bytes res/background1.png | Bin 0 -> 4735 bytes res/foreground1.png | Bin 0 -> 2525 bytes res/resources.h | 9 + res/resources.res | 2 + src/Main.c | 106 ++++++ src/boot/rom_head.c | 33 ++ src/boot/sega.s | 367 +++++++++++++++++++ 19 files changed, 1229 insertions(+) create mode 100644 .vscode/c_cpp_properties.json create mode 100644 out/res/resources.d create mode 100644 out/res/resources.o create mode 100644 out/rom.bin create mode 100644 out/rom.out create mode 100644 out/rom_head.bin create mode 100644 out/rom_head.o create mode 100644 out/sega.o create mode 100644 out/src/Main.d create mode 100644 out/src/Main.o create mode 100644 out/symbol.txt create mode 100644 res/Sprites/BTW-1.png create mode 100644 res/background1.png create mode 100644 res/foreground1.png create mode 100644 res/resources.h create mode 100644 res/resources.res create mode 100644 src/Main.c create mode 100644 src/boot/rom_head.c create mode 100644 src/boot/sega.s diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json new file mode 100644 index 0000000..20d784b --- /dev/null +++ b/.vscode/c_cpp_properties.json @@ -0,0 +1,24 @@ +{ + "configurations": [ + { + "name": "Win32", + "includePath": [ + "${workspaceFolder}/**", + "C:\\SGDK\\**", + "${workspaceFolder}", + "C:\\Users\\ttibb\\Dev\\SGDK-Game\\res\\resources.h" + ], + "defines": [ + "_DEBUG", + "UNICODE", + "_UNICODE" + ], + "windowsSdkVersion": "10.0.19041.0", + "compilerPath": "cl.exe", + "cStandard": "c17", + "cppStandard": "c++17", + "intelliSenseMode": "windows-msvc-x64" + } + ], + "version": 4 +} \ No newline at end of file diff --git a/out/res/resources.d b/out/res/resources.d new file mode 100644 index 0000000..8041cf3 --- /dev/null +++ b/out/res/resources.d @@ -0,0 +1,3 @@ +out/res/resources.o: res/resources.res \ +C:/Users/ttibb/Dev/SGDK-Game/res/background1.png \ +C:/Users/ttibb/Dev/SGDK-Game/res/Sprites/BTW-1.png \ No newline at end of file diff --git a/out/res/resources.o b/out/res/resources.o new file mode 100644 index 0000000000000000000000000000000000000000..1310c9f90cf97afc2f54661265719c1e59871f43 GIT binary patch literal 5652 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 literal 0 HcmV?d00001 diff --git a/out/rom.bin b/out/rom.bin new file mode 100644 index 0000000000000000000000000000000000000000..fde848636495b376d0cd633ae805659fac67350e GIT binary patch literal 131072 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 Lcm)36M&SPdZRH@^ literal 0 HcmV?d00001 diff --git a/out/rom.out b/out/rom.out new file mode 100644 index 0000000000000000000000000000000000000000..a9771acaaa2124c2e7ec550fb6ef090e624a79dd GIT binary patch literal 96956 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

fzRD691vM4H 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 O(f0pWjI$p*ru!d?nddzK literal 0 HcmV?d00001 diff --git a/out/rom_head.bin b/out/rom_head.bin new file mode 100644 index 0000000000000000000000000000000000000000..86c0d0394cff6c2780694079265bc8f5848f60b2 GIT binary patch literal 256 zcmb7;u?mAg5JdM6{DmpC2pp0hSiI%XWIfq4`F=km-Npk8(+GLR6vNCgMG`}+L>u3N zcIZlq5A>nGW2dk#Pr+h28EbW}`8S^w;ouem(G-98snWP_PPDnZ@dt$6gZnudMe|%% O<8{pQ#og&8=Ni65STyng literal 0 HcmV?d00001 diff --git a/out/rom_head.o b/out/rom_head.o new file mode 100644 index 0000000000000000000000000000000000000000..80e72638943140afe824b2bc9e2c99f2faf4e21d GIT binary patch literal 928 zcmb7COHYG95FTpPHZf689=xoHiEUyD)*g%(LkeOaKm)CMGqfe?K_meVdeWcivH!q$ z^R~{yE~Of)e#y+vlZm7g$N^?5bI;pkm zuA%ivQ)#vc!d1;dUnc{{HXPMtk=6Jw-!O^7(NGkCuC`o1?R1;cIR%(gN*(os0Kq7s zw8+$S)3)59qYgW^wW8hbNH1O^V6@xkq&A7dI8MUwzF`?;Wc4ij#;TK(Q@JT)Q{R!l zX&LByF}=3*-T>&AzT`2q06J_(InZB6XDbUxu*>pM7~IW#Zz@l6(~kh;_$f%dF`h}3 zoikx2{$m32)Jr^&$8ijD6fy^otP)a`q=JZi-nBI8V&_ z6YmIl6_nq2$Go0+ORSf#08{xJUvM5@n#8_)$Os(lk`Pggg>F&3plotsbL^m0QABTO YO0TH)Py|F1xTYoE8~Rs*glEe81a`M*wg3PC literal 0 HcmV?d00001 diff --git a/out/sega.o b/out/sega.o new file mode 100644 index 0000000000000000000000000000000000000000..3e26f727deab4aeca38031f1c99d38693f9f9f61 GIT binary patch literal 4332 zcmd^?ZD<@t7{{Nxob{~1v?5xu;x?AHYQ5a0u`k+}yUks5NpqKwiy?@xx#Tv-6qHOXHQ1j}28RZEhGHqCaAwPM3>K0i_0RB+9HF>4)^z92^DoRdEU9a>;U3{<+3qBF`C}(m{c}M1gp%y@P^K%j5Os9aN)0 zmgu#QtGXwEDS{qe--Yn54B0HVdUAkcjwJW}Kb!~T-@8gAazGU~wg=BQ$ z#HsmYRE?fGux@#}+EYE`z^a8Kubn`P^-fZw$*9b2dMc%h){}J%@ERHp7d5`fSu)_E`a699tz#ADK2J`Vh3x0{kUjX+pei_`) z_$YXU@f+YV#&3elj4?MYCgZokHOB9Q`Fwo{{*=W}f`4NC8Tfm~UxNQ+d>YHXg7LRt ze!q+0D2x99PBZ=mJj(c2xh>JCSdR;CjGRt<%{}XKt0#Vohr=Gm{&I?Yy&Q{dANyxX zeAdI*A4}rTc=&Y>zvJPLJdF8uiaVZfJS^8jj_*fL{G5m7+PL|0Ym?;Q(tN+uElfxF zZ}!C3d06qV^Hl@Wy*{}lu4SyOX=wwK+EA%L+K4`3=~c6$ZQi}Vqw zAtTpGdCkb>XCXI{QGivjtwPm+gk|aloZy?CIA9>TicrG_7J~F+NSLRQfcRtC&t*o*-m8W1F?|1vEa|lhSgf5!J{RX9msE1g3}7)Zk^_tkZ?N zwKmFk0NxJ)XnT)iU*9c#yc0rFV_SAeeFITg>QzJ$saF$qO05uWl6oysm(&}G?vZ*U z(PpW`L|dfBv(VIAna2CD=|`E4GmYn_nbXhoAk)K4k23ur(_>8M-1!mDZ!!H2 z)9*9A!1TvVf5P`U9eFsqvfJ^mh{7EB!dpeNy9h5`R*hHphr|Nd27K z?{++gCyC<1$Kn5iC?RvcWw&p;J#wW$F7Y3gxm^mO|rr zKZH!($cBU)n$h+0c&UUb`S(S9ABaAextDZ#E)BT62DQkO-@yNrw;nmce~}k)+hhF( zrs2ur%mdLz7-9@jCvdHSAz-iB;}yO*T5*W{OF!-ucoCr*ysL5Cg+t`6z;O)@c@F|t YReQIOl!N>pbo`qoJ>fKq8<&f`IUWzQZ8WzX>Ea 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 I=akR{0KQKY0{{R3 literal 0 HcmV?d00001 diff --git a/res/background1.png b/res/background1.png new file mode 100644 index 0000000000000000000000000000000000000000..32510c72af20ff21c0ceecfe9f4e93da8c34a34b GIT binary patch literal 4735 zcmZvAXH*ky&~^&a1c`uD2_Rqv0|L^Upn@n;R0J`UsEB|85lE;mqVystO`6iBiqeCG z&O;ZFBE?Vxgcw2~krv+gJm2@{J@46bcJI07nz?4?-aWf#Bh1aN@^XuDgFql&6JsMw z5D2W#S`#>-tn+2Ln=Pyh*vs6cG=y1 z_rTsC%NDxMGych0bU^fE5mx~UO%YiT_X}1YFmq~-ULbLbVaM+`{cX|V^5J>74 zBFw-G_{}wP=B`tpeM}@^iD!)G;%*KxXjVtThlGQfcaFDIDSvLw3jQG-+$(clYS6d3 z*u&WDHg@<4}uU2EHVbk!>P=>#=zDtse_Prc!czc7ck*Asa_TjQ;_n993Mi zE@dOsQVoVVa~FWB1Yi8|U>lApw#mp2=|Ryhy|u9-i2Bqs#kM2S=^UCF@^V;3Gl%ph zM`NQFDag!;qwx@V6*4xvUU=Jp&6ZEaZ27480?__SVBpx0r=qDtu7Z(WEI!?|S;82* z-0E*$f zzTPf8Y_rja6S&w497h|KW3v*P<)uRtkr!jY-<$UQ3`Jzgd+yk5IYm)6lwIkrQwhe8 z%*nH+tO>+k*O#J|S&dul?YBMJ7}fU3Q=I1wZ+47%;ppH+KVlFQYNT^vdiJ|YhhO$T zQ0PIT`Ge7r`Bx-hQ+rUZV(5?#M;nh{!`bbImEvd77hzpv_cRnb4tgiJyD8;Ya_M!Z zw)Yl*2z3#~l#{Shsawk7)9)kg1UN~GuRFVTS{3)0k<19>BUkvcW;3BK)tjTu0WaC6 zv|HSoF0d4zmTn~oJl{;xzx;9MSX`asi!Bo&o4FI^935rSs>gPDoFKgAucb{#`ZQ89 zsy{2-(b*oK5oJzkVA4L`aP_Tiw{~gS!k-v5pKB!9>n#m<>uWv8xR-E^sqO!qkbpn! z8p~6^(hV~(L3Mk5?zFuC(JcP{0CNA#O}{rP>%@^dR=O*8B6%x#aH<*lY?(5NP-CH zDF1Ad%_BCCLaF1wj%@+Co7&?Y`U~~KfD{Y$5t`8&-E_00cUGu{=x%c0gPkn)$T5y+ zkj^tsh>WS-eGADvX`F_qu@TSGcDm(0H`K{{7 zVYa6+$vb*t!!WtoMM|Goa{)g4D=gX=fB6|8MA?g_gL)W#0QuX1;zS zu74E`6T7akJgKxb;zMT}mn6M0N!5A*E8M?=%AqywrtXOK@Hz`yor>v9X^(rj5g(Bx z|D2K+kB6QP^tMdS&;D09|fRh{#Cz{>o z8}YpKh5l{f6h==GXA_Z?TC4iWo^Rw3x+b~)9jW!6Cu7NEJ;*^W6J*iqmp#?t z*=;}IC!DP0-5fh;fli5HVz5lBt=FrtI-ym_G1Gou-M3Y9QY$PyYSaj1oQ3}VFaKr#}lQo9`Z~~2A$b;bt5Wn zntoa=S1EA1f#0}>C@}s~&1b)op381Lbta}!itqVqFXGU0^WsHKaRSwr4sPxwQae|q z{lD*S$xl5+tmBX1z`$^eux{L30d1t6;pmR&f@aKLSo(IdM%>-k4B1n;!QCa@oj_bp zZ2hDbT0~a_N--!lv!UJJe9eS~nkEN-1Nids;6@|f?>Y513oP7MnWl__!$A?H>t>JF zKc=>wig!a`&W^>5@t-DfGm&vvox?vn=`Grdpj=dBkg$uzLG315GA_|t?(X5s7e%Bi zMv;;FCuTT-NU}?S&hLI37s$Rg>~_lU0mg3M_Pt1BSQ0Te(nMGI$F2wR;p-v+s7~Ot zq;$Lk;+lgvGE1NAowKfw+{CZbT9*Ep#&~)%O|xz6o2>$Kw5L|Y3$9{)AmAUK{hz1d znXm3qogk{tc8bdzVW{lS$vse_&9+{!=PM^mN70WFiNdn}D)0JA78m4(jQnTiry|CV zILbW}61ssQBQj6>{|TT6A)_tD?H_FtM=e{A~|l0E)Qfnf1UL% zx2JB#`pwW*R=Lrk`oSf|@U4xH-d^kS1}ySR7Foc;pPjFy(wTFuT^v>@`c}4EA@jfn zCk;HR#=5GhV$yNO?o*wK(PxyX8~Ui5)q4G?Mx8I|ivzKZ7+#=~evh_D1*q)8j7%Uv zWSxB=O}Kq$IPh0l#gX}SbqzMNFSRqf+M|&NUu;oYsKZ|__BQN>fDC0~l5Ug1j-6WQxU%=F}Z2J}>ZPK1-;uaF-<4?miXS=Zd#Ca3Yw zDhR0e1az15o}~7=Q#hEO%ND>=-k;*CWZ4P<^c($9HHsn4V@<6e`4if(K8htos#U_5Admg zg+C{lU@3f#a2J^yJFpA*Htc~doe`NF^tpHLU18$2_en{dh}K`_;+ZH*3*Kcod0@+1 zX>}L)bQGI!8|H7eMYoK2E{QCc**a|UK^-H?44M{%W3&UUdp`TVi7u89;@hXStOsSY z=Pud1fBK0G!JFZ__br*uTz1q8d;9gC+A=seRnThE6?=ZY?NR&iUXYY}RG;Q5SuSZ) ziz-xjPZ9aL$zE+JCtquf$wMv4(s}=w!eO@RW3X^1XA6JLKTY4$>TDV4X}NlqA9b#$ zhD-|UXYvMW&ok;O8r0c7AApHl_Yq30DUPGITf1)2d4NQ(?>nP89ISnuWVZY# zAq7MB8( zIMEZ(8w|OPGZR@Gc^#t+D4Fy)v44$3c7cpJFYlBfaZ8nwijQ8>kN(?*)Zlejk+{_x zO3peIN<+$^)j6Ean=cjr_<~W5jhnJVFUM4rW5v?Ad&-W5CeKpF+FzI-T;8FT%>ZaA zSmVqRRAI8`U^e3pPD%a_@|$LnjYweAd0por>D4ucH+gvNA^>iN=>u=W3jpT~5g={Lg1pCAk!IFQ^x)Ya@07K@2D zT2g*ntok|p_xnLrtHzmj|2TV7W4)BW;Aw?xxPD4_>_8 z!z3%kf4A7}oaoN}kc(z0>Ubui(bD;muoq|Jrr-30_q!X5V5#)_P!Y^qu&1sBGfB6h zyCdOM15ZzpRbi*;P7N6ylZ%eipASs5v z`l)6Nky-KkJKvOymaX@bi3jC&jpadoT(fN{~`PtM*hfOP`}(%z}MaF7FS={$|+LP5C+uZ7=t=c3~Y&4p?sQ(JaQhO+U); zVgc2y1f9w<(l*{>ss|l=gGXi?aTO}rO)s3S0&6^OD8wZ&9RKDv{I=1e+4#gE(5!Qp z(P22+ME(EhmPVr&h-n0OZW5U%E2V``hcJQSr6luew;!{XF|hO7PQp zd#$qL$_H~KZ*8xsiub|$JDQoAL2ENQ&7K9<{7URQl{@)Bvm>2beCP77bvu^N|G|Wk zi*w(~PrdV5AYs-pZ5E8o2{Z5GU);v~!iGt;XX2(CPO0|~$rqrSy{9ySK%51-OzObl z15&5^JJx+W!GxJ1yY-y7{NLJX-cVD5F>|vW8AGn#4Ly4%KTHc&ta;WH;#8&j3k-R* zyI-hhePe*s16Mlq|4e>MHXDjlg7p`(JeGHLlY}}i6!-1=!Fyb%+ z4k|#Di;Um<-I(d)BjH4N)3Q;wi3pttzSrdBfX0^meJq>^7OarXMh^UnsT%u}CfxJ1 zplHAY`TyyLTT7x_=lK4QO0eztnP-%(uU|+oXq;fuKwhwPFLQF|7}UQ9#T!mrVWAgT z#Zz=ZX7=?;=DUk|!<#6cP}=JMqf35L8z{8L{;xs~z{iA~GS=QeokjZ5;qq0j5 GA^!susc{7W literal 0 HcmV?d00001 diff --git a/res/foreground1.png b/res/foreground1.png new file mode 100644 index 0000000000000000000000000000000000000000..df647757a5b46243b52e205447f8aa13fe1a955f GIT binary patch literal 2525 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 + +#ifndef _RES_RESOURCES_H_ +#define _RES_RESOURCES_H_ + +extern const Image bg1; +extern const SpriteDefinition bigTex1; + +#endif // _RES_RESOURCES_H_ diff --git a/res/resources.res b/res/resources.res new file mode 100644 index 0000000..e39a7cb --- /dev/null +++ b/res/resources.res @@ -0,0 +1,2 @@ +IMAGE bg1 "background1.png" BEST ALL +SPRITE bigTex1 "Sprites\BTW-1.png" 8 8 FAST \ No newline at end of file diff --git a/src/Main.c b/src/Main.c new file mode 100644 index 0000000..fc15235 --- /dev/null +++ b/src/Main.c @@ -0,0 +1,106 @@ +#include +#include + +char debugString[80]; +char* buttonString; +char* clearString = " "; +Sprite* player; + +void myJoyHandler( u16 joy, u16 changed, u16 state) +{ + strcpy(debugString, ""); + if (joy == JOY_1) + { + + if (JOY_getJoypadType(JOY_1) == JOY_TYPE_PAD6 ) + { + buttonString = "6 Button Connected"; + } + else if (JOY_getJoypadType(JOY_1) == JOY_TYPE_PAD3) + { + buttonString = "3 Button Connected"; + } + else + { + buttonString = "Controller Not Found"; + } + + + if (state & BUTTON_START) + { + strcat(debugString, " Start "); + } + if (state & BUTTON_A) + { + strcat(debugString, " A "); + } + if (state & BUTTON_B) + { + strcat(debugString, " B "); + } + if (state & BUTTON_C) + { + strcat(debugString, " C "); + + } + + if(state & BUTTON_X){ + strcat(debugString, " X "); + } + + if(state & BUTTON_Y){ + strcat(debugString, " Y "); + } + + if(state & BUTTON_Z){ + strcat(debugString, " Z "); + } + + if ((strlen(debugString) == 0)){ + strcpy(debugString, "None"); + } + + } +} + + +int main(bool hard) +{ + JOY_init(); + JOY_setEventHandler( &myJoyHandler ); + + u16 ind = TILE_USER_INDEX; + + SPR_init(); + + + + PAL_setPalette(PAL0, bg1.palette->data, DMA); + PAL_setPalette(PAL2, bigTex1.palette->data, DMA); + player = SPR_addSprite(&bigTex1, 0,0, TILE_ATTR(PAL2,false,false,false)); + + VDP_drawImageEx(BG_B, &bg1,TILE_ATTR_FULL(PAL0, false, false, false, ind), 0, 0, false, true); + while(TRUE) + { + VDP_drawImageEx(BG_B, &bg1,TILE_ATTR_FULL(PAL0, false, false, false, ind), 0, 0, false, true); + + SPR_update(); + + // read input + // move sprite + // update score + // draw current screen (logo, start screen, settings, game, gameover, credits...) + VDP_drawText(clearString, 2, 5); + VDP_drawText(buttonString, 2, 5); + + + VDP_drawText(clearString, 14, 13); + VDP_drawText(debugString, 14, 13); + + // wait for screen refresh and do all SGDK VBlank tasks + SYS_doVBlankProcess(); + } + + return 0; +} + diff --git a/src/boot/rom_head.c b/src/boot/rom_head.c new file mode 100644 index 0000000..1f89b7c --- /dev/null +++ b/src/boot/rom_head.c @@ -0,0 +1,33 @@ +#include "genesis.h" + +__attribute__((externally_visible)) +const ROMHeader rom_header = { +#if (ENABLE_BANK_SWITCH != 0) + "SEGA SSF ", +#elif (MODULE_MEGAWIFI != 0) + "SEGA MEGAWIFI ", +#else + "SEGA MEGA DRIVE ", +#endif + "(C)SGDK 2024 ", + "SAMPLE PROGRAM ", + "SAMPLE PROGRAM ", + "GM 00000000-00", + 0x000, + "JD ", + 0x00000000, +#if (ENABLE_BANK_SWITCH != 0) + 0x003FFFFF, +#else + 0x000FFFFF, +#endif + 0xE0FF0000, + 0xE0FFFFFF, + "RA", + 0xF820, + 0x00200000, + 0x0020FFFF, + " ", + "DEMONSTRATION PROGRAM ", + "JUE " +}; diff --git a/src/boot/sega.s b/src/boot/sega.s new file mode 100644 index 0000000..fb06462 --- /dev/null +++ b/src/boot/sega.s @@ -0,0 +1,367 @@ +#include "task_cst.h" + +.section .text.keepboot + +*------------------------------------------------------- +* +* Sega startup code for the GNU Assembler +* Translated from: +* Sega startup code for the Sozobon C compiler +* Written by Paul W. Lee +* Modified by Charles Coty +* Modified by Stephane Dallongeville +* +*------------------------------------------------------- + + .globl rom_header + + .org 0x00000000 + +_Start_Of_Rom: +_Vecteurs_68K: + dc.l __stack /* Stack address */ + dc.l _Entry_Point /* Program start address */ + dc.l _Bus_Error + dc.l _Address_Error + dc.l _Illegal_Instruction + dc.l _Zero_Divide + dc.l _Chk_Instruction + dc.l _Trapv_Instruction + dc.l _Privilege_Violation + dc.l _Trace + dc.l _Line_1010_Emulation + dc.l _Line_1111_Emulation + dc.l _Error_Exception, _Error_Exception, _Error_Exception, _Error_Exception + dc.l _Error_Exception, _Error_Exception, _Error_Exception, _Error_Exception + dc.l _Error_Exception, _Error_Exception, _Error_Exception, _Error_Exception + dc.l _Error_Exception + dc.l _INT + dc.l _EXTINT + dc.l _INT + dc.l hintCaller + dc.l _INT + dc.l _VINT + dc.l _INT + dc.l _trap_0 /* Resume supervisor task */ + dc.l _INT,_INT,_INT,_INT,_INT,_INT,_INT + dc.l _INT,_INT,_INT,_INT,_INT,_INT,_INT,_INT + dc.l _INT,_INT,_INT,_INT,_INT,_INT,_INT,_INT + dc.l _INT,_INT,_INT,_INT,_INT,_INT,_INT,_INT + +rom_header: + .incbin "out/rom_head.bin", 0, 0x100 + +_Entry_Point: +* disable interrupts + move #0x2700,%sr + +* Configure a USER_STACK_LENGTH bytes user stack at bottom, and system stack on top of it + move %sp, %usp + sub #USER_STACK_LENGTH, %sp + +* Halt Z80 (need to be done as soon as possible on reset) + move.l #0xA11100,%a0 /* Z80_HALT_PORT */ + move.w #0x0100,%d0 + move.w %d0,(%a0) /* HALT Z80 */ + move.w %d0,0x0100(%a0) /* END RESET Z80 */ + + tst.l 0xa10008 + bne.s SkipInit + + tst.w 0xa1000c + bne.s SkipInit + +* Check Version Number + move.b -0x10ff(%a0),%d0 + andi.b #0x0f,%d0 + beq.s NoTMSS + +* Sega Security Code (SEGA) + move.l #0x53454741,0x2f00(%a0) + +NoTMSS: + jmp _start_entry + +SkipInit: + jmp _reset_entry + + +*------------------------------------------------ +* +* interrupt functions +* +*------------------------------------------------ + +_INT: + movem.l %d0-%d1/%a0-%a1,-(%sp) + move.l intCB, %a0 + jsr (%a0) + movem.l (%sp)+,%d0-%d1/%a0-%a1 + rte + +_EXTINT: + movem.l %d0-%d1/%a0-%a1,-(%sp) + move.l eintCB, %a0 + jsr (%a0) + movem.l (%sp)+,%d0-%d1/%a0-%a1 + rte + +_VINT: + btst #5, (%sp) /* Skip context switch if not in user task */ + bne.s no_user_task + + tst.w task_lock + bne.s 1f + move.w #0, -(%sp) /* TSK_superPend() will return 0 */ + bra.s unlock /* If lock == 0, supervisor task is not locked */ + +1: + bcs.s no_user_task /* If lock < 0, super is locked with infinite wait */ + subq.w #1, task_lock /* Locked with wait, subtract 1 to the frame count */ + bne.s no_user_task /* And do not unlock if we did not reach 0 */ + move.w #1, -(%sp) /* TSK_superPend() will return 1 */ + +unlock: + /* Save bg task registers (excepting a7, that is stored in usp) */ + move.l %a0, task_regs + lea (task_regs + UTSK_REGS_LEN), %a0 + movem.l %d0-%d7/%a1-%a6, -(%a0) + + move.w (%sp)+, %d0 /* Load return value previously pushed to stack */ + + move.w (%sp)+, task_sr /* Pop user task sr and pc, and save them, */ + move.l (%sp)+, task_pc /* so they can be restored later. */ + movem.l (%sp)+, %d2-%d7/%a2-%a6 /* Restore non clobberable registers */ + +no_user_task: + /* At this point, we always have in the stack the SR and PC of the task */ + /* we want to jump after processing the interrupt, that might be the */ + /* point where we came from (if there is no context switch) or the */ + /* supervisor task (if we unlocked it). */ + + movem.l %d0-%d1/%a0-%a1,-(%sp) + ori.w #0x0001, intTrace /* in V-Int */ + addq.l #1, vtimer /* increment frame counter (more a vint counter) */ + btst #3, VBlankProcess+1 /* PROCESS_XGM_TASK ? (use VBlankProcess+1 as btst is a byte operation) */ + beq.s no_xgm_task + + jsr XGM_doVBlankProcess /* do XGM vblank task */ + +no_xgm_task: + btst #1, VBlankProcess+1 /* PROCESS_BITMAP_TASK ? (use VBlankProcess+1 as btst is a byte operation) */ + beq.s no_bmp_task + + jsr BMP_doVBlankProcess /* do BMP vblank task */ + +no_bmp_task: + move.l vintCB, %a0 /* load user callback */ + jsr (%a0) /* call user callback */ + andi.w #0xFFFE, intTrace /* out V-Int */ + movem.l (%sp)+,%d0-%d1/%a0-%a1 + rte + +*------------------------------------------------ +* +* Copyright (c) 1988 by Sozobon, Limited. Author: Johann Ruegg +* +* Permission is granted to anyone to use this software for any purpose +* on any computer system, and to redistribute it freely, with the +* following restrictions: +* 1) No charge may be made other than reasonable charges for reproduction. +* 2) Modified versions must be clearly marked as such. +* 3) The authors are not responsible for any harmful consequences +* of using this software, even if they result from defects in it. +* +*------------------------------------------------ + +ldiv: + move.l 4(%a7),%d0 + bpl ld1 + neg.l %d0 +ld1: + move.l 8(%a7),%d1 + bpl ld2 + neg.l %d1 + eor.b #0x80,4(%a7) +ld2: + bsr i_ldiv /* d0 = d0/d1 */ + tst.b 4(%a7) + bpl ld3 + neg.l %d0 +ld3: + rts + +lmul: + move.l 4(%a7),%d0 + bpl lm1 + neg.l %d0 +lm1: + move.l 8(%a7),%d1 + bpl lm2 + neg.l %d1 + eor.b #0x80,4(%a7) +lm2: + bsr i_lmul /* d0 = d0*d1 */ + tst.b 4(%a7) + bpl lm3 + neg.l %d0 +lm3: + rts + +lrem: + move.l 4(%a7),%d0 + bpl lr1 + neg.l %d0 +lr1: + move.l 8(%a7),%d1 + bpl lr2 + neg.l %d1 +lr2: + bsr i_ldiv /* d1 = d0%d1 */ + move.l %d1,%d0 + tst.b 4(%a7) + bpl lr3 + neg.l %d0 +lr3: + rts + +ldivu: + move.l 4(%a7),%d0 + move.l 8(%a7),%d1 + bsr i_ldiv + rts + +lmulu: + move.l 4(%a7),%d0 + move.l 8(%a7),%d1 + bsr i_lmul + rts + +lremu: + move.l 4(%a7),%d0 + move.l 8(%a7),%d1 + bsr i_ldiv + move.l %d1,%d0 + rts +* +* A in d0, B in d1, return A*B in d0 +* +i_lmul: + move.l %d3,%a2 /* save d3 */ + move.w %d1,%d2 + mulu %d0,%d2 /* d2 = Al * Bl */ + + move.l %d1,%d3 + swap %d3 + mulu %d0,%d3 /* d3 = Al * Bh */ + + swap %d0 + mulu %d1,%d0 /* d0 = Ah * Bl */ + + add.l %d3,%d0 /* d0 = (Ah*Bl + Al*Bh) */ + swap %d0 + clr.w %d0 /* d0 = (Ah*Bl + Al*Bh) << 16 */ + + add.l %d2,%d0 /* d0 = A*B */ + move.l %a2,%d3 /* restore d3 */ + rts +* +*A in d0, B in d1, return A/B in d0, A%B in d1 +* +i_ldiv: + tst.l %d1 + bne nz1 + +* divide by zero +* divu #0,%d0 /* cause trap */ + move.l #0x80000000,%d0 + move.l %d0,%d1 + rts +nz1: + move.l %d3,%a2 /* save d3 */ + cmp.l %d1,%d0 + bhi norm + beq is1 +* AB and B is not 0 +norm: + cmp.l #1,%d1 + bne not1 +* B==1, so ret A, rem 0 + clr.l %d1 + move.l %a2,%d3 /* restore d3 */ + rts +* check for A short (implies B short also) +not1: + cmp.l #0xffff,%d0 + bhi slow +* A short and B short -- use 'divu' + divu %d1,%d0 /* d0 = REM:ANS */ + swap %d0 /* d0 = ANS:REM */ + clr.l %d1 + move.w %d0,%d1 /* d1 = REM */ + clr.w %d0 + swap %d0 + move.l %a2,%d3 /* restore d3 */ + rts +* check for B short +slow: + cmp.l #0xffff,%d1 + bhi slower +* A long and B short -- use special stuff from gnu + move.l %d0,%d2 + clr.w %d2 + swap %d2 + divu %d1,%d2 /* d2 = REM:ANS of Ahi/B */ + clr.l %d3 + move.w %d2,%d3 /* d3 = Ahi/B */ + swap %d3 + + move.w %d0,%d2 /* d2 = REM << 16 + Alo */ + divu %d1,%d2 /* d2 = REM:ANS of stuff/B */ + + move.l %d2,%d1 + clr.w %d1 + swap %d1 /* d1 = REM */ + + clr.l %d0 + move.w %d2,%d0 + add.l %d3,%d0 /* d0 = ANS */ + move.l %a2,%d3 /* restore d3 */ + rts +* A>B, B > 1 +slower: + move.l #1,%d2 + clr.l %d3 +moreadj: + cmp.l %d0,%d1 + bhs adj + add.l %d2,%d2 + add.l %d1,%d1 + bpl moreadj +* we shifted B until its >A or sign bit set +* we shifted #1 (d2) along with it +adj: + cmp.l %d0,%d1 + bhi ltuns + or.l %d2,%d3 + sub.l %d1,%d0 +ltuns: + lsr.l #1,%d1 + lsr.l #1,%d2 + bne adj +* d3=answer, d0=rem + move.l %d0,%d1 + move.l %d3,%d0 + move.l %a2,%d3 /* restore d3 */ + rts