From a8dbd60897af86a677b0abb00d7d95e9ba2fb375 Mon Sep 17 00:00:00 2001 From: DeaDDooMER Date: Thu, 27 Dec 2018 22:53:45 +0300 Subject: [PATCH 1/8] all input work through SysInput module --- Docu486/Build-Tool.odc | Bin 3004 -> 3014 bytes Drv/Mod486/KeyboardPS2.odc | Bin 0 -> 15720 bytes Drv/Mod486/MousePS2.odc | Bin 4953 -> 8086 bytes Drv/Mod486/PS2.odc | Bin 11355 -> 0 bytes Drv/Mod486/Vesa.odc | Bin 16040 -> 16272 bytes Host/Mod486/Console.odc | Bin 4680 -> 4916 bytes Host/Mod486/Ports.odc | Bin 13626 -> 13645 bytes Host/Mod486/Shell.odc | Bin 8446 -> 8536 bytes Sys/Mod486/Input.odc | Bin 0 -> 4852 bytes System/Mod486/Init.odc | Bin 7919 -> 7859 bytes System/Mod486/Kernel.odc | Bin 100474 -> 100543 bytes 11 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 Drv/Mod486/KeyboardPS2.odc delete mode 100644 Drv/Mod486/PS2.odc create mode 100644 Sys/Mod486/Input.odc diff --git a/Docu486/Build-Tool.odc b/Docu486/Build-Tool.odc index 62c4f760b7117ba7442f9b0f188ef339c1885d4b..c0f3481e2ccfe82201bad79e136cb778a973511a 100644 GIT binary patch delta 153 zcmdlZeoTBqJ)`r)hB(fNTnr4H3=9mN6Q8>>8c)_`wCA+tU|`?}3Yl&$Wjx5lC_mYp z#e~smat_NPHhG{hGl$x`0uum)r!AuZ delta 142 zcmX>mzDImQJ)`BshB(f4E(Qip1_p-uiO*dbH7Dyb+H)FnFfi}~g|s)9G9F}NRG4he zV!~)MIfrEtn*van8N_Uu+`}w9S&K<%^G;SfMse@d%B1|nq7;ST%3_zy;)0ySN(Gmq VvdJYJpC+?%1mlw5T*48=3;>WBDTx38 diff --git a/Drv/Mod486/KeyboardPS2.odc b/Drv/Mod486/KeyboardPS2.odc new file mode 100644 index 0000000000000000000000000000000000000000..ec5cfb92c057c689424ca41593a8af48ae266ee6 GIT binary patch literal 15720 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 L!VhnMzfkypN%dT+ literal 0 HcmV?d00001 diff --git a/Drv/Mod486/MousePS2.odc b/Drv/Mod486/MousePS2.odc index fc52459e6dbf7363a4843bc323d3985783451cf0..07b5ddab9207378f8a5d032186a673196b5af5a0 100644 GIT binary patch literal 8086 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 delta 1235 zcmcIiOHUI~6uvXVBU4izZJ~n&y+x2|8K5Ny*vhk=(oxcCJ4jp@MW&%OFiqMav>L7W z3m`W!acNxX%7nzk#HBGV-ALju@R7K2VdBnv?i6WQxN|ad=DX)RkMG=jpUizezgOcA zUHiK?9Rn_eM1)YUYyWGUf8R+)xmowec7*7QK7e7*0I6~5ju^$<Mi>3j!fe#3dwnS(ikOvSn;oN|r0LOX`0%92qF&|@@?;NnFs6qWG zN}F##fIUeb?m29%_Qc(w)iz}E`CPvB#5x5;Z^jEfR~)65O0czq$` z6vaE+mQ^&%3NBk~)^<69v#K7Y{)&RD3O4A^p#L2O=M`MoFpH&}5y4tYSC`Zb#H|;% zO{>vEIyybB*s?~sP+}n&#c~j@Zx%?XLvm$x+r4PJ%NBDVd})6!kXP<$^205;j0&E` z;qfV~C)E^=t1+4QJ;UUhN2(dslN4whzc3lVYAOzD=tF}dGkC1z*A;yIBP?Lk+dG1g;*_XIbSFJgD8V)5&g^X9y(b?KKO}H3C5oj?Zq11FGpQN%s=A=Vfc7y#kws0< z%35kso}5Sq?137KC36)yor%kKLO{V`x&e&=%O>3fm$;JBwPiZBma1O?^1b`=zhp6~ z|5;bJSl9JX4j(HE5Z(K`GfOXOE{NsyijGZsvL?AD4LVGAc$Fw!?n@c6)pLfl^hnJt zo34f=b`eX3jl6|}0lJg)Y{#KAgnFhFJn;Zd$|+KVSqrjs`W@NxwvumNCrSIlf`TUx V9{C&`dD?rI^!1G%toF_Ee*op%20j1) diff --git a/Drv/Mod486/PS2.odc b/Drv/Mod486/PS2.odc deleted file mode 100644 index 4f329a25c997b12533fb067a8f2dc527d75e7129..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11355 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 diff --git a/Drv/Mod486/Vesa.odc b/Drv/Mod486/Vesa.odc index cb64b50b5d928db9118aeea60ed78a569a5a2437..755bc5c264ab748215a56f09591933657c219910 100644 GIT binary patch delta 131 zcmZ2cJE49;Jrl3}#Ku^zXgdZ5P6h^sV7rMgTp0gO)@8KkWVc~p;0KERpIplLmdTxI za|)BS@Z<$jlALatIXOY8$t4PtC(4Sk<+#`zs delta 63 zcmbPGzoK?RJ(H^4#Ku^zVp|3VP6h^sY}<)1To^?s>oVGN%3Cuq@B_ufCzmq5Wr}Cq SoWf)+JUK=rWb^iH)(G{{0d%2vT30;D$F!_&tVs9gah zpy1*U6oQJuwL6w2X67U&<)mt8f>Z$&DY*K%So78cm8ODBf~yQlO-#`MJApIYGsFYM z5#FhlF8SqoP%EHrNYzUQ`T=C8t52{inD%o4Qb6;0L4*RxM36UuPUYnc2=aG!bqNh} c1q=I3wquE$yqIMwqv2#r)_~1ZSvT_l0Qv!7OaK4? delta 131 zcmdm@c0y%BJ=0OaiH)(G!h#G8oD2*M+!LR>GHn%@tjB04yq}MOfgdQg9Y{mKoXPc! z{)|zR&oj2Ov4Mo9PEKQb#o?V=nUtSclrlM#`Tb-^)+nCf%3_$9-sIV=QyGmW8?ptU L2ybp=+sp$1^6(}H diff --git a/Host/Mod486/Ports.odc b/Host/Mod486/Ports.odc index f62912dda2e70b1d4c23413a2de7dfd61d6911f9..3c49c0104f837d3d4d633352e852113d73840da1 100644 GIT binary patch delta 88 zcmdm$bvA24J>#i~4RKr&CJYRm3=9kcCKF${Fz%YH%V^Je#E^l3A1JnGb17pv6I(nZ q0|R5i=1MW?HDF4&CSv}@|*x@1s6B~ delta 67 zcmX?`wJU2vJ>&L?4RKtoCJYRm3=9l^jVHcvVO&00m(iYcqagzWKTvGt=2FITCbj@Z X1_s8M&7YXhs!zV49kW?aN1hV^&ny%t diff --git a/Host/Mod486/Shell.odc b/Host/Mod486/Shell.odc index de8c12b743d69f8f423e8a72f07ea411285226e2..de0543b87fd65591f34fa5217be3d5619274ba60 100644 GIT binary patch delta 268 zcmez8c*AKzJ>%7h4RKt`3JeUK3=9m?3KL(rFdm((%V;lrUY3D@A1HPlNJD`3T&9=)K{#1xQ(MskMcWJWnRM%T?@a!kws>kTk@ diff --git a/Sys/Mod486/Input.odc b/Sys/Mod486/Input.odc new file mode 100644 index 0000000000000000000000000000000000000000..9a40b379ad3cecf3c5b8be492d04b054ab95625e GIT binary patch literal 4852 zcmbtYOK&4t6|MjRJP^T*SRmM3X%ORBtthUyM%^bG%R|>GlVnzBZFZTDkuBB#RO)pcptq z%*p3#_`iIM;zuhcokih6)nYddqq>282CEi!n>~!)w2Hfre)P2{{{QN_{4X0w+ zL6#-nS)S?iz9;XP1=jb9(b^E9Vg2(r6s+HJ`0x$O+IVrdSxzd(S1tN0J(K`hZTxRA zZ2KZn_dAhD{s-0Fe^t8gizH#O{$A-`Li+EM(ebm>ftuW=Ct;jt{msqV(P%iCZq{n` zhMKre=px0bYHUH1hl?<}4jbxSwbRG7Bhp@9oypkhD_6#LU(ICf^p%#e+gEcLdwq2- zV{@mkE+{nn%A;WS)rS;z`)Wa9PvCuuzzrw>n5LURj;H~2Oaa)JBG|xAC;&U90PKtc zuyYE;zM=^1YYM==p#bb#3c&sqg`Q9ecSPO=eAuJ}{LrQZ1K}{Vc7Rzb*ZOsffwd< zeh=35W$yUq3Jm zu(i60*7UUlo4AU6zhv2g?byjvI@^JHFHCj9I_vC;xr-<;_r!PST<5IQ4t&RcsWWpA zWOQhH1!QE}tmv*zS3nZ){K8>{nRn&QXs!z? zi#W*r%!_^2co%e_DXXOmK8rZ^P3?3+X%XWQquEehGFrq8SQmU2F$2~Eokh&l^uT5j zGdDeiWDzqtJ)~q2Gdn#pV0wBq&HVIO1B;jm>d`6_)I(N4rz)JDX++fJy<%4g(Zmua4j(VVB2uPcYG$rwxzeub8crgz$JUjg}_c$79x5{xlp#0q+Ga5(oQ~u7kD@cQ(KyV znmEzLriJy?q*=tWvZX1^9N)QZV3G6&6{W*AdIX#TJ@cFt73dmp>6h#4Vhel5je?$8=2kVHkbNZ8~;u9V`;siofDFIYKP<2=n#Dg0acN3(88x}VnCwLxCfBtj;?4Ra3=gOy}li_qQ zR@0F>IGjw!2S-yi9vqFv$Cy=<#O*6i#^qpmEH2eVyh1Zc96o=2=3(d9SEr-ldoZ(v zfb_n;J&O>!*FaKrPLhXq4UZ8%#DOZr-y4icDTrp?+{5c2^pnAqI@bQaIvkBo2M0r{ z5*=$N!<<#6d*LKd9X&o6uQPncl&ttT_}O$YoSYouEyF}f)$cj7rHUXK508s2@Cza^ z{fBv$nSJ2%QI;{fX*|Mn|9*f_Lu(orTMSC@{HlFf6NPnX6*we8rwry)V4H6z0ptyXLtp0+)Q0cd#DE96E|y5$D^ac z@w4$j)h~jf9eW#qzOsuxH3hX6>PM!iSAV8ux%6 zHZBDY&#XG<0rtLw$`b&q96?c^u$ZN*<; z?5OGE!BCOL<+gZGuX?|*Zo(k|a2`WZ&qZ9ciHWRS3&%-_M(|PUbwq$AK%$b{2LiFo zB}^24>e5Nu_*kU1N@S5#&6GZnI`OxNrt#7wwkjIN5m#DrZTu)muembTK_oBHujR=r z$b$^+i8-<>Jl59IZu~CF@@=d~1wY`f$uDb{m2S)w%c{Drirb{JOrJQ2 z{X^=z{N1^2epkyGg1l$TAq9S{AK}%@94^Rj_0^k8+1y__e0byYRM+Kh+DY zuVeg0A>SkPs^f=Zt|bQn=IB9$oj)6px3UfE_c%t9GYE4Wfm4mwK7}wx7lJ3BZ+>e2 zfAq&+THpB8`tj<))OxJHZI)Eu;ub#)`p565mU`zC>(~Ezga6+hU08o;d~8|&1N_Lr Ag8%>k literal 0 HcmV?d00001 diff --git a/System/Mod486/Init.odc b/System/Mod486/Init.odc index 91bff79978301d8a0460d1acf908ca530585a9b7..0d6e0c5224ceb0bb8392873b9fd6f91139afa8ec 100644 GIT binary patch delta 546 zcmaEFyV-U^J)^7Yhu4SotC7ZqYwlLL) zdwBY|B4ixP5;JoWlX6luG!>K;3=~}ac{za~Rl&*@p(rRdF-1eu8Y~m;8RCIrwr_rE zajI{ANoIZ?OgCo*NPDVYg|$K@gjEUFTceO#kK`)v)Jm89a)d5t$6!~WuHxjxyyX0p zR0V%GurAITgiA^btQ1^aoi!?T6ilEFLY7Ve8fT^8>4#H6PJL=x3B-sB>_!x2re^?E zfXqNv;p!9Y3UQ6Ap9`1)5>e35Qpilt%P&e*(9(p6LS%u8K*0qPD$w&UNX>I9O-oBH z(lFS}BgoIZ*;d4ladMxi*5=Ei>`arNi}O!jCN47BSVB}78m)SuAot1BNGeU!+`LlK GjTHd2p_BRm delta 545 zcmY+9&n^Q|6vk&pByOZ6gc=Pwx{#TeHZ2=Erc`^SjnT>sQ7Mu!ou-1R^pCWOsFgLj z4`3;=G&?JA;2Eqey@ES+E8N|8&Ue4>cRcM&yYKSn54XqYb%x^*$8j$YpO`-+5q=F- zLL4_rN5`baAMkJFov)CjkRIA{Iwv)&UMAPVocAO=4}0YiPw?)>W(H<6^{ee#tKsaJ zi&3*_H65v~Ku3Wyr_+#C?{UK5d6#@mDxzIYKsuW;RIqH@xojq2qfpRsD({IwB&@rT z&>*G;kpC{Mwl7baJZV)*v7?@$$VNXI{%A9$n^+Byk7|vIIb@SJ_+;{fSw^K#Qg$Q)x z3dCd;d}fz1|NAV_R!C|Pj)i5I2VbpHwGx(PC>T9WWrQw$4EEK>b72*9oR?^_OpD_G q_Nd<%)aV_o9u^?Z5P&G5(D!Fp85uYk7#Nx+K6ho(X`igeXeVse%E-VE6w?FJ5O8U8 zJ)DK!T0DjLaHUIzs delta 100 zcmdl#k?q$6wh8r2-`giP#&Wv0Gcs^8FfiCoeD2Ehylt``qn+@_7Dfhspx8?w4FM-M x*E1S&Go`R>-o$f Date: Wed, 5 Aug 2020 23:57:22 +0300 Subject: [PATCH 2/8] boot0: add alternative method to get memory size for older machines --- Boot486/boot0.S | 79 ++++++++++++++++++++++++++++++++++++------------- 1 file changed, 58 insertions(+), 21 deletions(-) diff --git a/Boot486/boot0.S b/Boot486/boot0.S index ef70f6b..efc93c9 100644 --- a/Boot486/boot0.S +++ b/Boot486/boot0.S @@ -131,30 +131,67 @@ print: .code16 mapmem: pusha + movl $0, MemoryMapAdr xor %ebx, %ebx mov $(MemoryMapAdr + 4), %di - mapmem__loop: - mov $0xe820, %eax - mov $20, %ecx - mov $0x0534D4150, %edx - int $0x15 - jc mapmem__failed - cmp %edx, %eax - jne mapmem__failed - cmp $0, %ebx - je mapmem__done - add $20, %di - incl MemoryMapAdr - jmp mapmem__loop - mapmem__done: - popa - ret # <============ - mapmem__failed: - mov $msg_mapmem_failed, %si - call print - cli - hlt + +mapmem_loop: + mov $0xe820, %eax + mov $20, %ecx + mov $0x0534D4150, %edx + int $0x15 + jc mapmem_method_88 + cmp %edx, %eax + jne mapmem_method_88 + cmp $0, %ebx + je mapmem_done + add $20, %di + incl MemoryMapAdr + jmp mapmem_loop + +mapmem_method_88: + ##### + ### function: + ### int 0x15 + %ah = 0x88 + ### input: + ### none + ### output: + ### cf clear: + ### %ax = available memory starting at 0x100000 in KB + ### cf set: + ### %ah = error code + ### note: + ### some bioses do not clear cf, do it manually + ##### + + movl $1, (MemoryMapAdr + 0) # num + movl $0x100000, (MemoryMapAdr + 4) # base (low) + movl $0, (MemoryMapAdr + 8) # base (high) + movl $0, (MemoryMapAdr + 12) # len (low) + movl $0, (MemoryMapAdr + 16) # len (high) + movl $1, (MemoryMapAdr + 20) # type + + clc + mov $0x88, %ah + int $0x15 + jc mapmem_failed + test %ax, %ax + je mapmem_failed + movzx %ax, %eax + shl $10, %eax + movl %eax, (MemoryMapAdr + 12) # len (low) + #jmp mapmem_done + +mapmem_done: + popa + ret # <============ + +mapmem_failed: + mov $msg_mapmem_failed, %si + call print + cli + hlt # =========================================================================== # # Convert LBA to CHS -- 2.29.2 From aaae5582f88ff457c956ea6cd21835db1c7f4bf1 Mon Sep 17 00:00:00 2001 From: DeaDDooMER Date: Sun, 9 Aug 2020 19:09:04 +0300 Subject: [PATCH 3/8] boot0: generate memory map for first 1Mb with older method --- Boot486/boot0.S | 330 +++++++++++++++++++++++++----------------------- 1 file changed, 172 insertions(+), 158 deletions(-) diff --git a/Boot486/boot0.S b/Boot486/boot0.S index efc93c9..409a28a 100644 --- a/Boot486/boot0.S +++ b/Boot486/boot0.S @@ -21,15 +21,15 @@ .set MemoryMapAdr, 0x7e0A .set ImageBase, 0x100000 +_start: + # =========================================================================== # -# Stage 1 +# Setup canonical %cs:%eip, segment registers %ds, %es, %fs, %gs, %ss and +# stack %sp # =========================================================================== # -_start: - .code16 -stage1: -# 1. Setup canonical %cs:%eip, segment registers %ds, %es, %fs, %gs, %ss and stack %sp + cli ljmp $0x0, $canonized_label; canonized_label: xor %ax, %ax @@ -41,51 +41,181 @@ stage1: mov $STACK1, %sp mov %dx, BootDiskAdr - call mapmem - sti -# 2. Enable A20 gate - call enableA20 +# =========================================================================== # +# Make memory map for kernel +# =========================================================================== # + + pusha + movl $0, MemoryMapAdr + xor %ebx, %ebx + mov $(MemoryMapAdr + 4), %di + +mapmem_loop: + mov $0xe820, %eax + mov $20, %ecx + mov $0x0534D4150, %edx + int $0x15 + jc mapmem_method_88 + cmp %edx, %eax + jne mapmem_method_88 + cmp $0, %ebx + je mapmem_done + add $20, %di + incl MemoryMapAdr + jmp mapmem_loop + +mapmem_method_88: + ##### + ### function: + ### int 0x15 + %ah = 0x88 + ### input: + ### none + ### output: + ### cf clear: + ### %ax = available memory starting at 0x100000 in KB + ### cf set: + ### %ah = error code + ### note: + ### some bioses do not clear cf, do it manually + ##### + + movl $3, (MemoryMapAdr + 0) # num + xor %eax, %eax + mov $1, %ebx + # free low memory + movl %eax, (MemoryMapAdr + 4) # base (low) + movl %eax, (MemoryMapAdr + 8) # base (high) + movl $0x080000, (MemoryMapAdr + 12) # len (low) + movl %eax, (MemoryMapAdr + 16) # len (high) + movl %ebx, (MemoryMapAdr + 20) # type + # reserved harware memory + movl $0x080000, (MemoryMapAdr + 24) # base (low) + movl %eax, (MemoryMapAdr + 28) # base (high) + movl $0x080000, (MemoryMapAdr + 32) # len (low) + movl %eax, (MemoryMapAdr + 36) # len (high) + movl %eax, (MemoryMapAdr + 40) # type + # free high memory + movl $0x100000, (MemoryMapAdr + 44) # base (low) + movl %eax, (MemoryMapAdr + 48) # base (high) + #movl $0x700000, (MemoryMapAdr + 52) # len (low) + movl %eax, (MemoryMapAdr + 56) # len (high) + movl %ebx, (MemoryMapAdr + 60) # type + + clc + mov $0x88, %ah + int $0x15 + jc mapmem_failed + test %ax, %ax + je mapmem_failed + movzx %ax, %eax + shl $10, %eax + movl %eax, (MemoryMapAdr + 52) # len (low) + jmp mapmem_done + +mapmem_failed: + mov $msg_mapmem_failed, %si + call print + hlt + +mapmem_done: + popa + +# =========================================================================== # +# Enable A20 Line +# =========================================================================== # + +enableA20: + xor %cx, %cx +enableA20_1: + inc %cx + jz enableA20_3 + in $0x64, %al + test $0x2, %al + jnz enableA20_1 + mov $0xd1, %al + out %al, $0x64 +enableA20_2: + in $0x64, %al + test $0x2, %al + jnz enableA20_2 + mov $0xdf, %al + out %al, $0x60 +enableA20_3: -# 3. Reset disk controller (%dl and %dh initialized by bios) and read Kernel into buffer +# =========================================================================== # +# Reset disk controller (%dl and %dh initialized by bios) and read Kernel +# into buffer +# =========================================================================== # + sti movl $(kernel_code_end - kernel_code_start), KernelSizeAdr - stage1__read: - mov current_sector, %ax - add $1, %ax - call lba2chs +stage1__read: + mov current_sector, %ax + add $1, %ax + call lba2chs + + mov current_sector, %ax + shl $5, %ax + add $(BUFFER / 16), %ax + mov %ax, %es + +readsectors: + # %cx = Cylider+Sector; %es = 64k buf + xor %ah, %ah + int $0x13 - mov current_sector, %ax - shl $5, %ax - add $(BUFFER / 16), %ax - mov %ax, %es - call readsectors + xor %bx, %bx + mov $0x2, %ah + mov $READBLOCKS, %al + clc + int $0x13 - mov current_sector, %ax - add $READBLOCKS, %ax - mov %ax, current_sector - cmp $((kernel_code_end - kernel_code_start + 511) / 512), %ax - jl stage1__read + jnc readsectors__success -# 4. Disable interrupts and load GDT - mov $msg_protected_mode, %si + /* zero if sectors not readed */ + or %ah, %ah + jnz readsectors__success + + mov $msg_kernel_read_failed, %si call print + #cli + hlt +readsectors__success: + + mov current_sector, %ax + add $READBLOCKS, %ax + mov %ax, current_sector + cmp $((kernel_code_end - kernel_code_start + 511) / 512), %ax + jl stage1__read cli + +# =========================================================================== # +# Load GDT +# =========================================================================== # + mov $msg_protected_mode, %si + call print lgdt gdt_info -# 5. Switch to protected mode +# =========================================================================== # +# Switch to protected mode +# =========================================================================== # mov %cr0, %eax or $1, %al mov %eax, %cr0 jmp $8, $stage2 # =========================================================================== # -# Stage 2 +# 32 bit stage begins # =========================================================================== # .code32 + stage2: -# 6. Setup data segments %ds, %es, %fs, %gs and stack %sp + +# =========================================================================== # +# Setup data segments %ds, %es, %fs, %gs and stack %sp +# =========================================================================== # mov $16, %ax mov %ax, %ds mov %ax, %ss @@ -93,7 +223,11 @@ stage2: mov %ax, %fs mov %ax, %gs mov $STACK2, %sp -# 7. Copy Kernel from buffer + +# =========================================================================== # +# Copy Kernel from buffer +# =========================================================================== # + xor %eax, %eax stage2_copy_loop: mov BUFFER(%eax), %bh @@ -101,9 +235,16 @@ stage2: inc %eax cmp $(kernel_code_end - kernel_code_start), %eax jne stage2_copy_loop -# 8. Exec Kernel + +# =========================================================================== # +# Jump to Kernel code (never returns) +# =========================================================================== # + jmp ImageBase +# =========================================================================== # +# ================================ routines ================================= # +# =========================================================================== # # =========================================================================== # # Print asciiz string @@ -124,75 +265,6 @@ print: popa ret -# =========================================================================== # -# Make memory map for kernel -# =========================================================================== # - -.code16 -mapmem: - pusha - - movl $0, MemoryMapAdr - xor %ebx, %ebx - mov $(MemoryMapAdr + 4), %di - -mapmem_loop: - mov $0xe820, %eax - mov $20, %ecx - mov $0x0534D4150, %edx - int $0x15 - jc mapmem_method_88 - cmp %edx, %eax - jne mapmem_method_88 - cmp $0, %ebx - je mapmem_done - add $20, %di - incl MemoryMapAdr - jmp mapmem_loop - -mapmem_method_88: - ##### - ### function: - ### int 0x15 + %ah = 0x88 - ### input: - ### none - ### output: - ### cf clear: - ### %ax = available memory starting at 0x100000 in KB - ### cf set: - ### %ah = error code - ### note: - ### some bioses do not clear cf, do it manually - ##### - - movl $1, (MemoryMapAdr + 0) # num - movl $0x100000, (MemoryMapAdr + 4) # base (low) - movl $0, (MemoryMapAdr + 8) # base (high) - movl $0, (MemoryMapAdr + 12) # len (low) - movl $0, (MemoryMapAdr + 16) # len (high) - movl $1, (MemoryMapAdr + 20) # type - - clc - mov $0x88, %ah - int $0x15 - jc mapmem_failed - test %ax, %ax - je mapmem_failed - movzx %ax, %eax - shl $10, %eax - movl %eax, (MemoryMapAdr + 12) # len (low) - #jmp mapmem_done - -mapmem_done: - popa - ret # <============ - -mapmem_failed: - mov $msg_mapmem_failed, %si - call print - cli - hlt - # =========================================================================== # # Convert LBA to CHS # input: %ax = LBA %dl = disk @@ -215,7 +287,6 @@ lba2chs: jnc lba2chs__success mov $msg_chs_error, %si call print - cli hlt lba2chs__success: mov %dx, BootDiskDxAdr @@ -270,63 +341,6 @@ lba2chs: # pop %es ret -# =========================================================================== # -# Read sectors to buffer -# input: %cx = Cylider+Sector; %es = 64k buf -# =========================================================================== # - -.code16 -readsectors: - xor %ah, %ah - int $0x13 - - xor %bx, %bx - mov $0x2, %ah - mov $READBLOCKS, %al - clc - int $0x13 - - jnc readsectors__success - - /* zero if sectors not readed */ - or %ah, %ah - jnz readsectors__success - - mov $msg_kernel_read_failed, %si - call print - cli - hlt - -readsectors__success: - ret - -# =========================================================================== # -# Enable A20 Line -# =========================================================================== # - -.code16 - -enableA20: - cli - xor %cx, %cx -enableA20_1: - inc %cx - jz enableA20_3 - in $0x64, %al - test $0x2, %al - jnz enableA20_1 - mov $0xd1, %al - out %al, $0x64 -enableA20_2: - in $0x64, %al - test $0x2, %al - jnz enableA20_2 - mov $0xdf, %al - out %al, $0x60 -enableA20_3: - sti - ret - # =========================================================================== # # =========================================================================== # # =========================================================================== # -- 2.29.2 From 782c9bac94c9e36f2de9adde23316d84adb17112 Mon Sep 17 00:00:00 2001 From: DeaDDooMER Date: Sun, 9 Aug 2020 19:11:03 +0300 Subject: [PATCH 4/8] DrvVesa: do not trap if not possible to get bios font --- Drv/Mod486/Vesa.odc | Bin 16272 -> 16276 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Drv/Mod486/Vesa.odc b/Drv/Mod486/Vesa.odc index 755bc5c264ab748215a56f09591933657c219910..129f1e5ba74f75631b17eda7c6bd0cd1403a7afe 100644 GIT binary patch delta 80 zcmbPGKc#*`J)_{nhB(f6I|c?$1_p-kiO*e`80{wOG1_r)+b}Tj1I3taCYLcDVQk)P j&2&{jR71-#IM_8PL?bgVvqVS1*g(@-OLMcLaJ~)zQzaC7 delta 80 zcmbPIKLH3Cc_%i+aYoxQFmN(3Fa%G0?#lGncCsF$9T&R|0|P%$?7#KoGR7l}^_#7k it_lb`1_!$ag=l2vWtQkD7#nC>Pfiq2*z79ouLA(IZx-7C -- 2.29.2 From 5c7d31df7138c10f8d9d6a913940a3d2c8b7a694 Mon Sep 17 00:00:00 2001 From: DeaDDooMER Date: Sun, 9 Aug 2020 19:12:48 +0300 Subject: [PATCH 5/8] Init: use HostShell if no one graphics video mode --- System/Mod486/Init.odc | Bin 7859 -> 7909 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/System/Mod486/Init.odc b/System/Mod486/Init.odc index 0d6e0c5224ceb0bb8392873b9fd6f91139afa8ec..220aae3f00fbde798cf07f2dac9980a700dd513c 100644 GIT binary patch delta 121 zcmdmN`_y(qJ!8_uhB(d*vJ4EI3=9k_CO&s%44SOVXfGTi&A`A96bb>-5U_G`J>z7t vA3zQxFGwT+&T3`YEW)%|lFwSfBfq#LI3qPDM=z*!@-b Date: Sun, 9 Aug 2020 20:16:02 +0300 Subject: [PATCH 6/8] Init: disable mouse driver --- System/Mod486/Init.odc | Bin 7909 -> 7985 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/System/Mod486/Init.odc b/System/Mod486/Init.odc index 220aae3f00fbde798cf07f2dac9980a700dd513c..7e3d07f559c593de70fdc5e415b9e3204508040f 100644 GIT binary patch delta 226 zcmaEAyU}h!J>$BG4RM@*WEmJZ85kJ8OnmOjIB&8pqrLD7X$A&-5U_G`J)=Ks zi#P)V<79CrOHoEKkoXTEX5 Date: Sun, 9 Aug 2020 20:23:55 +0300 Subject: [PATCH 7/8] Kernel: do not use fpu ops in Kernel --- System/Mod486/Kernel.odc | Bin 100543 -> 101191 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/System/Mod486/Kernel.odc b/System/Mod486/Kernel.odc index d421391f935d4e2db708d03c2967923bdfa0290f..11c73dd604c84863f202d3c66950dd4bb5b424a8 100644 GIT binary patch delta 1785 zcmb_c&2Jl35chN9lx>=ne36EHFlpMbcAV693?z2a)`_>tDvmd-?S7~YVgn{w?AVp< zN~IuKaH)t?DbY&!R!$UgL>qzBgX1DTE}*Is{{R<+!~y7uBQtN;OB9tGtHf_K?>95Q z_nUd|V6W|mPug~??r(SYK3qTEy~A9B%jG)0v-exvz5lT>#m@KC?=sg(bbf`a^*uGK zEZoXg%ze*p3;WBIgsUF*ig~~DD^PMf~}1OQGFv!c95Wv|~*=R>-j~I98M_BRBL-+t7;J^+Da39=^spjC;eg zO~;SJVb*D|ky+MhMn|4>jU|eOO_&E&T2$0{had>~q93;O2*}B_v?QtMGTec8`w$kT zZ6Tj6Y*w}+K!N7nz-KSI3l-zdmErE?>}?;2dZFUP)?UxBUUPfp^U}!;t(^4(##(`f zxBh;&oP?w9Vq?&FQtum@+S2_H_VS8XN_r)W$wdNB<%`Cz^@%wIzy#$ZV-kWK4WbW5 zM@PZuC8kH?Y&<6DKe%{yDO*|7^b&~3LVLU9hq8VrYmtkBl1YPxuG-`4tiLK>A_Nth zhXACPr6d)a4#9?ADMPW4f6uNcXb_p_*nAP<@@2TGZDv!L7gm)x1OxOfM=3Z2Z-9sy zCLv$k42eyg*W1j5HAP~CRjV)t0WT=3?ZMo0M;+(qVKsIY&%%4=#k@{RPMCL2C=zLO7dZG;`zw~QQ##4l+s4vVPmP3 zq^2=3AWb~UI35J%{$tS=-2GpVcsHPAAw)ANNLq4^yIGU4fh1Q<=iH zR?3MqBwP^WZk%gGQg|u;cQ$t#Osc?O%+qg+hiqc2+BqR)8zo$U5`&ED_V?_D@_ zGdV{RtQ>&_MM+4pWEAkq<@|s*)E=WKY}|S$0x?yMU4vk#wx43>22e|EItoU&f##(- zbG2XkSx<5@6b!!>o|%3%Jad|aX%2`^qla%p6mn!WCq<`G#>(W2Eu=)<5>J)Zq*%H` zsNG7lU{$b!`Hcz&tQN@0MKQ;f&m_}wg0r!<;u7s}6mKitR~i88Jy_h*O5*8B&W%Qt zeOctTt`g6=^TuIJXRl!BGs_)_Vqoz1YZ_Cuo5b9ZW-WPFP&$zMB1OH|rc bG62dYqj96JmGr26nqdQM=Ie(U=9&HnEf}lV delta 1120 zcmb7CZAep57`|t^(bOgTD59mksno9fXwxBXe(vMyhI&VLb90H*tfgZqvT5`INkJ%m zfOen@5&emXeiXzF>PIMkKoS%f{f&qS`jOCo|8&l--dW_24%~B}_dU=1ocBEEyuGJc zoY%}vt6FF0uML&moI#A1VVLVP^FM+r+YEM~c4N~G#8i@`gZ$<3QJO~XQdB3sRL_;5 z4T;kZs8NUXaPP5_dWVW()N0BzkxxdS6;#YMBK%!{6y29944+i!i}clmG>0z|BGQnF z=~9rI?27i#+yiViFQIb0VfLiU^_0*_rrlA5t{N!Mp`bv7U~+8p7#!+fkorzPWjdVFMZ)C;|G zQu^S0d{C=|_-c>27>Vl%WRhO@Jjw0L+F&@9Puqah7un+rR}BA1Z!S1-_o7t;R!Yau z7d!ErrE){+Y|aMx%;j`ZU~|EYJzC1#F(Rhd@PmA zS`-EZ!*Q5MjijSQiM4^eU?IBr*J`zjWwE&I)ySvARNuX_e>Z(A(eL{|b?NTP(^71I zr^mvYTe`iLyc1B4!%~amK7ksY_kuqX>E(QU!FS>x@r~R9*Ubrq%<$AXFZcw(mxKnV zSQkgfYg<6zV*LUS93P~da2I5t4f?{oW$U_F5gCzDbj>1TxVeV?yC4hRHgM9?JVhC3 zm7@%eeEz5}3ionkwHBNZjOfJoapamVa54pVT?Gkkm=9R8ED_skC&=dHqX@zkuC^?eAHGyM_xLqB6NCW>fG?9$#fp-p}_{OrdR#}q;C8T DzpxgT -- 2.29.2 From 0a26e8957591bbf77e287e176c81f5e358e723e3 Mon Sep 17 00:00:00 2001 From: DeaDDooMER Date: Wed, 19 Aug 2020 23:21:57 +0300 Subject: [PATCH 8/8] Kernel: initialize fpu only if it exists --- System/Mod486/Kernel.odc | Bin 101191 -> 101901 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/System/Mod486/Kernel.odc b/System/Mod486/Kernel.odc index 11c73dd604c84863f202d3c66950dd4bb5b424a8..f98d8bb0fe005e255149fe37fda28f2cba12f492 100644 GIT binary patch delta 736 zcmZ`$&u`Lj6z5wfOP3KdGsz~RFLNf8Ay&*T;IA>-QA4_g7UyM&2Q?(Z;fGBPwr$q>fOT*UQImuUSW8$$+!LV)6e_7_dfmd-h24L`?kfk54#6j zQ{Owx!+SiQZ=LQ*ihJ4VMcLii*KOuGhhzhv!)r0#WZXgUnDg(m>1YPtzU1jS+BMUVk*_|Hki;8mB}k>lD?W1 zAtb~>lXMV8IUNBpCenRXO!xO6v$-Bu@dr?|>uQ9tD0V8k`~pS4D$^IRp|opQw&fa* zM(clWuwd)qN*1ho1PWErwMqE+q_n1}KAyMg5WfR^Vl;YlxrscF8e)dCg#@BPVJI3_ z{z*84xZ(F^KKWbnMh*8277YR}J%7Xn|^JqyN^ACO!=ZmTG>!7@4Hq>!XrK&X{A -- 2.29.2