本源碼實現了一個面向 VGA 0x101 模式(640×480×256 色)的輕量級繪圖函數庫,核心採用銀行切換機制突破 64KB 顯存寻址限制,適合 DOS 時代圖形程序教學與嵌入式移植參考。
selectpage() 封裝 INT 10H AH=4F05h 功能,自動處理跨頁訪問y * MAXX + x 計算線性偏移,高 16 位為頁號,低 16 位為頁內偏移init256():INT 10H AX=4F02h/BX=101h 設置 VESA 模式exit256():INT 10H AX=0003h 恢復文本模式putpixel(x,y,color) / getpixel(x,y):含自動換頁邏輯的基礎讀寫line() 實現 Bresenham 算法變體,整數運算、無除法、八方向通用box() 繪製邊框,fillbox() 逐行填充circle() 採用中點圓算法(Midpoint Circle Algorithm),決策參數 delta = 3 - 2r,配合 plot_circle() 八分對稱繪製,支援長寬比校正(asp_ratio)main() 演示:初始化 → 繪製方框、圓形、填充矩形 → 等待按鍵 → 恢復文本模式。