From 77b197786dad75cab3b266161e9ca8488e0cd352 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kyle=20J=C2=A0Cardoza?= Date: Tue, 9 Jul 2024 02:12:34 -0400 Subject: [PATCH] Documentation of kernel API --- doc/syscalls.md | 39 ++++++++++++++++++++++++++++++++++++- src/kernel/vera_font_0.ase | Bin 4110 -> 4165 bytes 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/doc/syscalls.md b/doc/syscalls.md index 5634c0c..eb761bd 100644 --- a/doc/syscalls.md +++ b/doc/syscalls.md @@ -449,4 +449,41 @@ Return Values: This call attempts to change the current directory on a the drive specified in the supplied `NULL`-terminated string to the directory listed in that string. On success, `C` will contain `STATUS_OK`. On failure, `C` will -containe a negative value indicating the error type. \ No newline at end of file +containe a negative value indicating the error type. + +## `0x19`: Assign Device Alias + +Arguments: + - `C`: `0x19` + - `X`: Bank of argument structure + - `Y`: Address of argument structure + +Return Values: + - `C`: Status code + +Argument Structure: + +``` + struct { + char *device; // The name of the device to alias + char *alias; // The alias to assign to it + }; +``` + +Each device driver in 65X-DOS registers one or more major/minor +number pairs to one or more "default" aliases. These aliases are +what appear in a fully qualified pathname for a file before the +`:` separator character. + +This call attempts to add a secondary name to an existing device. +This alias will work exactly like the default name, which will still +be valid. A device can have any number of aliases assigned to it. +These aliases are strings which contain any character except `NULL` or +`:`. + +This call will fail if the `device` argument is not an exact match to +any device alias, or if the `alias` argument value is already in use +as a device alias. + +On success, `C` will contain `STATUS_OK`. On error, `C` will contain +a negative value which indicates the specific error type. \ No newline at end of file diff --git a/src/kernel/vera_font_0.ase b/src/kernel/vera_font_0.ase index 586a94fcfe080f2d70abc091650836dfee70ead3..2505e1a9bec335e650e9aafed1a45e0b225e92f2 100644 GIT binary patch delta 3968 zcmV-`4}b8EAjKd7MUer20mYGlR{?F2*&cs(>$VOB7LomL1xx$S1TH3$66H93{XJpZ zz!Haxi2y{|C5pyIzuI;0zZ-vd{dB!w{Lk{!#xwrvzhAB64v(k)XZV~bkI{TNe#8H} z_#BMzpkLE^ch{Xh!OuE$HU=kOUoZOgrwy$b#fTWGql|prPCxb>?qhr554 zx6287r>AQFK&|UBana92JHHR{yII2jzpR&&tE~9{CjQj=I;Zo0@qh8Zf$tmft6lg0 zyYY9|PuKgmVaQoa4UZ<$letdh^v^ zbE|*4=~q~?We3kl_bau^|6b8`+04?Phb1ZhH{$t7XH-QI>+;W@qh6@f&Zk*X#9ur`1H+%rZ#mi zMiR^GCU2IwY=Pew=JD^Viz|E7J`&r9HyB9rzhGv3Usrh`{QJ7iKZ5^fS!RF3AN1A4 zZ2V`Ka18t|K40Mj_GR8b_h1lKR*V^gB}ohrR=>xW8Gm4@>`;S<;=gc}8(V&j&r<0H ze8Ly@RahK2UD^i%XR^fSJo7F5=nOn%fW-7)mTvOHR1C*4R_ATbahqg|KbA_%>yF&x z`|v7%W9JMXxD=LP)4`qm9e;mr*w(ty^UKbaJxRPW1fH`~_xipqP?n>`FytQ+ z=`30r|Kc>(E-}@%{H~8R!(r4#qi?12%k^O1>N9=nmLr(a> zB^adPyZtx*AL8dSfkq^GO|^g$d`A3>)5mJMhlNoG=rOK{J@=7qD?77wihZad zFCUw~8WTdaheX@6l;RhAe6$4j3S*w@*usqjl|+ft`fLvn5z|P8N%OR5Av{ay`ebFk z20^V!G@M$BAmo3xj&Ixh0)GTlL@7#V{JyR}}g__mG}1qbpI#)tfr<(H7(O~RV)Dn5G-OzR!# z|I+`c`;FogRs5ke^}PxI&i@wpyzoCCPk6%>_*Ph|pC*5N)yW^1PmI$tM zyiJ1KmiI|_3gOb@k2nLX_#>43leoQ~d4My-}r9I;P3`(ZL>Uo|L1MyT)^F2Or**|fzS@yHo^XItse1K(xNyeYJhciw~ zd=_ssnK*x_$T@xxPN37rf*ai@kDrz@A2L6E#RKv`-2`^tXGu;elW1a*JGr>NBt>r{GRd62Nw9^d`QNZ8~icE zOm4cw{#f{5;3K%O6O7wTEuNU}*fqVS2N$&AQZt-Vc-ohuFH}oBGXoWwsgTjaPq=3c_)#;3cID)K& zmk~PkVa{?myZr3u@qw@JE?+TdBs|j4pX9JV`gWhlp3OAp>U#iR&Ju>$*Yn1@Vox=u zBC;ugZwKx8QiY|irURrLa{KwU+d=VToZ){@_D3B6`Bee)de(6MTk-4l5?|K%W~D=X z%I`Xs_;@fq#V7JtHb?kt{Yx32${e@<9>3cE9-nyOf50Ixj0~Ub3!QuX=KmF+7}FGg z7>wur2OJ{bk78S$ivF=NalTgW&-iWsxpu)$y+dv2fT0i|QI*XiPUM3EG{v9ObQOPj zi?-E+#+QFXD-5o=eP8}Ee^R7c*^FQ&-~~{(Hw=~rP`l1h9ljVA_)+4|_CCO8S>x}T zkAi<2z7%}jE?%I%jZc%<-Y)SqI?ecdv_b244v>zrGB=)dC|q_3rc#cTn1@qE*0m#{P`5wuVJ**_68`3Syp$B@_+zhYKwp2`Ul_kI zp#?tUGsKS*%|m=C`lfvCaVSlwjiPC}mxci!f9~-qIc8t}uJOzshc5_~(}&e;eVD;N zt@*f3)p0Z?(H$QS-}v}6{;HE{#{CX{AG*QsgLq|z58(6S6SCcp*#8KBR?^4pe}Yf( zYnUIl|L*h8+8=i>T=B^MT^E0MJjJ~wyGzlt{8xND!@pplndHj;KaStzzhdJj@PE$! zdj>Xf_|x`3!~Z$^za{?%?f(q_U)i{c`048d^fcqs*C+6a08aCtTyN%ct^g7Pb$8vY-}zhdyT(V{1tP|6`OSaXJ@7DLb3Ngw z`8EG<j#xdsSrZ}3CF{^E$8RVOT5glX%}z9Q#K|$TUSc{wLHUTQx6N3NvbxY)qA)) zjw}pw;G5zjE8%w%`aXd};4#e(UD@Kg;}1K``UhTPC-C)^NUeVk{5V&}G4YHq*p-g& z7|rgC$IJyj4((a8{>>#-5o%a-xUBzD`Hka26y@CJw`+>^jIsSVLf1s&11hSXmsT|*H zBm|A>GI!if#8Z#7>+&>oVGz8B%IvbQzna0Re}PX4mwY2{<**Gac~-_3$ty>O_YLLx zcRiNaEK{kT!(8TXhhOKXujx~kOSwvKz^YzSyqxi6i!Xovig1BnDo2;YnN513l;8uO zi+;HIZF)6X@kbq#^l$jIwlidy@x5-!T1ykXst7x?{oage#+P+{*6f?oT*6-!IuiK- zEZYsTM2c@{Hk>7P*EO!%@~C*n`3;THXU zA{O-da9G0^JjYz)`~8Pm*=C8xE%1HTk3!q$Q z@Q%M}{-(d)hkarPp{lg4hUW~&<%M{n^T*D$osxh4?_Yi={)YFmh2e>*rC-<$DL1a{ zyJ=FI#V>WoBT7+lTQsu=vr9@lN_b8>r6g>1!$>8r^&NG^uPNc#>6DWAPp(AkzHj3D z_vy|k+1I`9a3A24E_z0FUs!Gt*ndy&@y#I)De}sv<0dCB@SA#I zn%_Up`njAw5?sM`!nyyn4(WS$J*_!{eH`%lFmy*9AJ>oZ!>)fCM>&tbk3%+D;g95hm6z!?Ie0+-Q+(0_ z@)Te20wc=~^V^TlpW&-W$M~WzFakg9{~kW%XF0e_uIbNKBdr-E_a#Jde`08^GUo&v^|QGKKBft#RbQI3?02U4B&T2 zc^K*L93Rs;hjvv4oRH;Y+dm}1&=mvzGbl;(D0L{Fp8pO?n*|RVnd$Gx-IzZLpfif+ z3qkxq{8>}-rj$)nGB8A#_1q}QJXjQf1~|=h4H*~eY*iHScgT<>VbLPWQ>1>U9g^C z`)&JPm*#uQs3o71_iyk66~_&k4YBBrUY(>15BW9UQxd!8^Kk@Aex27vGUf_T`B?|c z2EN5`Vvh$>cM3tWGyPvTWV#~1<-t*qwEr*9Ee!@Ze_v`xO?rFqjcXZp8p<8I9dT37 znQkZ~vFkg0HKLeXFs?;os@H66xA`0tZLD-4zhU7;T3Lj%XJ&;S;B83v7Y^bpPT1-=X!vmb$np a{>V2P;QRGOtKl(y_-7g~>Hh$}LdoLK?qx*) delta 3913 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