{"id":7,"date":"2010-06-24T12:49:22","date_gmt":"2010-06-24T16:49:22","guid":{"rendered":"http:\/\/marstella.net\/?p=7"},"modified":"2010-06-24T12:49:22","modified_gmt":"2010-06-24T16:49:22","slug":"homebrew-pc","status":"publish","type":"post","link":"https:\/\/marstella.net\/?p=7","title":{"rendered":"Homebrew PC"},"content":{"rendered":"<p>So I&#8217;ve been reading a lot lately about vintage computers (especially S-100 bus systems) and looking into CP\/M as an operating system. This combination gives a &#8220;hobbyist&#8221; the opportunity to explore the inner workings of hardware, firmware, and software at a level that&#8217;s difficult to achieve with modern systems. The older systems could easily be developed and maintained by a single person, while today&#8217;s systems require many engineers across multiple disciplines.<\/p>\n<p>Due to the extreme cost and\/or lack of availability of the older systems, I&#8217;m looking at the option of homebrewing a computer based around a Motorola 68000 CPU. This looks like a good option as it has a 24-bit address bus (up to 16 MB memory directly), 16-bit data bus, and frequencies of 8 MHz or more. There are a lot of hobbyists utilizing this CPU so information is somewhat easy to find. There is also a nice simulator available, complete with assembler and hardware emulator, that would help ease the task of developing the BIOS for the machine.<\/p>\n<p>Initially, I&#8217;d be looking at a single board computer (SBC) with CPU, 64k ROM, 64k RAM, serial port (primarily for communication to another PC for display), and AT\/PS2 keyboard converter as well as ASCII keyboard support (not that I can afford one, but it never hurts to include it as it requires only a bit of programming and a connection point).<\/p>\n<p>Ultimately, the goal is to have an SBC that can be plugged into a bus configuration (using a 34 pin IDC for 32-bit address signals, another 34 pin IDC for 16-bit data + control signals, and a 6-pin header for power supply). The &#8220;bus&#8221; could then be expanded with multiple memory cards, VGA and\/or composite video cards, I\/O modules, CF or SD (or both) storage option, SCSI board, IDE board, etc. One of my design goals is to implement a system similar to ones that other people have used but to do so without requiring a backplane (motherboard) configuration. Another expansion is to upgrade the CPU to a version with 32-bit addressing.<\/p>\n<p>In the short term, the system would probably just use multiple disks or some sort of bootstrap loader to fire up dedicated programs. CP\/M-68k isn&#8217;t really going to provide a good OS for a system like this due to the inherent limits. However, I would like to ultimately implement a Linux\/Minix microkernel arrangement, complete with drivers, that is fully based on a somewhat modern OS concept. There are technical limits, but I think a fully functioning system is attainable using this methodology.<\/p>\n<p>I hope to post complete specs, drawings, etc. as I go. Looks like circuit boards can be custom-cut at a very reasonable price these days if you&#8217;re not in a huge hurry, connectors are available by the gobs from surplus houses, and I&#8217;ve got enough parts to build 4 or 5 CPU boards and support boards without buying much other than sockets.<\/p>\n<p>Stay tuned. Based on my past history, I should be updating this page within a year (two, definitely).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>So I&#8217;ve been reading a lot lately about vintage computers (especially S-100 bus systems) and looking into CP\/M as an operating system. This combination gives a &#8220;hobbyist&#8221; the opportunity to explore the inner workings of hardware, firmware, and software at a level that&#8217;s difficult to achieve with modern systems. The older systems could easily be [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[18,19,23,27],"class_list":["post-7","post","type-post","status-publish","format-standard","hentry","category-homebrew-computers","tag-18","tag-68k","tag-cpm","tag-homebrew"],"_links":{"self":[{"href":"https:\/\/marstella.net\/index.php?rest_route=\/wp\/v2\/posts\/7","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/marstella.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/marstella.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/marstella.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/marstella.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7"}],"version-history":[{"count":0,"href":"https:\/\/marstella.net\/index.php?rest_route=\/wp\/v2\/posts\/7\/revisions"}],"wp:attachment":[{"href":"https:\/\/marstella.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/marstella.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/marstella.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}