From 39afecd560ee15efe499dfc79636ee1e2c8073ab Mon Sep 17 00:00:00 2001 From: kieron Date: Sat, 28 Apr 2018 17:15:15 +0000 Subject: [PATCH] git-svn-id: https://spexeah.com:8443/svn/Asuro@571 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c --- Asuro.iso | Bin 5214208 -> 5214208 bytes bin/kernel.bin | Bin 151780 -> 159972 bytes compile.sh | 4 +- iso/boot/asuro.bin | Bin 151780 -> 159972 bytes lib/ACE.ppu | Bin 1319 -> 1319 bytes lib/BPE.ppu | Bin 1319 -> 1319 bytes lib/BTSSE.ppu | Bin 1341 -> 1341 bytes lib/CFE.ppu | Bin 1319 -> 1319 bytes lib/CSOE.ppu | Bin 1330 -> 1330 bytes lib/DBGE.ppu | Bin 1330 -> 1330 bytes lib/DBZ.ppu | Bin 1319 -> 1319 bytes lib/DFE.ppu | Bin 1319 -> 1319 bytes lib/E1000.ppu | Bin 15708 -> 15708 bytes lib/GPF.ppu | Bin 1428 -> 1428 bytes lib/IDE.ppu | Bin 10522 -> 10522 bytes lib/IDOE.ppu | Bin 1330 -> 1330 bytes lib/IOPE.ppu | Bin 1330 -> 1330 bytes lib/MCE.ppu | Bin 1319 -> 1319 bytes lib/NCE.ppu | Bin 1319 -> 1319 bytes lib/NMIE.ppu | Bin 1330 -> 1330 bytes lib/OOBE.ppu | Bin 1330 -> 1330 bytes lib/PCI.ppu | Bin 8132 -> 8132 bytes lib/PF.ppu | Bin 1308 -> 1308 bytes lib/PS2_KEYBOARD_ISR.ppu | Bin 2235 -> 2235 bytes lib/RTC.ppu | Bin 2046 -> 2046 bytes lib/SFE.ppu | Bin 1319 -> 1319 bytes lib/SNPE.ppu | Bin 1330 -> 1330 bytes lib/TMR_0_ISR.ppu | Bin 2144 -> 2144 bytes lib/UIE.ppu | Bin 1319 -> 1319 bytes lib/USB.ppu | Bin 3836 -> 3836 bytes lib/arp.ppu | Bin 3509 -> 3509 bytes lib/bios_data_area.ppu | Bin 3345 -> 3345 bytes lib/console.o | Bin 25940 -> 33916 bytes lib/console.ppu | Bin 26464 -> 30671 bytes lib/drivermanagement.ppu | Bin 8770 -> 8770 bytes lib/eth2.ppu | Bin 2231 -> 2231 bytes lib/fat32.ppu | Bin 10765 -> 10784 bytes lib/gdt.ppu | Bin 3580 -> 3580 bytes lib/idt.ppu | Bin 3079 -> 3079 bytes lib/ipv4.ppu | Bin 2978 -> 2978 bytes lib/irq.ppu | Bin 974 -> 974 bytes lib/isr.ppu | Bin 845 -> 845 bytes lib/kernel.ppu | Bin 6051 -> 6051 bytes lib/keyboard.ppu | Bin 4501 -> 4501 bytes lib/libpconsole.a | Bin 122652 -> 145452 bytes lib/libpmultiboot.a | Bin 29980 -> 29980 bytes lib/libpsystem.a | Bin 184436 -> 184436 bytes lib/lists.ppu | Bin 4562 -> 4562 bytes lib/lmemorymanager.ppu | Bin 4315 -> 4183 bytes lib/mouse.ppu | Bin 4910 -> 4910 bytes lib/net.ppu | Bin 2928 -> 2928 bytes lib/netutils.ppu | Bin 3902 -> 3902 bytes lib/pmemorymanager.ppu | Bin 4233 -> 4233 bytes lib/scheduler.ppu | Bin 3297 -> 3297 bytes lib/storagemanagement.ppu | Bin 8449 -> 8449 bytes lib/strings.ppu | Bin 5426 -> 5426 bytes lib/system.ppu | Bin 12672 -> 12672 bytes lib/terminal.ppu | Bin 9257 -> 9257 bytes lib/testdriver.ppu | Bin 1481 -> 1481 bytes lib/tracer.ppu | Bin 2690 -> 2690 bytes lib/tss.ppu | Bin 3231 -> 3231 bytes lib/util.ppu | Bin 9759 -> 9759 bytes lib/vmemorymanager.ppu | Bin 6105 -> 6105 bytes src/console.pas | 354 ++++++++++++++++++++++++++++++++------ src/driver/hid/mouse.pas | 2 +- src/kernel.pas | 5 +- src/lmemorymanager.pas | 24 +-- 67 files changed, 324 insertions(+), 65 deletions(-) diff --git a/Asuro.iso b/Asuro.iso index 34395131ee06aae126f21883697114458d827372..85b5f8fcb7ac89552d0fdcbc4fd535a0e27676ce 100644 GIT binary patch delta 32945 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 NGoc)Fii99oLZkacPSUiIug|rln5W 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 MQSy1!$gw5=4@3+L8~^|S diff --git a/bin/kernel.bin b/bin/kernel.bin index 19c8395c0bf0b6d17cb1cdbd0d75e1b21f3f3851..d6353d9cb09a3d13be7060489f1e74e426f6ad89 100755 GIT binary patch literal 159972 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 delta 29260 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 diff --git a/compile.sh b/compile.sh index da8991f3..1d1e0104 100755 --- a/compile.sh +++ b/compile.sh @@ -26,11 +26,11 @@ if [ "$1" = "-d" ] then echo "Compiling Debug FPC Sources..." echo " " - fpc -Aelf -gw -n -va -O3 -Op3 -Si -Sc -Sg -Xd -CX -XXs -Rintel -Pi386 -Tlinux -FElib/ -Fusrc/* -Fusrc/driver/* src/kernel.pas + fpc -Aelf -gw -n -va -O3 -Op3 -Si -Sc -Sg -Xd -CX -XXs -CfSSE -CfSSE2 -Rintel -Pi386 -Tlinux -FElib/ -Fusrc/* -Fusrc/driver/* src/kernel.pas else echo "Compiling FPC Sources..." echo " " - fpc -Aelf -gw -n -va -O3 -Op3 -Si -Sc -Sg -Xd -CX -XXs -Rintel -Pi386 -Tlinux -FElib/ -Fusrc/* -Fusrc/driver/* -Fusrc/driver/net/* src/kernel.pas + fpc -Aelf -gw -n -va -O3 -Op3 -Si -Sc -Sg -Xd -CX -XXs -CfSSE -CfSSE2 -Rintel -Pi386 -Tlinux -FElib/ -Fusrc/* -Fusrc/driver/* -Fusrc/driver/net/* src/kernel.pas fi if [ $? -ne 0 ] diff --git a/iso/boot/asuro.bin b/iso/boot/asuro.bin index 19c8395c0bf0b6d17cb1cdbd0d75e1b21f3f3851..d6353d9cb09a3d13be7060489f1e74e426f6ad89 100755 GIT binary patch literal 159972 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 delta 29260 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 diff --git a/lib/ACE.ppu b/lib/ACE.ppu index 5aa56429eff0b4c82ace20c324ba23e7dd63c64b..c64a42a977383420edb46a589ce381d6fa364ad3 100644 GIT binary patch delta 19 bcmZ3^wVZ201IH&#gA>1#OBZbHn9l+LRL2P2 delta 19 bcmZ3^wVZ201IN*zp!-L9Q`t6l%x3`rQk@7} diff --git a/lib/BPE.ppu b/lib/BPE.ppu index f36e6a9407bca07250a688bc492c43e183e43961..675492cd886997c0a634939ce7b5e6a9ce3c4288 100644 GIT binary patch delta 19 bcmZ3^wVZ201IH&#gA>1#OBZbHn9l+LRL2P2 delta 19 bcmZ3^wVZ201IN*zp!-L9Q`t6l%x3`rQk@7} diff --git a/lib/BTSSE.ppu b/lib/BTSSE.ppu index 4e00df2e6767aeb7d3af6543966954f9fdff3974..4f200fc2c192b5174fcc886c6243032b5a95eb0b 100644 GIT binary patch delta 19 bcmdnXwU=u`3&$r-gA>1#OBZbH*~kI_SVsvX delta 19 bcmdnXwU=u`3&+u*p!-L9Q`t85Y-9ldRvieT diff --git a/lib/CFE.ppu b/lib/CFE.ppu index 394fd4dc98b182356cc34f7aef96a6af49421706..513e9242579a02b5a570c66a9e56d03222f98a4d 100644 GIT binary patch delta 19 bcmZ3^wVZ201IH&#gA>1#OBZbHn9l+LRL2P2 delta 19 bcmZ3^wVZ201IN*zp!-L9Q`t6l%x3`rQk@7} diff --git a/lib/CSOE.ppu b/lib/CSOE.ppu index 2c36954814c7ea0d33b82efb02ecf8937778ba1f..80b11722bdec0aeecbe44513e8e17f5173c7d44c 100644 GIT binary patch delta 19 bcmdnQwTWv&6UQe_gA>1#OBZbHTEPMUR)+}y delta 19 bcmdnQwTWv&6UWh@p!-L9Q`t6ltzZEFR9y&u diff --git a/lib/DBGE.ppu b/lib/DBGE.ppu index 74d651374b27cb7e114ed692f0f8c9225b03db85..9ede75a6377ec1cd97d62e1abe2a64750474fc17 100644 GIT binary patch delta 19 bcmdnQwTWv&6UQe_gA>1#OBZbHTEPMUR)+}y delta 19 bcmdnQwTWv&6UWh@p!-L9Q`t6ltzZEFR9y&u diff --git a/lib/DBZ.ppu b/lib/DBZ.ppu index 31be151540b6bd36fccd61c6629d571aa909db6c..79b59bd07069558096b649f87cebd81fda88c44b 100644 GIT binary patch delta 19 bcmZ3^wVZ201IH&#gA>1#OBZbHn9l+LRL2P2 delta 19 bcmZ3^wVZ201IN*zp!-L9Q`t6l%x3`rQk@7} diff --git a/lib/DFE.ppu b/lib/DFE.ppu index 961517d53ad6248250cc2071e92f89e7e2a9266d..1b8fb9db85d631eacfa67c58ebb8d2d3780db22c 100644 GIT binary patch delta 19 bcmZ3^wVZ201IH&#gA>1#OBZbHn9l+LRL2P2 delta 19 bcmZ3^wVZ201IN*zp!-L9Q`t6l%x3`rQk@7} diff --git a/lib/E1000.ppu b/lib/E1000.ppu index cc30014995ecdb6b1ac1a03ef7adac3d5375d8c2..7735f03ee3d82502f0d5a53f93fd5d4bd7f5fc48 100644 GIT binary patch delta 19 bcmcapb*E}V8^1#OBZbHJ7)s`Y!?ce delta 19 bcmcapb*E}V8^_V0p!-L9Q`t85owES|Y3&La diff --git a/lib/GPF.ppu b/lib/GPF.ppu index 76f9e39ed61fe921bb0a4d8fefbd4ec0a06ac374..097168bdd25bdf3c252e641f0578df276001c17b 100644 GIT binary patch delta 19 bcmbQjJ%xKh1IH&#gA>1#OBZbH;9&&-Q5Xm( delta 19 bcmbQjJ%xKh1IN*zp!-L9Q`t6l@UQ{^PVNV# diff --git a/lib/IDE.ppu b/lib/IDE.ppu index 35bf1401b6e7885795c3f3bfe37e294087e74c2b..ff0848aea76fc247c30de382dbcb34e2c529f906 100644 GIT binary patch delta 19 bcmbOgG%IMr431Bl1}A1#OBZbHTEPMUR)+}y delta 19 bcmdnQwTWv&6UWh@p!-L9Q`t6ltzZEFR9y&u diff --git a/lib/IOPE.ppu b/lib/IOPE.ppu index 3e76d164b568910f8bf5eb3f8c7b0479c33a352f..c95dce023f7f6ec251e2d3d352cfbfa14b0be38f 100644 GIT binary patch delta 19 bcmdnQwTWv&6UQe_gA>1#OBZbHTEPMUR)+}y delta 19 bcmdnQwTWv&6UWh@p!-L9Q`t6ltzZEFR9y&u diff --git a/lib/MCE.ppu b/lib/MCE.ppu index fffc785d149115948e8b2e494f7d5be3f7cc8b6c..8a3523b019669531cbd6797b15941af79d593425 100644 GIT binary patch delta 19 bcmZ3^wVZ201IH&#gA>1#OBZbHn9l+LRL2P2 delta 19 bcmZ3^wVZ201IN*zp!-L9Q`t6l%x3`rQk@7} diff --git a/lib/NCE.ppu b/lib/NCE.ppu index c662e6367812777a2f6d27d436940181cf08f6d1..58ee364a90fa0eed5634c73abed0894db0bbbd0d 100644 GIT binary patch delta 19 bcmZ3^wVZ201IH&#gA>1#OBZbHn9l+LRL2P2 delta 19 bcmZ3^wVZ201IN*zp!-L9Q`t6l%x3`rQk@7} diff --git a/lib/NMIE.ppu b/lib/NMIE.ppu index c73d99055befef7fd6d6bcb0b2489a90b8d6d6c0..94698c2fa20b7b7b4c2538faebf3f88f9e5ea377 100644 GIT binary patch delta 19 bcmdnQwTWv&6UQe_gA>1#OBZbHTEPMUR)+}y delta 19 bcmdnQwTWv&6UWh@p!-L9Q`t6ltzZEFR9y&u diff --git a/lib/OOBE.ppu b/lib/OOBE.ppu index 1e7b57d4708c131bd24c5d41b5cfab8f23fffb2a..95ea36957135a213b2b94a700c157b57e44da98c 100644 GIT binary patch delta 19 bcmdnQwTWv&6UQe_gA>1#OBZbHTEPMUR)+}y delta 19 bcmdnQwTWv&6UWh@p!-L9Q`t6ltzZEFR9y&u diff --git a/lib/PCI.ppu b/lib/PCI.ppu index 18cd37ec1682c0a7c903a858ebb5bb1aefadb74a..5264561a29f6e43dfea11e746c851bbc97a965c4 100644 GIT binary patch delta 19 bcmX?Nf5d*mWR6do1}AnYU{?uD delta 19 bcmX?Nf5d*mWR9ajLHCdJrm}6Ettk%xUM&d9 diff --git a/lib/PF.ppu b/lib/PF.ppu index d31cca0c8e6c91c0a32596d2587c14594176d28d..2ff461ce9d9fd7da9eaea932a492d339f043102f 100644 GIT binary patch delta 19 bcmbQkHHT|L9mgk4gA>1#OBZZxo5lhFQwIpT delta 19 bcmbQkHHT|L9mmn2p!-L9Q`t7QO=AH7P~8YP diff --git a/lib/PS2_KEYBOARD_ISR.ppu b/lib/PS2_KEYBOARD_ISR.ppu index 20292fd890c41c9ce92ce833a6261aba1bdfd996..44a9c7d5146db377227c9bc1ed8bd0aa073fec1a 100644 GIT binary patch delta 19 bcmdljxLa_-ERIi_1}A1#OBZY`Z)XPpU|$Jd delta 19 bcmeyz|Brt{KF86Zp!-L9Q`t6_x3dEPUNs2Z diff --git a/lib/SFE.ppu b/lib/SFE.ppu index acc1ba4acbacb24667db5e529f0418504e2475c5..e731a0914b7446775daa32a2d4eee4c4049c5cd2 100644 GIT binary patch delta 19 bcmZ3^wVZ201IH&#gA>1#OBZbHn9l+LRL2P2 delta 19 bcmZ3^wVZ201IN*zp!-L9Q`t6l%x3`rQk@7} diff --git a/lib/SNPE.ppu b/lib/SNPE.ppu index ee36d9692203a2558271363097e06e878bec0566..093f65164adbf79cfd6e1524450e41cf71e86ed2 100644 GIT binary patch delta 19 bcmdnQwTWv&6UQe_gA>1#OBZbHTEPMUR)+}y delta 19 bcmdnQwTWv&6UWh@p!-L9Q`t6ltzZEFR9y&u diff --git a/lib/TMR_0_ISR.ppu b/lib/TMR_0_ISR.ppu index b9261d0001b6543a95046ba843fcd7ee23a26b47..5e38e3c3115f8faee906828a2c289077054e25fd 100644 GIT binary patch delta 19 bcmaDL@IYWf5634>gA>1#OBZaMa)uoMUcd>X delta 19 bcmaDL@IYWf56971#OBZbHn9l+LRL2P2 delta 19 bcmZ3^wVZ201IN*zp!-L9Q`t6l%x3`rQk@7} diff --git a/lib/USB.ppu b/lib/USB.ppu index 2fb2d934805529b4360e90c785a4280108301e55..a23f5998e0abd8c892c7bbebec3f98944a2b5ead 100644 GIT binary patch delta 19 bcmew(`$u*{6UQe_gA>1#OBZbHD&hkGV-pFE delta 19 bcmew(`$u*{6UWh@p!-L9Q`t6l74ZQ8VCe}A diff --git a/lib/arp.ppu b/lib/arp.ppu index f1e334627d04b95cd62d151cb23da79e98b5dd23..e1670b47789ae0f13fb84edfdf2cf98dfebd8edd 100644 GIT binary patch delta 19 bcmdlgy;XX`QjSlW1}AzDZs4BC2moM}22xb5P diff --git a/lib/console.o b/lib/console.o index b17a6085ee11e23de2061bd985fda61e832c41ee..7e0217f76128f3c2b8a627438d6ade82c152904e 100644 GIT binary patch literal 33916 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 literal 25940 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 IAF=)Y7it`%1^@s6 diff --git a/lib/console.ppu b/lib/console.ppu index f27255a7e3e9e8321eb5f8d30ae73513509f1555..e70b52cd94fab933ac6914cb1de437f1b2e58e9b 100644 GIT binary patch delta 6361 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 delta 3438 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 delta 19 bcmX@)a>!*uC&$sCp!-L9Q`t67+^7fuUiS$` diff --git a/lib/eth2.ppu b/lib/eth2.ppu index 3fa29d20f23d0def837900ebd6b21af478b4deb2..28a016a7aeab1d9e36b287787d28d30419cbde65 100644 GIT binary patch delta 19 bcmdlkxLt6?1n>T)GL| delta 19 bcmdlkxLt6e-D}rvd_zFCF%U#3Fjg@T!`6;;7RtH~(m!y> z*8%}#9$=7Z#E-uWLUbBLW6%(yA~D9qj~F3_7=wZlO+a)gp8I-Vx0k%%x$k#>=bU@a zz3(3GINjliM%Oh>pQ+gcYzq4*>SgzXjD>fMJNKMf7+A;{yD;ntPl?{WF}&Ja`e(55 z)A8TlIZI#T&`U+_O^B>z)`Fyny*#Z<70g# z`y{-j3&DQeR&2ory=9gDVs+nTm1cG?g*aY?XpD_S3)|N#egq>w!2;<(e zAT;3FvH(Qzn=%<1Q7R8X6GqCz(2N_)BQPBg6VAX7%Vn5}zYsqQtrarN#w!_E*Jg0IfJ$8G$zZyfOrf@qVQY?O0=~hb6emR0~USJKq;2v{5tQ%y$C(Wp% z1x$F&VRxFKh+56e^n#0TWpQ_UYkxYGU|`0n&KkR=ND)j`1R6rkKsK3TV8vBV57@BJ zSp{}H1|-K8`+jEiHe!J3tH1xZAArlm$_IdKU7rM9Ioa@#7jN-gF!FONm>? zdFVx`?l7#Hq+g2-o}hj+F-f5~QQcYDTb7pq+aRgX@3Ba!5d5f*o+2KuwS*SV0YJ|ooclBG@Izf>V}6^$>7 zdCp%dLY=)%{~J-ia~g&)@?S!&ZryQ;PcwTCRNRQZy|cUk#LWFMg{1TD7P*Z`EW>7ATy9IYQlneSX(m3rtt@w26roWGA*`pOU7Auv5(QG*4-j z?RcK3VR|+6cl_h;9UP`9?e=tPU`v81C~Qu*a7~e=21zpMB<~A^6Aj`Hg-2&pI68iR=H za85Y9M|PstliXoatubg-9p2{-&GcTP!9=a6h$++>gHBa`S;YSW57f=9>&@S%z`i4z z|KDIuH(;jZk@O#fc=EVpjDq!XMfdVW6;_>q*rnPyF;-&N~}1c zA(Pk?Up(pHt8VwSm{gxzC%GpsvOT|i!w9MlqDczAtW)pc$ M3{*`C-VFNx2k@3^YybcN delta 2160 zcmYjRdu&r>6#q`wcHK(Xb!+Ln(7n61D;tidJX+p9aLjIiWclhk`+7*nk3uD1(!M0`B$2L`%uC%t^ z`gl|_p5Lzn_HWZM`2uzIz9sN6p4;fo=q-ZvNU@}dfHs%3F&}LX_RCdQE zpEM2W@OE(!hR|Y;`G-xw=<1Bk0;Z)+qF~|VKJ!fgFSc1i;KKn+1pIi`QVjw8g7P`| zAMtZBR1$_Dwv|Mn0tX2z@tu+wRN<|XMyN)cwH9h{u{8#@n6^ft4qvv0AcU8Rug71k zVF;t6Gy)M!ltv+ndrD)_fF}uKc&#)H^Y9f^D38H%{I)y-E6{8Y!%AFeuZK8x+G`+z!-T8wU3&yp<4t=M)}YzZ0Bdmx z;W|t^BCsA`a@50y$;*zd02|Tk48vo%&e;ep*zb(OCOqSu2d(%e@sFe4H4l>5>^crx z@T%)sD$(K|Ce2sw1F!?Pc%pK4JQ2cMo-|y*4c=}@;e2hxOKL=qL&q-RO8TvHFgCX+)Vg`ib%{lE0C95g{mJ{0j6pN`c zzlQGqAzm!(Bped^l(J!^*6YNa<}CDJ&)i&jk6V=hJ0`Tp@wd6&@}6SluTIZS@FdRI zN%RMumbZk8SDa8Pen!maoCO*4!M){jnJNKxQD`sW-Jo}o9MSj>1^+2UIv4&DQr82# zMA$=kUF>uIh5`NVI&%RXt$`me4B|k=-uR$hEB2ib-=;{nprDRKx{B?Dg3m5cfw@SRU9NN>Q3jRE}7mXvcY_}45D9o7+H7^O(P2*WXM=GB=y|~_9x!03lxh_0kC@*3^|jsw#y0`Q@+fO4)U7z z<ANd+O-9*9y%l#F3D{)dm_-Mn2`U>=@ydxo>Sc dqdZMoX%|UoYHECput>eQqDg?J3E=%u_5aM0Y03Zq diff --git a/lib/gdt.ppu b/lib/gdt.ppu index 3dbae7cc853bb40df3009eea88ec863774501829..802e72740fa6447ae4f94c8b63b44d0b4af9c92e 100644 GIT binary patch delta 19 bcmew({YQF2KF23bgA>1#OBZY`Z{-C5VX+Bz delta 19 bcmew({YQF2KF86Zp!-L9Q`t6_xAFo2Uxx_v diff --git a/lib/idt.ppu b/lib/idt.ppu index 85cc54141f80e2c6c57a9b1302fe4d57f6dcc20d..108a773fe697cf29347829c4f43b38115565a5af 100644 GIT binary patch delta 19 acmZpdXqTAK!0}1b;Kc9b(ghnk>bU_?>Ik3! delta 19 acmZpdXqTAKz;QGv=>C!3RJM&B_1pkYzz7}y diff --git a/lib/ipv4.ppu b/lib/ipv4.ppu index 1148362df3e9b55a499fa92d16c9bad41b2faa46..f4550ee63e93f7afd8a694f189944d4b7647d122 100644 GIT binary patch delta 19 bcmZ1^zDRt+RE|%Y1}A1#OBZbHaAO7lSt1#OBZY`zs3XrSmFsZ delta 19 bcmX@hc9v~IKF86Zp!-L9Q`t6_Utqlv-uIgSPe-9OTs%C_;>N-+SIUJKm- diff --git a/lib/keyboard.ppu b/lib/keyboard.ppu index d6feeca8f21f499c6b82266e254feaf60b424046..018aeb738ce95b57f69a0b5be830deccf7f6f433 100644 GIT binary patch delta 19 bcmbQLJXLu@CC4XCgA>1#OBZZx6cGdfR1pYY delta 19 bcmbQLJXLu@CCAaAp!-L9Q`t5)iUSfy02 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 diff --git a/lib/libpmultiboot.a b/lib/libpmultiboot.a index 5e3f08fddefcef6523f6adc7b009d8e0b1d3d7a2..8d0bd23dcdb2438f94ff5555ff0cf43d7e45d87a 100644 GIT binary patch delta 548 zcmbR9igC^>#tAZPmd2Jwrj{F(d|08($qGhdo4Z(lF(dOAa2{Yn@WnUR^1MdjxAK2S z;)`uwz`31ivcD)NOpk!I#O5;5Ul?lmE%fsB6%0*{Od#$6TMpJNF9+AGU<9;KQHybN zzWhf3p|0sFA9CY4-1wA7xB&csfloT e5dUpPH=GaB4-Q}Ne5CLd+gy;38o|Cr=a~SHyp`Gj delta 548 zcmbR9igC^>#tAZP=4NJwW`-M;d|08($qGhdo4Z(lF(dOAa2{Yn@WnUR^1MdjxAK2S z;)`uwz`31ivcD)NOpk!I#O5;5Ul?lmE%fsB6%0*{Od#$6TMpJNF9+AGU<9;KQHybN zzWhf3p|0sFA9CY4-1wA7xB&csfloT e5dUpPH=GaB4-Q}Ne5CLd+gy;38o|Cr=a~RTCzPZB diff --git a/lib/libpsystem.a b/lib/libpsystem.a index a742783a21bc15c519143c4a4183b6b8096b3ef8..b8bf5746cc3d7405ac26770c16c7686715b458ba 100644 GIT binary patch delta 4350 zcmZvgdu&ui6o+#zwWU&EmufAcz>1)Vur4T+S872;K^~i+1Yb}~OCS|kjo<@BKGI&y$|u3+ymDX* zm_^@M=I=q9^1|1>uulj zS^VUrI=zq9eHKnwwmw{M$JTV_--q{uKVO>Zva(@%0r1vo=am9)n4YVAX^T_Ck0r?2 z;m72u{U1L7{=rFlfl|^doMrR^rADt|dWjt?J1?xYKg`JFpFH^m*bkI-Qn8|W9xL0W zt!$V+mhYQ?&ONsG&A%$FW@{gUj=X-s-V{b{Xoj(NXmNn&F4S6z*|`fFx$pV!l)ZxU z&|;kq@paA_eE5=sDQvXqT6B#7U$wm2bG3lIYI!5MJDWedVjuYL@VbWux7FnwJLc=H=6;J7zaz}ZYgURXiFDSFogr?4V1I89q+aC&5B@>AO=IAvQC zg448BJCwX2f|+IqcAj(6_tK7&%BgCO2X?xymP$)ymjqp^G~j{ipsa-OE}hW? z)6@=UmMKE)UVNig~nUn>tZ~$}5S$uDl|1scojG}GkwWu_+hm;I+W?I816c(ay$N&~2(0Ts zSXGRT{b9S3aR?*gL;-i*3RDa!jl++F<}hI`?jLLb#`4watwUX>6E>&&K7$erj)JH@ zT@Xg3PE;axxy$U-A;rL$gqX@_6GQhHDjLFAEW8gcYGJav6jx7x&6>nsux7CrcR~+4 zv~DBbKN*@;({U1-b$t{jVnrCTwae)P0qdtiURwN>VM3IVXswe`{U0{BbtI4^W~$wq z-{6NEN4RA0w}stBFAnSW^Y~aqk;&Tt|@ddM^8K0~~d} z5GuNM#JV@(Si&^Yv@08E19pDLLl}{xNb=@*Qr5i(X`qhpybWr#KDn=yP5L12v78;o zv!d&jB2B%gqAx9fxYBDmky;E@xsImd(6xg!pumYdc(B^!9ftO*c+S{kP8Hb1lLm8G z)j>Gsr0t>uW*rk#NK>2C?Xc*$5?puGEEL!y*mNQ;xcw`$P72bL5iCEW1owY!79wGf zpznNK@Z7g%ofM=gBN+Qp3AX%T79wGfVBzJsVEQGqP72bL7OZZLw_^@GV-T+S>!scej!*7~_&A?2&$J zoL8ENlwNdS$}ldQqNG2brrlY~+jP zkiQqsbjb_Ch{&5yD-t(P3MDOyXZE_;E@{GAn!XK+@nV^!zhVSn1ms6d^^?|-A0nTav}}tET8;cVyc0D-Q0j5p0H}I{{dEK Bd#C^a delta 4350 zcmZvgdu&ui6o+%JwFN1#3s_31xFRSbu3Lo`fz*Nsf&!a>1Yb}~OCS|kjl7f~_=up0 zg^Nr?tE&)DC|DWj5kXkqZ7EnEphCr(5R9hQY6>wGqi62y%-p@Z{MGqp<~MVmbCZP0xXWJd$6dHrtW*I9xtVL*`oyGwm-5 zPui_hGx^GbdUdQb!M`Znz(-z;RE2$mu9-GY?xL6ymjh1rNA4eWh-CW;?(ft337J$ zae3;1Ck}!?H%Tv0N_vGejb5PC=rv3$v14WDgthkejE?-1r#=V!!Lm*&Ry5CJWxKVN z4bw*P{qxSc$M*htSB2GV^~2DC*U#UV!l(_+Fv<=+AK=*ww3cFa_JT(4Tk^fKS8yJB zUZ+ERopS~sy7W*A8*RE4T_eC(uBi50Enu%)(May@&KJG7AN+TF-NORCAlq)Ke25=^ zRqr+M(rYPT`kEB*mbEG1nDr^(ET$nZtf1f&y<>t?SdkcZ#~*jA-H=}dFh9p5hrxfBHz=~$4!5bBs-hmxn~!~z z46oLtfSL6vV9u8*;GnNlz!7H>AkR7uQ#TBZ%gY-W7{E*O+X+~!WQYjZW z>1scb>1Q|iVTaxDXq46ThPkY3FHj*9>jG}GkwWvA+hm+~qX8J{53&j{dNb%U5LnlN zu&Njv2f!93;}Ax~i30Av4X7AW8izZB<}hI`9>_HSWBKaz)*-Ib37gY>yPyPv!y&3q z7laY16P1Wv?ln7gNHH)nA*S-##L#F%MMD^cg=67@7AC7pan*QuUz6B#)=c)oHt21K z*1U@kOoV3Dbex1{T_1youp$iIwae)P0qZA2PFnnxVM3IVXswe`10FHAbtI4^W~kko z!hsry(_Cp48CS;xc_($stEc35;m39dP277FYUY&sPe+;Y;alY%s51k1lsf(O1b3z4u# z(048_c=kK9P72bL5sdw$1Y3SI3z4u#u<%k`F#V!gCk1Ir3syJB+c5@zGwXoDhX_kCLu*)@;sbj*4!lfOo#9I@P!ecsGB%IVB!hR*ZtgB0yaH8;;9v)!=Qn>nh zAuPXOU9O1TpoCj`yMzfR3g3T|N0@;0bC>QJct>B0{45_Rmw0HP5}!W6B~Dn2GaAgn zJ$D#&hcF`Y-W!7A-bo>h<|*mZgI&^uJ<|P$d8LU+>Ga`3+S>!scb}3j80nHG?2&$J zj8~e7lwLSCWf+%FQqnsoxTFbtq_3Uql_nznUC<)~f1fP;ofOR0$CP}ZM_uxSjeOB; z^7n!nE_p#15qa~eMdId3p`=Ce%w99gB~4gM)3-q}UMRElSBwCRfc%K5e#$zU97tzV z`_rCH1nT93`OP!dkrbBFLmPiETNb;nL)dg1=P?c~vpkP65&0OiReP-d7+7k(n{2Q6 zZwPFE$r?IB{gxGAV$5n*-3RFde4`#Tov`#zPNYGd<&(clOf}H2o1VD+lvQi}4-(CD Ax&QzG diff --git a/lib/lists.ppu b/lib/lists.ppu index 66be8c3e5a96bfc96fdb7875cafcd147d9688e0f..17cc047671d910c9ffc905735d727784d295b82b 100644 GIT binary patch delta 27 jcmcbld`WpiF-OHL>*(Lfr3)rjtFS1Z_c*?BvA!Sxs}>8` delta 27 jcmcbld`WpiF~`xMp!-L9Q`sg~tFUa`yYSM+#rlE(vd0Xg diff --git a/lib/lmemorymanager.ppu b/lib/lmemorymanager.ppu index 1cd28bc1d7eb4ad2145ae74ea6996768dc9f4f61..a656ec23d9153ccfc067a4565b099d1a73c682cf 100644 GIT binary patch delta 246 zcmcbucwIp@ARyGx*p#K2k%5`vK!6g1z5oNmybrBQ-?M}?s7{o1X6BZEJTWwQ@$=1yLKz7XJ9A@dsZ9bbwd7f|OWBn8{R3XT9pjxkN1#NWoX2P%1pX|j@l8`Bx4$yov_OqZA@PY_UL Ly1_JgyMPJ+TA&T$>auJTh_Ngk@u4i@#gS-MUwl;G&zt%gN=!qfq{j2au#2T z5I0aC7my1Be9T}KGC(0Y=E;2gZCoNySt;hp6SyQMZ{ycvQemF_j9-OGi+M7SfGU## J^JHTI6#&t!KluOv diff --git a/lib/mouse.ppu b/lib/mouse.ppu index 379be4bb5db852b88cdd93932de9b5fd1aa2dfa2..08eacef480b8d0dcf89d34c6a4a19e6bbb305fd8 100644 GIT binary patch delta 26 icmZ3dwoYw=AG4Ly1#OBZbHdd39+VOa^- delta 19 bcmew$_Cahy6UWh@p!-L9Q`t6lJ>voZUoQz( diff --git a/lib/netutils.ppu b/lib/netutils.ppu index b627a7a6ac895b845281f615830c38855be070cd..71f7403ff892904b604e81dea084ba1f1cbddebb 100644 GIT binary patch delta 19 bcmdldw@+@uCXP><1}A{OgEjiX|gb@cD#(ghpmz2*l1QE~|9 delta 19 bcmeBF>{OgEjbs0gyHAevrm}6E_nIF7T|o)J diff --git a/lib/scheduler.ppu b/lib/scheduler.ppu index 983a5b81f02d83f69910f817ae911827ffb66a97..6e7952cde4a9af9c25b49ceff6cf273c60801b65 100644 GIT binary patch delta 19 bcmaDT`A~8~HOD7SgA>1#OBZZxj^hCUULFZ7 delta 19 bcmaDT`A~8~HOJAQp!-L9Q`t5)$MFCFTl5I3 diff --git a/lib/storagemanagement.ppu b/lib/storagemanagement.ppu index d75be257145fe0e627698d1af6261886bb3fca99..d4e73b56831c6bae61c4adab2b30ad708cc93093 100644 GIT binary patch delta 19 bcmZp4YIK^gh2xW^!HM6=r3*Ihaa8~SS-S}< delta 19 bcmZp4YIK^gh2v;Y(ETI5scakfxGDeuSCI&* diff --git a/lib/strings.ppu b/lib/strings.ppu index 0df1f3ef9ccb97391940a105e11bc406af83efd0..6d4862975cfd0bf8b68507573fecd83b529099d9 100644 GIT binary patch delta 29 lcmdm_wMlD235()+kK-FFs)RWzW?4u7PA*-r`IoQ-BLKZv43Yo< delta 29 lcmdm_wMlD23CqU43omV~s1oKl8WeQ@NN+0J=3l}Vi~!OG4P5{L diff --git a/lib/system.ppu b/lib/system.ppu index a7ad9af556e5c1d77ed6cb9b3213f7ee31448664..191f4a9e4a485efb95cb7682738f68a56e90bfe5 100644 GIT binary patch delta 14 VcmZojZb+UG!2I{$qm9A3h5$5g2I&9* delta 14 VcmZojZb+UGzFDu diff --git a/lib/terminal.ppu b/lib/terminal.ppu index c9361c0ecff3e21bc7cbfaeb22e68e804ce4747a..8070fbcda779597833742c0b54ff4ef2177bef52 100644 GIT binary patch delta 19 bcmZ4KvC?D06pl}t1}AsTyO~x diff --git a/lib/testdriver.ppu b/lib/testdriver.ppu index d48a855c6244de2cd47560ac3119dfa6cdefc984..3c1c5d6aad1e3eaaa748c3f3f5f720592030d23f 100644 GIT binary patch delta 19 bcmX@feUf{^1ddOd1}A_1V delta 19 bcmX@feUf{^1dgLYLHCdJrm}6EVaN&qSG)*R diff --git a/lib/tracer.ppu b/lib/tracer.ppu index 20719948417008a7d9cb64681e28ed61901cc32f..d3ca016d543a7d20c50a6e791b309ae78b3cbc90 100644 GIT binary patch delta 21 ccmZn?Z4%w!%)#+V)8NGKzD4p%(E0sv_G348zm delta 21 dcmbR5Gv8-}zaq!cprHFldQ;gphbx|70RU!B2>Jj3 diff --git a/lib/vmemorymanager.ppu b/lib/vmemorymanager.ppu index 327cdd55b35106b49270489cada6271f7b9f71a6..322e8c4fc1bd19eb10b635cd34454abd75b8da41 100644 GIT binary patch delta 19 bcmcbqe^YDYMKe} diff --git a/src/console.pas b/src/console.pas index 9f638c31..23cae020 100644 --- a/src/console.pas +++ b/src/console.pas @@ -107,11 +107,17 @@ procedure drawPixel32(x : uint32; y : uint32; pixel : uint32); function getPixel64(x : uint32; y : uint32) : uint64; procedure drawPixel64(x : uint32; y : uint32; pixel : uint64); +procedure setMousePosition(x : uint32; y : uint32); + +procedure redrawWindows; implementation uses - lmemorymanager; + lmemorymanager, strings; + +const + MAX_WINDOWS = 5; type TConsoleProperties = record @@ -120,7 +126,8 @@ type TCharacter = bitpacked record Character : Char; - attributes: uint32; + attributes : uint32; + visible : boolean; end; PCharacter = ^TCharacter; @@ -130,16 +137,217 @@ type T2DVideoMemory = Array[0..63] of Array[0..159] of TCharacter; P2DVideoMemory = ^T2DVideoMemory; + TMouseCoord = record + X : sint32; + Y : sint32; + end; + TCoord = record X : Byte; Y : Byte; end; + TWindow = record + visible : boolean; + buffer : T2DVideoMemory; + row_dirty : Array[0..63] of Boolean; + WND_X : uint32; + WND_Y : uint32; + WND_W : uint32; + WND_H : uint32; + Cursor : TCoord; + WND_NAME : PChar; + end; + + TWindows = Array[0..MAX_WINDOWS-1] of TWindow; + + TWindowManager = record + Windows : TWindows; + MousePos : TMouseCoord; + MousePrev : TMouseCoord; + end; + + TMouseDirt = record + TopLeft : TMouseCoord; + BottomRight : TMouseCoord; + end; + var - Console_Properties : TConsoleProperties; - Console_Matrix : T2DVideoMemory; - Console_Cursor : TCoord; - Ready : Boolean = false; + Console_Properties : TConsoleProperties; //Generic Properties + Console_Real : T2DVideoMemory; //The real state of the Console/TUI + Console_Matrix : T2DVideoMemory; //The next buffer to be written + Console_Cursor : TCoord; //The text cursor position + WindowManager : TWindowManager; //Window Manager + Ready : Boolean = false; //Is the unit ready for use? + FocusedWND : uint32 = 0; //The currently focused Window for printing + MouseDrawActive : Boolean = false; //Is the Mouse currently being updated? + mouse_dirt : TMouseDirt; //Character Cell(s) the mouse occupies, these need to be rewritten on mouse move. + Window_Border : TCharacter; + Default_Char : TCharacter; + +procedure drawMouse; +var + x, y : uint32; + MX, MY : uint32; + +begin + MouseDrawActive:= true; + MX:= WindowManager.MousePos.X; + MY:= WindowManager.MousePos.Y; + WindowManager.MousePrev.x:= MX; + WindowManager.MousePrev.y:= MY; + mouse_dirt.TopLeft.x:= (MX div 8) - 2; + mouse_dirt.TopLeft.y:= (MY div 16) - 2; + mouse_dirt.BottomRight.x:= (MX div 8) + 2; + mouse_dirt.BottomRight.y:= (MY div 16) + 2; + if mouse_dirt.TopLeft.x < 0 then mouse_dirt.TopLeft.x:= 0; + if mouse_dirt.TopLeft.y < 0 then mouse_dirt.TopLeft.y:= 0; + if mouse_dirt.BottomRight.x > 159 then mouse_dirt.BottomRight.x:= 159; + if mouse_dirt.BottomRight.y > 63 then mouse_dirt.BottomRight.y:= 63; + MouseDrawActive:= false; +end; + +procedure redrawMatrix; +var + x, y, w: uint32; + +begin + if (WindowManager.MousePos.x <> WindowManager.MousePrev.x) OR (WindowManager.MousePos.y <> WindowManager.MousePrev.y) then begin + for y:=mouse_dirt.TopLeft.y to mouse_dirt.BottomRight.y do begin + for x:=mouse_dirt.TopLeft.x to mouse_dirt.BottomRight.x do begin + Console_Real[y][x].character:= char(1); + end; + end; + drawMouse; + end; + for y:=0 to 63 do begin + for x:=0 to 159 do begin + if (Console_Matrix[y][x].character <> Console_Real[y][x].character) or (Console_Matrix[y][x].attributes <> Console_Real[y][x].attributes) then begin + OutputChar(Console_Matrix[y][x].Character, x, y, Console_Matrix[y][x].Attributes SHR 16, Console_Matrix[y][x].Attributes AND $FFFF); + Console_Real[y][x]:= Console_Matrix[y][x]; + end; + end; + end; + outputCharToScreenSpace(char(0), WindowManager.MousePrev.x, WindowManager.MousePrev.y, $FFFF); +end; + +procedure setMousePosition(x : uint32; y : uint32); +begin + if MouseDrawActive then exit; + WindowManager.MousePos.X:= x; + WindowManager.MousePos.Y:= y; +end; + +procedure redrawWindows; +var + x, y, w : uint32; + WXL, WYL : sint32; + WXR, WYR : sint32; + STRC : uint32; + MIDP, STARTP : uint32; + +begin + for y:=0 to 63 do begin + for x:=0 to 159 do begin + Console_Matrix[y][x]:= Default_Char; + end; + end; + for w:=0 to MAX_WINDOWS-1 do begin + If WindowManager.Windows[w].visible then begin + if w <> 0 then begin + WXL:= WindowManager.Windows[w].WND_X - 1; + WYL:= WindowManager.Windows[w].WND_Y - 1; + WXR:= WindowManager.Windows[w].WND_X + WindowManager.Windows[w].WND_W + 1; + WYR:= WindowManager.Windows[w].WND_Y + WindowManager.Windows[w].WND_H + 1; + for y:=WYL to WYR do begin + Console_Matrix[y][WXL]:= Window_Border; + Console_Matrix[y][WXL-1]:= Window_Border; + Console_Matrix[y][WXR]:= Window_Border; + Console_Matrix[y][WXR+1]:= Window_Border; + Console_Real[y][WXL].Character:= char(3); + Console_Real[y][WXL-1].Character:= char(3); + Console_Real[y][WXR].Character:= char(3); + Console_Real[y][WXR+1].Character:= char(3); + end; + STRC:= 0; + MIDP:= (WXR + WXL) div 2; + STARTP:= MIDP - (StringSize(WindowManager.Windows[w].WND_NAME) div 2) - 1; + for x:=WXL to WXR do begin + Console_Matrix[WYL][x]:= Window_Border; + if (x >= STARTP) and (STRC < StringSize(WindowManager.Windows[w].WND_NAME)) then begin + Console_Matrix[WYL][x].character:= WindowManager.Windows[w].WND_NAME[STRC]; + inc(STRC); + end; + if x = WXR then begin + Console_Matrix[WYL][x].character:= 'x'; + end; + Console_Matrix[WYR][x]:= Window_Border; + Console_Real[WYL][x].Character:= char(3); + Console_Real[WYR][x].Character:= char(3); + end; + end; + for y:=WindowManager.Windows[w].WND_Y to WindowManager.Windows[w].WND_Y + WindowManager.Windows[w].WND_H do begin + if y > 63 then break; + for x:=WindowManager.Windows[w].WND_X to WindowManager.Windows[w].WND_X + WindowManager.Windows[w].WND_W do begin + if x > 159 then break; + Console_Matrix[y][x]:= WindowManager.Windows[w].buffer[y - WindowManager.Windows[w].WND_Y][x - WindowManager.Windows[w].WND_X]; + end; + end; + end; + end; + redrawMatrix; +end; + +procedure initWindows; +var + x, y, w : uint32; + +begin + Default_Char.Character:= ' '; + Default_Char.attributes:= Console_Properties.Default_Attribute; + Default_Char.visible:= true; + + Window_Border.Character:= ' '; + Window_Border.Attributes:= $0000FFFF; + Window_Border.visible:= true; + + for w:=0 to MAX_WINDOWS-1 do begin + WindowManager.Windows[w].visible:= false; + for y:=0 to 63 do begin + for x:=0 to 159 do begin + WindowManager.Windows[w].Buffer[y][x].visible:= true; + WindowManager.Windows[w].Buffer[y][x].character:= ' '; + WindowManager.Windows[w].Buffer[y][x].attributes:= Console_Properties.Default_Attribute; + Console_Real[y][x].character:= char(1); + end; + end; + end; + + WindowManager.Windows[0].visible:= true; + WindowManager.Windows[0].WND_X:= 0; + WindowManager.Windows[0].WND_Y:= 0; + WindowManager.Windows[0].WND_H:= 63; + WindowManager.Windows[0].WND_W:= 159; + for y:=0 to 63 do begin + for x:=0 to 159 do begin + WindowManager.Windows[0].Buffer[y][x].visible:= true; + WindowManager.Windows[0].Buffer[y][x].character:= ' '; + end; + end; + + WindowManager.Windows[1].visible:= true; + WindowManager.Windows[1].WND_X:= 50; + WindowManager.Windows[1].WND_W:= 50; + WindowManager.Windows[1].WND_Y:= 20; + WindowManager.Windows[1].WND_H:= 20; + WindowManager.Windows[1].WND_NAME:= 'Test Window'; + for y:=0 to 63 do begin + for x:=0 to 159 do begin + WindowManager.Windows[1].Buffer[y][x].visible:= true; + WindowManager.Windows[1].Buffer[y][x].character:= ' '; + end; + end; +end; function getPixel(x : uint32; y : uint32) : uint16; var @@ -169,6 +377,7 @@ var dest32 : puint32; begin + if not ready then exit; dest:= puint16(multibootinfo^.framebuffer_addr); dest:= dest + (y * 1280) + x; dest32:= puint32(dest); @@ -181,6 +390,7 @@ var dest32 : puint32; begin + if not ready then exit; dest:= puint16(multibootinfo^.framebuffer_addr); dest:= dest + (y * 1280) + x; dest32:= puint32(dest); @@ -193,6 +403,7 @@ var dest64 : puint64; begin + if not ready then exit; dest:= puint16(multibootinfo^.framebuffer_addr); dest:= dest + (y * 1280) + x; dest64:= puint64(dest); @@ -205,6 +416,7 @@ var dest64 : puint64; begin + if not ready then exit; dest:= puint16(multibootinfo^.framebuffer_addr); dest:= dest + (y * 1280) + x; dest64:= puint64(dest); @@ -224,6 +436,7 @@ begin fgcolor32:= fgcolor OR (fgcolor SHL 16); mask:= puint32(@Std_Mask[uint32(c) * (16 * 8)]); dest:= puint16(multibootinfo^.framebuffer_addr); + //dest:= puint16(windowmanager.getBuffer(0)); dest:= dest + (y * 1280) + x; dest32:= puint32(dest); for i:=0 to 15 do begin @@ -232,6 +445,7 @@ begin dest32[(i*640)+2]:= (dest32[(i*640)+2] AND NOT(mask[(i*4)+2])) OR (fgcolor32 AND mask[(i*4)+2]); dest32[(i*640)+3]:= (dest32[(i*640)+3] AND NOT(mask[(i*4)+3])) OR (fgcolor32 AND mask[(i*4)+3]); end; + //windowmanager.redraw; end; procedure outputCharTransparent(c : char; x : uint8; y : uint8; fgcolor : uint16); @@ -247,6 +461,7 @@ begin fgcolor32:= fgcolor OR (fgcolor SHL 16); mask:= puint32(@Std_Mask[uint32(c) * (16 * 8)]); dest:= puint16(multibootinfo^.framebuffer_addr); + //dest:= puint16(windowmanager.getBuffer(0)); dest:= dest + (y*(1280 * 16)) + (x * 8); dest32:= puint32(dest); for i:=0 to 15 do begin @@ -255,6 +470,7 @@ begin dest32[(i*640)+2]:= (dest32[(i*640)+2] AND NOT(mask[(i*4)+2])) OR (fgcolor32 AND mask[(i*4)+2]); dest32[(i*640)+3]:= (dest32[(i*640)+3] AND NOT(mask[(i*4)+3])) OR (fgcolor32 AND mask[(i*4)+3]); end; + //windowmanager.redraw; end; procedure outputChar(c : char; x : uint8; y : uint8; fgcolor : uint16; bgcolor : uint16); @@ -271,6 +487,7 @@ begin bgcolor32:= bgcolor OR (bgcolor SHL 16); mask:= puint32(@Std_Mask[uint32(c) * (16 * 8)]); dest:= puint16(multibootinfo^.framebuffer_addr); + //dest:= puint16(windowmanager.getBuffer(0)); dest:= dest + (y*(1280 * 16)) + (x * 8); dest32:= puint32(dest); for i:=0 to 15 do begin @@ -279,6 +496,7 @@ begin dest32[(i*640)+2]:= (bgcolor32 AND NOT(mask[(i*4)+2])) OR (fgcolor32 AND mask[(i*4)+2]); dest32[(i*640)+3]:= (bgcolor32 AND NOT(mask[(i*4)+3])) OR (fgcolor32 AND mask[(i*4)+3]); end; + //windowmanager.redraw; end; procedure disable_cursor; @@ -294,6 +512,7 @@ var Begin fb:= puint32(uint32(multibootinfo^.framebuffer_addr)); kpalloc(uint32(fb)); + initWindows; Console_Properties.Default_Attribute:= console.combinecolors($FFFF, $0000); console.clear(); Ready:= True; @@ -306,13 +525,19 @@ var begin for y:=0 to 63 do begin for x:=0 to 159 do begin - Console_Matrix[y][x].Character:= ' '; - Console_Matrix[y][x].Attributes:= Console_Properties.Default_Attribute; - OutputChar(Console_Matrix[y][x].Character, x, y, Console_Matrix[y][x].Attributes SHR 16, Console_Matrix[y][x].Attributes AND $FFFF); - end; + WindowManager.Windows[FocusedWND].Buffer[y][x].Character:= ' '; + WindowManager.Windows[FocusedWND].Buffer[y][x].Attributes:= Console_Properties.Default_Attribute; + WindowManager.Windows[FocusedWND].row_dirty[y]:= true; + //Console_Matrix[y][x].Character:= ' '; + //Console_Matrix[y][x].Attributes:= Console_Properties.Default_Attribute; + //OutputChar(Console_Matrix[y][x].Character, x, y, Console_Matrix[y][x].Attributes SHR 16, Console_Matrix[y][x].Attributes AND $FFFF); + end; end; - Console_Cursor.X:= 0; - Console_Cursor.Y:= 0; + WindowManager.Windows[FocusedWND].Cursor.X:= 0; + WindowManager.Windows[FocusedWND].Cursor.Y:= 0; + redrawWindows; + //Console_Cursor.X:= 0; + //Console_Cursor.Y:= 0; end; procedure writebin8ex(b : uint8; attributes: uint32); @@ -450,10 +675,13 @@ end; procedure writecharex(character: char; attributes: uint32); [public, alias: 'console_writecharex']; begin - outputChar(character, Console_Cursor.X, Console_Cursor.Y, attributes SHR 16, attributes AND $FFFF); - Console_Matrix[Console_Cursor.Y][Console_Cursor.X].Character:= character; - Console_Matrix[Console_Cursor.Y][Console_Cursor.X].Attributes:= attributes; - console._safeincrement_x(); + WindowManager.Windows[FocusedWND].Buffer[WindowManager.Windows[FocusedWND].Cursor.Y][WindowManager.Windows[FocusedWND].Cursor.X].Character:= character; + WindowManager.Windows[FocusedWND].Buffer[WindowManager.Windows[FocusedWND].Cursor.Y][WindowManager.Windows[FocusedWND].Cursor.X].Attributes:= attributes; + //outputChar(character, Console_Cursor.X, Console_Cursor.Y, attributes SHR 16, attributes AND $FFFF); + //Console_Matrix[Console_Cursor.Y][Console_Cursor.X].Character:= character; + //Console_Matrix[Console_Cursor.Y][Console_Cursor.X].Attributes:= attributes; + WindowManager.Windows[FocusedWND].row_dirty[WindowManager.Windows[FocusedWND].Cursor.Y]:= true; + console._safeincrement_x(); end; procedure writehexpair(b : uint8); @@ -655,58 +883,80 @@ var b : byte; begin - pos:= (Console_Cursor.Y * 80) + Console_Cursor.X; - outb($3D4, $0F); - b:= pos and $00FF; - outb($3D5, b); - outb($3D4, $0E); - b:= pos shr 8; - outb($3D5, b); + //pos:= (Console_Cursor.Y * 80) + Console_Cursor.X; + //outb($3D4, $0F); + //b:= pos and $00FF; + //outb($3D5, b); + //outb($3D4, $0E); + //b:= pos shr 8; + //outb($3D5, b); + redrawWindows; end; procedure backspace; begin - Dec(Console_Cursor.X); + Dec(WindowManager.Windows[FocusedWND].Cursor.X); writechar(' '); - Dec(Console_Cursor.X); + Dec(WindowManager.Windows[FocusedWND].Cursor.X); _update_cursor(); end; procedure _increment_x(); [public, alias: '_console_increment_x']; begin - Console_Cursor.X:= Console_Cursor.X+1; - If Console_Cursor.X > 159 then Console_Cursor.X:= 0; + WindowManager.Windows[FocusedWND].Cursor.X:= WindowManager.Windows[FocusedWND].Cursor.X+1; + If WindowManager.Windows[FocusedWND].Cursor.X > WindowManager.Windows[FocusedWND].WND_W-1 then WindowManager.Windows[FocusedWND].Cursor.X:= 0; console._update_cursor; + //Console_Cursor.X:= Console_Cursor.X+1; + //If Console_Cursor.X > 159 then Console_Cursor.X:= 0; + //console._update_cursor; end; procedure _increment_y(); [public, alias: '_console_increment_y']; begin - Console_Cursor.Y:= Console_Cursor.Y+1; - If Console_Cursor.Y > 63 then begin - console._newline(); - Console_Cursor.Y:= 63; + WindowManager.Windows[FocusedWND].Cursor.Y:= WindowManager.Windows[FocusedWND].Cursor.Y+1; + If WindowManager.Windows[FocusedWND].Cursor.Y > WindowManager.Windows[FocusedWND].WND_H-1 then begin + console._newline(); + WindowManager.Windows[FocusedWND].Cursor.Y:= WindowManager.Windows[FocusedWND].WND_H-1; end; console._update_cursor; + //Console_Cursor.Y:= Console_Cursor.Y+1; + //If Console_Cursor.Y > 63 then begin + // console._newline(); + // Console_Cursor.Y:= 63; + //end; + //console._update_cursor; end; procedure _safeincrement_x(); [public, alias: '_console_safeincrement_x']; begin - Console_Cursor.X:= Console_Cursor.X+1; - If Console_Cursor.X > 159 then begin + WindowManager.Windows[FocusedWND].Cursor.X:= WindowManager.Windows[FocusedWND].Cursor.X+1; + if WindowManager.Windows[FocusedWND].Cursor.X > WindowManager.Windows[FocusedWND].WND_W-1 then begin console._safeincrement_y(); end; console._update_cursor; + //Console_Cursor.X:= Console_Cursor.X+1; + //If Console_Cursor.X > 159 then begin + // console._safeincrement_y(); + //end; + //console._update_cursor; end; procedure _safeincrement_y(); [public, alias: '_console_safeincrement_y']; begin - Console_Cursor.Y:= Console_Cursor.Y+1; - If Console_Cursor.Y > 63 then begin - console._newline(); - Console_Cursor.Y:= 63; + WindowManager.Windows[FocusedWND].Cursor.Y:= WindowManager.Windows[FocusedWND].Cursor.Y+1; + if WindowManager.Windows[FocusedWND].Cursor.Y > WindowManager.Windows[FocusedWND].WND_H-1 then begin + console._newline(); + WindowManager.Windows[FocusedWND].Cursor.Y:= WindowManager.Windows[FocusedWND].WND_H-1; end; - Console_Cursor.X:= 0; + WindowManager.Windows[FocusedWND].Cursor.X:= 0; console._update_cursor; + //Console_Cursor.Y:= Console_Cursor.Y+1; + //If Console_Cursor.Y > 63 then begin + // console._newline(); + // Console_Cursor.Y:= 63; + //end; + //Console_Cursor.X:= 0; + //console._update_cursor; end; procedure _newline(); [public, alias: '_console_newline']; @@ -714,20 +964,26 @@ var x, y : byte; begin - for x:=0 to 159 do begin - for y:=0 to 63 do begin - Console_Matrix[y][x]:= Console_Matrix[y+1][x]; + if WindowManager.Windows[FocusedWND].WND_W = 0 then exit; + if WindowManager.Windows[FocusedWND].WND_H = 0 then exit; + for x:=0 to WindowManager.Windows[FocusedWND].WND_W do begin + for y:=0 to WindowManager.Windows[FocusedWND].WND_H-1 do begin + WindowManager.Windows[FocusedWND].buffer[y][x]:= WindowManager.Windows[FocusedWND].buffer[y+1][x]; + WindowManager.Windows[FocusedWND].row_dirty[y]:= true; + //Console_Matrix[y][x]:= Console_Matrix[y+1][x]; end; end; - for x:=0 to 159 do begin - Console_Matrix[63][x].Character:= ' '; - Console_Matrix[63][x].Attributes:= $FFFF0000; - end; - for y:=0 to 63 do begin - for x:=0 to 159 do begin - OutputChar(Console_Matrix[y][x].Character, x, y, Console_Matrix[y][x].Attributes SHR 16, Console_Matrix[y][x].Attributes AND $FFFF); - end; + for x:=0 to WindowManager.Windows[FocusedWND].WND_W do begin + WindowManager.Windows[FocusedWND].buffer[WindowManager.Windows[FocusedWND].WND_H-1][x].Character:= ' '; + WindowManager.Windows[FocusedWND].buffer[WindowManager.Windows[FocusedWND].WND_H-1][x].Attributes:= $FFFF0000; + //Console_Matrix[63][x].Character:= ' '; + //Console_Matrix[63][x].Attributes:= $FFFF0000; end; + //for y:=0 to 63 do begin + // for x:=0 to 159 do begin + // OutputChar(Console_Matrix[y][x].Character, x, y, Console_Matrix[y][x].Attributes SHR 16, Console_Matrix[y][x].Attributes AND $FFFF); + // end; + //end; console._update_cursor; end; diff --git a/src/driver/hid/mouse.pas b/src/driver/hid/mouse.pas index 3b28ad82..4124c7c6 100644 --- a/src/driver/hid/mouse.pas +++ b/src/driver/hid/mouse.pas @@ -155,7 +155,7 @@ begin if Current.y > 1015 then Current.y:= 1015; end; Cycle:= 0; - NeedsRedraw:= true; + console.setMousePosition(Current.x, Current.y); end; end; end; diff --git a/src/kernel.pas b/src/kernel.pas index db3509c7..cdef9a59 100644 --- a/src/kernel.pas +++ b/src/kernel.pas @@ -218,6 +218,7 @@ begin { Graphics Mode Test Stuff } //GraphicsTesting(); { Console Init } + //windowmanager.init(); console.init(); { Call Tracer } @@ -290,7 +291,9 @@ begin //outputCharToScreenSpace(char(0), 10, 10, $FFFF); while true do begin - mouse.DrawCursor(); + console.redrawWindows; + //windowmanager.redraw(); + //mouse.DrawCursor(); end; //util.halt_and_dont_catch_fire; diff --git a/src/lmemorymanager.pas b/src/lmemorymanager.pas index 151bdc41..49b60a4f 100644 --- a/src/lmemorymanager.pas +++ b/src/lmemorymanager.pas @@ -57,13 +57,13 @@ var i : integer; begin - push_trace('lmemorymanager.new_lmm_page'); + //push_trace('lmemorymanager.new_lmm_page'); i:= KERNEL_PAGE_NUMBER + 4; while not vmemorymanager.new_page(i) do begin i:= i + 1; end; new_lmm_page:= i SHL 22; - pop_trace; + //pop_trace; end; function new_heap_page(CurrentPage : PHeapPage) : PHeapPage; @@ -71,7 +71,7 @@ var i : integer; begin - push_trace('lmemorymanager.new_heap_page'); + //push_trace('lmemorymanager.new_heap_page'); new_heap_page:= PHeapPage(new_lmm_page); if CurrentPage <> nil then CurrentPage^.Next_Page:= uint32(new_heap_page); new_heap_page^.Next_Page:= 0; @@ -83,7 +83,7 @@ begin Last:= False; end; end; - pop_trace; + //pop_trace; end; procedure init; @@ -91,7 +91,7 @@ var i : uint32; begin - push_trace('lmemorymanager.init'); + //push_trace('lmemorymanager.init'); console.outputln('LMM','INIT BEGIN.'); Root_Page:= PHeapPage(new_lmm_page); Search_Page:= Root_Page; @@ -103,7 +103,7 @@ begin Root_Page^.Entries[i].Last:= False; end; console.outputln('LMM','INIT END.'); - pop_trace; + //pop_trace; end; function kpalloc(address : uint32) : void; @@ -111,12 +111,12 @@ var block : uint16; begin - push_trace('lmemorymanager.kpalloc'); + //push_trace('lmemorymanager.kpalloc'); block:= address SHR 22; force_alloc_block(block, 0); map_page(block, block); kpalloc:= void(block SHL 22); - pop_trace; + //pop_trace; end; function kalloc(size : uint32) : void; @@ -127,7 +127,7 @@ var miss : boolean; begin - push_trace('lmemorymanager.kalloc'); + //push_trace('lmemorymanager.kalloc'); Heap_Entries:= size div 8; If sint32(size-(Heap_Entries*8)) > 0 then Heap_Entries:= Heap_Entries + 1; hp:= Search_Page; @@ -163,7 +163,7 @@ begin Search_Page:= hp; end; end; - pop_trace; + //pop_trace; end; procedure kfree(area : void); @@ -172,7 +172,7 @@ var entry : uint32; begin - push_trace('lmemorymanager.kfree'); + //push_trace('lmemorymanager.kfree'); hp:= PHeapPage((uint32(area) SHR 22) SHL 22); entry:= (uint32(area) - DATA_OFFSET - uint32(hp)) div 8; if hp^.Entries[entry].Present then begin @@ -192,7 +192,7 @@ begin end else begin GPF; end; - pop_trace; + //pop_trace; end; end. \ No newline at end of file