{"id":33,"date":"2021-08-30T19:41:29","date_gmt":"2021-08-30T22:41:29","guid":{"rendered":"https:\/\/www.computer.etc.br\/site\/?page_id=33"},"modified":"2022-01-31T16:16:09","modified_gmt":"2022-01-31T19:16:09","slug":"baffa-1-homebrew-cpu","status":"publish","type":"post","link":"http:\/\/www.computer.etc.br\/site\/baffa-1-homebrew-cpu\/","title":{"rendered":"2021 Baffa-1 Homebrew CPU MiniComputer"},"content":{"rendered":"\n<p>The Baffa-1 was built from scratch using 74-Series logic gates and constructed using custom printed circuit boards. The main project has 221 chips and each peripheral board may have more 3 to 10 ICs!<\/p>\n\n\n\n<p><a href=\"http:\/\/baffa-1.baffasoft.com.br\" data-type=\"URL\" data-id=\"http:\/\/baffa-1.baffasoft.com.br\" target=\"_blank\" rel=\"noreferrer noopener\">This website is connected to a Baffa-1 emulator running the original hardware<\/a><\/p>\n\n\n\n<figure class=\"wp-block-gallery columns-3 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\"><ul class=\"blocks-gallery-grid\"><li class=\"blocks-gallery-item\"><figure><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"960\" height=\"720\" src=\"https:\/\/i0.wp.com\/www.computer.etc.br\/site\/wp-content\/uploads\/sites\/7\/2021\/08\/IMG_20210822_012029504-1.jpg?resize=960%2C720\" alt=\"\" data-id=\"42\" data-full-url=\"http:\/\/www.computer.etc.br\/site\/wp-content\/uploads\/sites\/7\/2021\/08\/IMG_20210822_012029504-1.jpg\" data-link=\"https:\/\/www.computer.etc.br\/site\/baffa-1-homebrew-cpu-minicomputer\/img_20210822_012029504-2\/\" class=\"wp-image-42\" srcset=\"https:\/\/i0.wp.com\/www.computer.etc.br\/site\/wp-content\/uploads\/sites\/7\/2021\/08\/IMG_20210822_012029504-1.jpg?w=1024 1024w, https:\/\/i0.wp.com\/www.computer.etc.br\/site\/wp-content\/uploads\/sites\/7\/2021\/08\/IMG_20210822_012029504-1.jpg?resize=300%2C225 300w, https:\/\/i0.wp.com\/www.computer.etc.br\/site\/wp-content\/uploads\/sites\/7\/2021\/08\/IMG_20210822_012029504-1.jpg?resize=768%2C576 768w, https:\/\/i0.wp.com\/www.computer.etc.br\/site\/wp-content\/uploads\/sites\/7\/2021\/08\/IMG_20210822_012029504-1.jpg?resize=150%2C113 150w\" sizes=\"auto, (max-width: 960px) 100vw, 960px\" \/><\/figure><\/li><li class=\"blocks-gallery-item\"><figure><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"960\" height=\"720\" src=\"https:\/\/i0.wp.com\/www.computer.etc.br\/site\/wp-content\/uploads\/sites\/7\/2021\/08\/IMG_20210822_012049468-1.jpg?resize=960%2C720\" alt=\"\" data-id=\"43\" data-full-url=\"http:\/\/www.computer.etc.br\/site\/wp-content\/uploads\/sites\/7\/2021\/08\/IMG_20210822_012049468-1.jpg\" data-link=\"https:\/\/www.computer.etc.br\/site\/baffa-1-homebrew-cpu-minicomputer\/img_20210822_012049468-2\/\" class=\"wp-image-43\" srcset=\"https:\/\/i0.wp.com\/www.computer.etc.br\/site\/wp-content\/uploads\/sites\/7\/2021\/08\/IMG_20210822_012049468-1.jpg?w=1024 1024w, https:\/\/i0.wp.com\/www.computer.etc.br\/site\/wp-content\/uploads\/sites\/7\/2021\/08\/IMG_20210822_012049468-1.jpg?resize=300%2C225 300w, https:\/\/i0.wp.com\/www.computer.etc.br\/site\/wp-content\/uploads\/sites\/7\/2021\/08\/IMG_20210822_012049468-1.jpg?resize=768%2C576 768w, https:\/\/i0.wp.com\/www.computer.etc.br\/site\/wp-content\/uploads\/sites\/7\/2021\/08\/IMG_20210822_012049468-1.jpg?resize=150%2C113 150w\" sizes=\"auto, (max-width: 960px) 100vw, 960px\" \/><\/figure><\/li><li class=\"blocks-gallery-item\"><figure><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"960\" height=\"720\" src=\"https:\/\/i0.wp.com\/www.computer.etc.br\/site\/wp-content\/uploads\/sites\/7\/2021\/08\/IMG_20210828_120719747-1.jpg?resize=960%2C720\" alt=\"\" data-id=\"44\" data-full-url=\"http:\/\/www.computer.etc.br\/site\/wp-content\/uploads\/sites\/7\/2021\/08\/IMG_20210828_120719747-1.jpg\" data-link=\"https:\/\/www.computer.etc.br\/site\/baffa-1-homebrew-cpu-minicomputer\/img_20210828_120719747-2\/\" class=\"wp-image-44\" srcset=\"https:\/\/i0.wp.com\/www.computer.etc.br\/site\/wp-content\/uploads\/sites\/7\/2021\/08\/IMG_20210828_120719747-1.jpg?w=1024 1024w, https:\/\/i0.wp.com\/www.computer.etc.br\/site\/wp-content\/uploads\/sites\/7\/2021\/08\/IMG_20210828_120719747-1.jpg?resize=300%2C225 300w, https:\/\/i0.wp.com\/www.computer.etc.br\/site\/wp-content\/uploads\/sites\/7\/2021\/08\/IMG_20210828_120719747-1.jpg?resize=768%2C576 768w, https:\/\/i0.wp.com\/www.computer.etc.br\/site\/wp-content\/uploads\/sites\/7\/2021\/08\/IMG_20210828_120719747-1.jpg?resize=150%2C113 150w\" sizes=\"auto, (max-width: 960px) 100vw, 960px\" \/><\/figure><\/li><\/ul><\/figure>\n\n\n\n<p>Some of the project requirements are:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Support for user and kernel priviledge modes, with up to 256 processes running in parallel.<\/li><li>Support for paged virtual memory, such that each process can have a total of 64KB RAM for itself.<\/li><li>Two serial ports (16550), a real time clock(M48T02), 2 parallel ports(8255), a programmable timer(8253), an IDE hard-drive interface(2.5 Inch HDD), and a soundboard(AY-3-8910).<\/li><li>The CPU supports 8 prioritized external interrupts, and a DMA channel.<\/li><li>The sequencer is microcoded, with 15 ROMS operating horizontally.<\/li><li>It has 401 instructions implemented, and up to 768 possible by using escape codes.<\/li><li>Support for 8\/16-Bit MUL and DIV instructions.<\/li><li>Fast indexed string instructions in the spirit of x86&#8217;s (REP) MOVSB, CMPSB, LODSB, STOSB, etc<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">REGISTER TABLE<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>General Purpose Registers<\/strong><\/td><\/tr><tr><td>A<\/td><td>AH\/AL<\/td><td>Accumulator<\/td><\/tr><tr><td>B<\/td><td>BH\/BL<\/td><td>Base Register (Secondary Counter Register)<\/td><\/tr><tr><td>C<\/td><td>CH\/CL<\/td><td>Counter Register (Primary Counter)<\/td><\/tr><tr><td>D<\/td><td>DH\/DL<\/td><td>Data Register \/ Data Pointer<\/td><\/tr><tr><td>G<\/td><td>GH\/GL<\/td><td>General Register (For scratch)<\/td><\/tr><tr><td><strong>Special Purpose Registers<\/strong><\/td><\/tr><tr><td>PC<\/td><td>&#8211;<\/td><td>Program Counter<\/td><\/tr><tr><td>SP<\/td><td>&#8211;<\/td><td>Stack Pointer<\/td><\/tr><tr><td>SSP<\/td><td>&#8211;<\/td><td>Supervisior Stack Pointer<\/td><\/tr><tr><td>BP<\/td><td>&#8211;<\/td><td>Base Pointer (Used to manage stack frames)<\/td><\/tr><tr><td>SI<\/td><td>&#8211;<\/td><td>Source Index (Source address for string operations)<\/td><\/tr><tr><td>DI<\/td><td>&#8211;<\/td><td>Destination Index (Destination address for string operations)<\/td><\/tr><tr><td>TDR<\/td><td>TDRH\/TDRL<\/td><td>Temporary Data Register<\/td><\/tr><tr><td>PTB<\/td><td>&#8211;<\/td><td>Page Table Base<\/td><\/tr><tr><td>MSW<\/td><td>Flags\/Status<\/td><td>Machine Status Word<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">CPU ARCHITECTURE<\/h2>\n\n\n\n<center><figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"960\" height=\"540\" src=\"https:\/\/i0.wp.com\/www.computer.etc.br\/site\/wp-content\/uploads\/sites\/7\/2021\/08\/baffa-1_architecture_less.png?resize=960%2C540\" alt=\"\" class=\"wp-image-46\" srcset=\"https:\/\/i0.wp.com\/www.computer.etc.br\/site\/wp-content\/uploads\/sites\/7\/2021\/08\/baffa-1_architecture_less.png?w=1024 1024w, https:\/\/i0.wp.com\/www.computer.etc.br\/site\/wp-content\/uploads\/sites\/7\/2021\/08\/baffa-1_architecture_less.png?resize=300%2C169 300w, https:\/\/i0.wp.com\/www.computer.etc.br\/site\/wp-content\/uploads\/sites\/7\/2021\/08\/baffa-1_architecture_less.png?resize=768%2C432 768w, https:\/\/i0.wp.com\/www.computer.etc.br\/site\/wp-content\/uploads\/sites\/7\/2021\/08\/baffa-1_architecture_less.png?resize=150%2C84 150w\" sizes=\"auto, (max-width: 960px) 100vw, 960px\" \/><figcaption>Baffa-1 CPU Architecture<\/figcaption><\/figure><\/center>\n","protected":false},"excerpt":{"rendered":"<p>The Baffa-1 was built from scratch using 74-Series logic gates and constructed using custom printed circuit boards. The main project has 221 chips and each peripheral board may have more 3 to 10 ICs! This website is connected to a Baffa-1 emulator running the original hardware Some of the project requirements are: Support for user [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[],"tags":[],"class_list":["post-33","post","type-post","status-publish","format-standard","hentry"],"jetpack_featured_media_url":"","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/www.computer.etc.br\/site\/wp-json\/wp\/v2\/posts\/33","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.computer.etc.br\/site\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.computer.etc.br\/site\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.computer.etc.br\/site\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.computer.etc.br\/site\/wp-json\/wp\/v2\/comments?post=33"}],"version-history":[{"count":9,"href":"http:\/\/www.computer.etc.br\/site\/wp-json\/wp\/v2\/posts\/33\/revisions"}],"predecessor-version":[{"id":198,"href":"http:\/\/www.computer.etc.br\/site\/wp-json\/wp\/v2\/posts\/33\/revisions\/198"}],"wp:attachment":[{"href":"http:\/\/www.computer.etc.br\/site\/wp-json\/wp\/v2\/media?parent=33"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.computer.etc.br\/site\/wp-json\/wp\/v2\/categories?post=33"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.computer.etc.br\/site\/wp-json\/wp\/v2\/tags?post=33"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}