5. aCore - 正確寫入Buffer 的姿勢 - Volatile
這篇文章之前已經打過一次, 但在開發的途中出現 Kernal Secrutiy Check Error

| 全文
4. aCore - 抽象化VGA
雖然OS 還是基於`VGA Text Buffer`的, 但我們以這個作為起點, 再住下挖之前, 先做點上層抽象。
```Rust
#[allow(dead_code)]
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[repr(u8)]
pub enum Color {
Black = 0,
Blue = 1,
Green = 2,
Cyan = 3,
Red = 4,
Magenta = 5,
Brown = 6,
LightGray = 7,
發表時間:2020年5月13日 | 評論 (0)
| 全文
屎山推倒計劃
讀過前面幾篇, 應該都容易理解到, 為甚麼我要碰屎山...

> 我想寫os內核,然後想把筆記寫成blog, 於是在改寫以前的blog 系統。
> 。。。這是傷心太平洋嗎?
[](https://www.youtube.com/watch?v=b1SRjGmgA54)
這是我這兩天的剷屎過程:
- 連結 : https://github.com/abbychau/realblog/
發表時間:2020年5月12日 | 評論 (0)
| 全文
3. aCore - Hello World
終於來到 `Hello World` 了!
修改main.rs
```Rust
#![no_std]
#![no_main]
use core::panic::PanicInfo;
#[panic_handler]
fn panic(_info: &PanicInfo) -> ! {
loop {}
}
const HELLO: &[u8] = b"Hello, world!";
#[no_mangle]
pub extern fn _start() -> ! {
let vga_buffer = 0xB8000 as
發表時間:2020年5月10日 | 評論 (0)
| 全文
2. aCore - Boot image
## 試運行
生成binary 後, 那個binary 可以在本機os 中運行。
修改Cargo.toml
```toml
[dependencies]
bootloader = "0.6"
[package.metadata.bootimage]
default-target = "x86_64-aCore.json"
```
執行:
```bash
cargo install bootimage
rustup component add llvm-tools-preview
sudo apt install qemu-system-x86
# f
發表時間:2020年5月10日 | 評論 (0)
| 全文
1. aCore - 配置Rust Project 和第一次建置
## 環境配置懶人包
在開發前, 我們配一下Rust 環境。會用Rustup 的話, 就不多解釋下面的命令了。如果不了解的話Rustup 和Cargo 自身也帶備說明。
所以, 我直接來個 **環境配置懶人包**:
```bash
$ rustup toolchain install nightly #安裝rust nightly 環境
$ rustup component add rls --toolchain nightly #Nightly RLS
$ cargo new --bin aCore
$ cargo install cargo-xbuild #xbui
發表時間:2020年5月10日 | 評論 (0)
| 全文
now blog url
https://blog.abby.md
發表時間:2019年8月31日 | 評論 (16)
| 全文
戰zen5

今日戰天頂5
白補後場面勝2.5目, 大場未完而黑潛力很大, 白十分難下

黑B18 明顯不是急所, 白棋要如何捉緊機會反擊呢?
發表時間:2016年7月12日 | 評論 (0)
| 全文
日記
終於有得用LTE 鳥。終於食到餐M 記。聽日終於要去成兩年無去過既九龍城。LOL 更新竟然有成三千幾個file orz。部iPad Pro 個角無啦啦lup 左@[email protected]二手市場完全無人賣FM2 既CPU。
發表時間:2016年2月14日 | 評論 (0)
| 全文
PHP7 Upgrade
把mysql_ 的function 棄用而完全轉為wrapper 已經是很多很多年前的事了。直到PHP7的升級才迫得我去一直過做一次。事實上在一年前的某個星期已經完成了40%的工作, 但這次的升級有很多意想不到的事。PHP7 除了在opcache 情況下執行速度以倍數快了之外和有幾個function 移除之外。最致命的是compile extension 時很多底層的C 記憶體常數都換了。這導致ZKIZ 一直依賴的分詞(基於C)和PHPRedis(基於C)都無法使用了。不兼度的擴展和十分分散的古老代碼令升級的工作量大增, 前後足足花了近三天的時間去修正代碼。PHPRedis 的官方Github
發表時間:2016年2月12日 | 評論 (0)
| 全文