From d42d640667282b699949268fdf16dc91e8e910f5 Mon Sep 17 00:00:00 2001 From: notsomeidiot123 Date: Wed, 18 Sep 2024 13:27:51 -0400 Subject: [PATCH] Start working on disk write to write files to disk, and remove diskwrite binary from repository --- .gitignore | 3 ++- diskwrite | Bin 15968 -> 0 bytes src/bootloader/main.s | 2 +- tools/diskwrite.c | 18 +++++++++++++++++- 4 files changed, 20 insertions(+), 3 deletions(-) delete mode 100755 diskwrite diff --git a/.gitignore b/.gitignore index 39dbb38..7d43da0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ bin mount image.bin -dump.img \ No newline at end of file +dump.img +diskwrite \ No newline at end of file diff --git a/diskwrite b/diskwrite deleted file mode 100755 index 62f92ba701b0778fd6c82337d59ec7fec985908d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15968 zcmeHOYit}>6~4QU6NftXCQYd0K)i(l4UH$ZV_TurWc|#zauSm`3P`|s>{;6@_Tlc% z61#%dCA_RQQV#Ur&d7pkdb-omD{;PRDep(gL$=V5IKww zNCQCF{q~Yfrjpc0A72v@802wRmRdcBrJl9;G0DrgAb2b??-}7eBRt@W^b?4Da!&Yj zK=K*JHnMR6hIuo>3*&%CQ$TKm%kj&u^H$m$72fuw4x_@@>8TYE?R}JZa%sim#(>Lw zOxj!TI+&7wprlvr%Vs9JJNIRs)@&wUo@<>u(B0bIX_N{^hi;hrm81`ksY6FjC( zd(+CYDDjh4$+e5Fm9sN>HCuK|ij|!FZgps6xUb*pFglDbzrMdyS;J$8Ehk+}PiIPQ zx;S>YKU>JB$LxtL$DGa;@)FbXT&p@#=i-$88v5{&ON=xhAjEhoH)l5URcRO955M|# zx(sn8x2eK?j{7UMm7^%NEDq2s(buK4SwRo^;z3W(*O+sMaw(t>j*BY+J&z-lm4IG< z|A}EWp!dd+XLwHZn@Gf1Myv><3`7}-G7x1T%0QHXC<9Rj-u@YQwQ=`9%+r6aGasyd zexFk27nj|5SNe*&0JhD&;RwHd49FVj6H2$xaMxB0JRdJ zu5xLrv4#2xKKFm2hs~;d#|iUv&x;0C&Be=Zz4>6zOC(&`N#}XRp~KU)FOVGjByrd9 zUp_@f4s?Qel+489=l*3bmRIN`9&O-Yzr1q!TBWkY{eG6x%C0)+ewNu1l_&#I2BHi^ z8Hh3vWgyBxlz}J%Q3j$6L>Y)O@c+vIzuz*`*=%8N@?@cyb#A4mV!LWS+(yXni|SV@ z6^C#y;X{OX5k5vZLO4R$b+uCYDIvex|Mn27!G^?_;{97Tj#GzNj!Kk)C<9Rjq6|bCh%yjmAj&|LfhYq}2Hs{F zz`8=LBg7g(UaQEZ-UEN(;ueuzS$DWoWUN=*B{H6onnlLCMSia00{iRNDg~CGkVS%6 zTez@+wb$39UKIN~JheI_c#~k0;0{56(A1KwN5oo3`1A807hb2xT_iyrp{iMkBaF{YYTBIU`rZoJAm zrrznV&-JWIeU>U5-@nhq@D=U9!(ZnM|Hr9Pt^ezt*AH}@?P?{72-mS%ob%fM78Snk zyof@noBeh4TBO4Z^ogk^|NepgRjO25&z+!zB;gdm5v`|hi&Q{K)xD&z7N>{w3ANMD zGgt%cAK$9*{R92o;vbHGlJrS91#pV=TjM(w#w$!E)^m@9Bws`7^Q2GEb#F?+)5B5H zZzIdNj352q6q&v({un1e~HOWifOXTSktm$lF!p>Tb zTPT(+yF8~R3%S{B+D$t~TXhd!gP*bNV$q(r(s{QyucnH2E^RsGTyCBy0m&jyca5u) zDSi4>G2^DGQv=f$RIJoTL4m6^ZzF6{CTH<@5}oGth8ghw$f)tVOj8Y0g$kEOMvB+3f7FB zcX+$N@KN$|GI^_9N;?!JPX}wFR1&V+sdk?B^C|J9>VQt?yhe{cx`J8J{ z5V}PVXHd)JX(Pj|GV%pV>vX7qLyP)(FGv_&Q3h^n`5xRr;9cAv3JGsL%}>crC1p>PIEN;Lbu0T7I|Jnw-$YudnLTz4D%W> zYhTnE-%B5!OMt)LzAEjUD9rzL zh`-)`M~SM(3hIo%qYs}V+BcIVPyv3=6a6E`4-}WFLTga{yP!>@>NP)+dM=&2ml`BdLpw9?PH#o5PsO7+X|Mg(!RL+Ch+g@HC_e$AmZ8wT~iWp wTsrn{GV)kNfAGDsnRMuTkbjOJl&Jh34SAx@l~gtGbhjG+{w~j}`Azu$0iToFf&c&j diff --git a/src/bootloader/main.s b/src/bootloader/main.s index 98a1627..6070c04 100644 --- a/src/bootloader/main.s +++ b/src/bootloader/main.s @@ -396,7 +396,7 @@ open_file: pop ds push 0 pop es - ;sector start now contains the sector number of the first data sector of the root directory + mov ah, 0x42 mov dl, byte [data.boot_disc] mov si, DAP diff --git a/tools/diskwrite.c b/tools/diskwrite.c index a53c3df..288dfa4 100644 --- a/tools/diskwrite.c +++ b/tools/diskwrite.c @@ -3,6 +3,22 @@ #include int main(int argc, char **argv){ - printf("Hello, World!\n"); + char **files = malloc(512); + int filec = 0; + printf("write files to virtual disk\n"); + if(argc == 1 || !strcmp(argv[1], "help")){ + printf("Usage:\ndiskwrite -o "); + printf("\n-h: Help"); + printf("\n-o: Specify output file\n"); + } + for(int i = 1; i < argc; i++){ + if(!strcmp(argv[i], "-o")){ + i++; + if(i >= argc){ + printf("Error: No output file specified!\n"); + } + } + files[filec++] = argv[i]; + } return 0; } \ No newline at end of file