30天自制操作系统吧
关注: 1,381 贴子: 4,751

  • 目录:
  • 个人贴吧
  • 1
    先上一幅铁娃娃OS读取软盘的桌面截图。 这幅图片是铁娃娃OS在进入32bit模式后,在不能利用BIOS的INT 0x13情况下,再次读取 软盘扇区获得的。 按“纸娃娃”的作者所言,进入32bit系统以后,就不能调用BIOS功能了。不能调用BIOS 就不能利用BIOS的INT 0x13访问软盘。虽然可以在进入32bit模式之前,利用BIOS功能预 先读取,但能读取的扇区数是受到限制的。实际上是不能把整个软盘2880扇区都读入到电 脑内存里的。因为在16bit模式下,给我们利用的内存范围是&quot
    497团 12-22
  • 8
    FeOS 体验版: 1,在QEMU虚拟机上使用 名称:FeosQEMU.img 特征: XGA 32bit全彩显示。 功能: mpeg1解码视频,无声卡对应。 有几个小游戏程序。 方法:与操作纸娃娃系统相同,文件名改成自己习惯的名称就行了。 桌面模样 2,在VMware虚拟机上使用 名称:FeosVM10.img 特征:XGA 32bit全彩显示。 功能:有wavplay播放器,运用SB16声卡。我在VMware10虚拟机上通过。 ~.vmx中要添加一行 sound.virtualDev= "SB16",设置虚拟声卡。 有几个小游戏程序。 方法:先安装VMware虚
    497团 12-8
  • 16
    注意:这个帖子属于边写边记,之后应该会整理成文章发到其他平台。引导代码基于我自己写的bootloader,和30天的不一样 首先,我之前看过的很多书和文章都直接默认从0号软盘引导,因此引导扇区的代码也是写死了直接从扇区0读取loader。多亏了chatgpt,我找到了IBM的BIOS文档 文档中记录了INT 19中断功能就是关于Bootstrap Loader的。其中规定了:CS=0000H,IP=7C00H(也就是引导扇区的地址),DL=读取的(磁盘)驱动器号。虽然这是BIOS提供给程序用来从指定驱动
    迷路的路 11-26
  • 12
    虽然曾经有一篇贴吧,叫做“28天末,中文显示成功”,里面就写了中文显示,还配了代码。但具体的思路是怎样的,我们依旧一无所知。这几天逛知乎发现一个好帖子,个人认为实现中文显示的方法比那篇帖子简单。
  • 0
    最近USB的初始化终于阶段性的结束了,三分钟热度结束,于是转向跟着Vulkan官方教程学了Vulkan(本来想着Vulkan更新所以学Vulkan,鬼知道这玩意初始化这么繁琐,画一个三角形写了一千多行)。突然发现,其实我在自己系统中顺着30天作者思路写的GUI和3D图形其实是共通的。 如果把每个窗口(图层)看作是一个3D空间中的一个物体,那么其实显示出的整个界面其实就是把这些物体渲染出来的结果,每个图层的内容就是这一物体的贴图,通过map判断当前位
    迷路的路 10-26
  • 2
    梳理的启动方法是使用软盘启动,现在这个年代也没有软盘了。我就有一个问题,怎么使用硬盘启动?
    GoutouStd 10-25
  • 10
    2024.10.13 我真的是吃饱了撑的,妄图上来就用uhci挑战USB 协议,光是uhci需要手动分配生成令牌包都已经搞得够呛了。基于之前写的uhci驱动花了两天时间终于(也许?)把uhci负责的部分搞定了(约一半都被重写了)。 好不容易搞定,手搓了一个setup令牌包挂framelist上,结果qemu log显示usb_uhci_packet_complete_error,检查了uhci控制器设置的状态位是crc_timeout_error,我直接满头问号,crc不是硬件计算的吗,咋还能timeout呢???
    迷路的路 10-18
  • 8
    想必大家都看过这篇教程吧【图片】Haribote OS 实现真彩色教程【30天自制操作系统吧】_百度贴吧 (baidu.com) 应该吧里有很多人脱离了30days的工具链 用了新版的qemu 或者其他虚拟机,那么再来看这篇教程,就有些不通用了,用新版的qemu的吧友,可能照着这篇教程做完,发现还是有问题(显示有问题),其实,你是切换到了24位模式,帖子里是32位模式啊?因为每个VESA显示卡的VBE模式功能号 都不一样,所以,更可靠的方法是枚举所有的VBE功能号,然后判断
  • 12
    MP3真的比JPEG复杂几十倍,连着折腾了两周,到最后几乎是对着别人的代码抄,终于能解码出听着像音频的音频了。以鸡哥成名曲做实验品,懒得研究win下怎么输出pcm所以直接输出成wav文件,解出来的有很多奇怪的杂音(听着像溺水了一样)。 累死我了,先歇一段时间,再看看能不能修复这个问题。。 (如果能修好就修好后再放github,修不好就这样直接放github了)
  • 16
    mpeg1中的音频信号是按mp2标准编码的。 要从mpeg文件里还原音频信号,需要作mp2解码的工作。 mp2解码过程中需要用到浮点数运算。之前因为遇到sprintf( "%f" ,3.1415 )无法正常输出, 无法调试,只好断念。 后来想到用变通的办法,也可以解决浮点数的输出问题,即如果要输出浮点数3.1415, 先乘10000。 再分离出整数部分3和小数部分1415,中间加一个“.”,就能输出完整的浮点数。 %f问题解决后,发现在一定的条件下,其实现在的编译工具还是支持浮
    497团 9-21
  • 12
    高考完了,研究了一下jpeg格式,属于一边学rust一边学jpeg了。我发现这方面网上完整的中文资料很是稀缺,虽然能搜到很多文章,但都是不完整的,搞得我花了大量的时间去研究MCU、Block、FrameComponent、ScanComponent之间的关系,陆陆续续花了我半个月的时间。最终终于写出了一个简单的、作用有些的、甚至解码出的图形还有些问题的jpeg查看器。目前只支持BaselineDCT(SOF0),YCbCr色彩的jpeg图片查看器。 我怀疑解码的问题出在了IDCT变换或者DC Diff解码上,有没
  • 5
    基于gtk3和cairo(开罗图形库),在最新的Fedora39系统下开发的。窗口可随意改变大小。
  • 3
    icestar OS最新进展,任务栏可以上下左右拖动,窗口实现最大化,最小化,拉伸等操作。
    xbfltyz 8-1
  • 20
    《从0开始自作OS入门》的封面: 出版社介绍网页地址:http://zero.osdev.jp/ 封面图是从这个网页上摘下来的。 网站上有这部书的开头部分内容,可以免费窥视。也有PDF的下载,但我下载PDF后,打开还需要密码。 密码怎么申请到? 也不清楚。不过,前面大约有二十多页,包括目录可以看到一些内容介绍。 这本自作OS与《30天自作OS》有什么不一样呢? 看介绍我大致理解可能是如下: 1,以前的《30天自作OS》需用软盘起动OS,知识已经陈旧了。作者采用现在新的
  • 0
    怎么进入64位模式我不知道。
  • 0
    我想要把系统改成64位的。
  • 9
    HolonOS运行植物大战僵尸等各种游戏。
    HolonOS 7-22
  • 10
    调试ES1371声卡的现场图: ES1371(1373)声卡图: 历史回顾 当时选择ES371声卡的缘由: 1,是因为它属于32bit的PCI总线下的设备,也是学习PCI设备的必须要掌握的一步。 2,VMware虚拟机对应ES1371声卡,便于脱离实际设备,专心调试程序。 3,关键是在网上看到《编写基于VMware5的声卡驱动》,作者:张立殷。 这篇文章是PDF格式,可以下载。 《编写基于VMware5的声卡驱动》比较简略,但对学习过《30日自制OS》的朋友 来讲,一定会心领神会,知道作者在讲什么。
    497团 6-17
  • 0
    《30日自作OS入门》毕业以后,开始进入自己安排的实践课程。 根据大致的实践时间先后顺序,我列为31日至60日。有些课的任务项目开始的 时间虽然比较早,而完成的时间却很晚,也按原计划的时间排列。还有些小零碎 的东西,如音量调节等就忽略不计了。所列的各个课程内容都已经实现。 ==================================================================== 31日:实现32bit的真彩色XGA显示模式,把28日~30日的程序改为全彩模式。 32日:实验从U盘Boot,从硬盘Boot,增加
    497团 6-16
  • 20
    这本书总以harimain作为入口函数,想问如何才能更改?
    Bill_sq_Wu 6-14
  • 4
    在学习这本书的03_day/harib00e的项目时,发现一个现象,每次重新磁盘镜像文件时,地址0x2616处的值是随机的,每次都发生变化.有没有遇到同样现象的朋友?一起研究下原因?猜想这个是作者估计做的一个标记/?
  • 21
    一个自制操作系统,30天后的目标是什么?大概应该要能满足: 1,在实机电脑的硬盘或U盘起动并运行。 2,满屏图像分辨率,32bit色彩。至少要达到XGA。现在还要满足宽屏显示器。 * 3,驱动声卡。即能播放语音和音乐。 4,驱动网卡。 声卡种类繁多,大致可分为三大类: 一,SoundBlaster声卡。它在90年代的电脑中得到普遍使用。比如SB16是16bit,支持44.1KHz 采样频率。音质可比CD。可在DOS系统和Windows95系统中使用。其控制原理与后来发展的声卡 相比要简单
    497团 6-3
  • 0
    (声明:本系统不开源)上面看到的,就是我们ViudiraTech社区基于30day底层深度开发的一套操作系统,系统源码中基本上很少见到30day的影子了。 新功能和样式等:文件隐藏功能,新主题,桌面壁纸,自动识别文件类型,时间,ACPI等功能。并且我们修复了30day原本的桌面输入卡死问题,并彻底优化了代码,(声卡驱动已完成,但没有制作播放器)重写了整个API,可惜没有实现真彩色。 预计即将完成重构计划,准备重写引导,准备兼容新机器。 系统预
  • 15
    小假期里,总想做点什么。选择了软件关机,重启功能这两个项目。这两个项目都是ACPI 下面的电源管理功能。 首先,搜索电脑实机中的ACPI设备的在PCI中分配的位置,与《ICH9》SPEC上注明的 BUS:0-DEV:31-FUNC:0,结果是一致的。 搜索到的VID=8086,DID=2919。 ACPI基地址的存放位置不是在熟习的10h~13h寄存器里,而是在40h~43h里。我搜索到的 数值是0xD801,bit0=1,说明是I/O口,屏蔽掉bit0,基地址值就是0xD800。 第二步,由 基地址值就是0xD800 + 偏移量,读取ACPI的寄存
    497团 5-4
  • 138
    这吧应该早就有这贴
    鿏氪锶 4-13
  • 1
    1)按照书中的方法做好haribote.img 2)利用winhex把haribote.img写入U盘 3)把U盘插入电脑,进BIOS,选U盘启动 好了,可以在真机上愉快的玩耍了。建议最好用准确废弃的旧电脑,电脑出了任何问题,本人不负责
  • 3
    断断续续整了几个月终于成功了,顺带一提,下手的对象是百度(看内容应该能猜出来吧) 没整中文字体,就直接替换成问号了
  • 40
    30天自制操作系统 这是一本很烂的书不推荐看。书中完全没有写如何编程实现中断调用和文件格式和磁盘读写,多进程切换等操作系统核心内容,只是夸夸其谈一些理论,然后演示给小白如何写一个c可视化的小程序罢了,然后穿插的讲一些操作系统相关的东西,将的也很浅,而且还是个日本人写的,我就想不明白,国产的《自己动手写操作系统》比这本书好一万倍,为啥还有这么多人看这么垃圾书,后来我懂了,30天的快餐文化更适合小白,书文不对
    cacothree2 2-29
  • 3
    我自己为窗口制作了一个最小化按钮,但是不知道为什么,这个新增的最小化按钮要比关闭按钮亮 这是我修改过后的源代码(window.c中的make_white8):
  • 28
    实现有功能有: 1.鼠标API 2.滚动条(不是很好用, 拖动滚动块不灵活) 3.计算器(支持浮点数的运算,通过正数部分,小数部分分别用运算实现) 4.记事本(内存处理有问题,会出现一些小黑块, 使用功能正常) 5.右键菜单 6.开始菜单 7.系统时间与关机功能 8.其它小功能
    xbfltyz 2-18
  • 2
    ICESTAR OS预览! 1、启动引导程序。 2、系统启动画面。 3、进入系统后画面。
  • 5
    这是目前运行的效果图。左上角的是内核输出的数据,三个色块由三个task输出。中间是引导程序的输出。 目前已经实现了UEFI引导、xAPIC和IOAPIC、内存管理以及多任务。在计时器上抛弃了以往的8254,使用了精度更高的HPET。 由于还不完善,暂时不公布开源地址。
  • 10
    求个教程,pdf文件全是英文看不懂
  • 1
    上图 《俄罗斯方块》游戏,以前也叫Tetris,是古典传统游戏。现在铁娃娃上实现了。 编程之余,休息一下,满好玩的。越接近上面,越手忙脚乱。 讲一下编程思路: 首先是借鉴了《外星人》游戏的方法。《外星人》中的键盘操作。图形移动,时间控制, 分数记录等《俄罗斯方块》中基本要素手段,都可以在《外星人》中找到。 不同的是,外星人图形要改成7种不同几何图形的积木,每一种积木又有四种角度。一共4x7=28种 图形,预先设计好放在数组
  • 15
    众所周知,现在主流的操作系统编译软件是:汇编nasm,C语言gcc,少数情况会有g++等软件的参与。 但是30天自制操作系统中,使用的是nask汇编,且最终都会归到nask上。 而这是制作操作系统过程中一个很烦人的话题,因此这里统一介绍一下。 以第12天的内容harib09a为例。
    3141IM 1-26
  • 39
    以前曾经用RTL8019做过网络通讯实验,现在与铁娃娃OS连接起来,做网络通讯实验、 这是实机接收到远程电脑发来的ping命令时,接收到的数据流的模样。 远程电脑与本机用交叉网线连接。远程电脑是普通的XP系统,在DOS窗口下输入:ping 192.168.1.25。 本机的IP的地址设置为 192.168.1.25。从上图看,网络已经连上,并收到packet数据了。 远程电脑的浏览器如果输入http://192.168.1.25 可以打开本机提供的一张简易网页。 做上面的实验时,逐渐唤起已经忘记的网络通
    497团 1-22
  • 17
    《在铁娃娃OS上进行读U盘的实验》 一,简介。 利用国庆长假的时间,尝试做读取U盘数据的试验。 首要目标: 读取指定U盘位置上的数据,如指定某个扇区的512字节。 最终目标: 是读取U盘上的FAT32格式的一个文件。 硬件环境: 采用chipset ICH9的笔记本电脑。 参考文献: 1,《Intel® I/O Controller Hub 9 (ICH9) Family》 2,《Enhanced Host Controller Interface Specification for Universal Serial Bus》(EHCI USB 2.0) 3,《Information technology -SCSI Primary Commands - 3 (SPC-3)》 4,《Universal Serial BusS
    497团 1-22
  • 8
    手头上有一些SD卡,旧的SD卡在2GB以下,还有4GB以上的SDHC卡。笔记本电脑有 SD卡插槽,于是曾经想,试试能不能打通SD卡的读写功能。看了半天书后觉得也很复杂 和困难,估计也要花费不少时间。实在不愿意投入宝贵精力。 后来心机一动,何不利用已经打通的USB功能(部分的功能)去实现呢? 用USB转SD转 换器! 也可以读取SD的数据的。把USB转SD转换器+16GB的SDHC看成一个U盘? 但是,实验一开始就没有任何动作。 只好老老实实按之前采用过的,从“捕捉”EHC
    497团 1-22
  • 5
    最近几天我想加入桌面图标,但不知道咋加
  • 12
    来到了23天,似乎就卡住了。最近作息严重混乱。但是自从在命令行上输出dir ,mem的时候就一直想做的命令
    MicroFish 1-12
  • 139
    虽然,程序还有BUG,但是我已经迫不及待的想要来分享成果了。中文字库显示。GB2312字库。搞定 字数少显示没有问题,但是字符和符号显示有问题。毕竟使用的显示函数不同 汉字多了,见上面两图,显示还是有问题。后续继续改进。汉字出来就好。
  • 104
    如题, 一、命令行窗口的显示 当打开多个命令行窗口时,会出现显示的bug,但可以正常使用,如图 二,软件的修复 gview、tview等应用,修复时并不可以按照32位色颜色支持贴下面写的那样修复,求教。 求教!!!!! 来人啊!!!! @Ghdgtdgu @tweejjhi @水瓶_STON @凌少的凌 没了
    启动台 3-23

  • 发贴红色标题
  • 显示红名
  • 签到六倍经验

赠送补签卡1张,获得[经验书购买权]

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!

本吧信息 查看详情>>

会员: haribote

目录: 个人贴吧