{"id":406,"date":"2026-02-10T19:52:26","date_gmt":"2026-02-10T19:52:26","guid":{"rendered":"https:\/\/www.maddox.pro\/?p=406"},"modified":"2026-02-10T19:52:26","modified_gmt":"2026-02-10T19:52:26","slug":"lt6502","status":"publish","type":"post","link":"https:\/\/www.maddox.pro\/?p=406","title":{"rendered":"LT6502"},"content":{"rendered":"\n<p>Building on the PC6502 system I decided to make a laptop 6502 system. I think there&#8217;s something nice about having a portable retro system that is fully self contained.<\/p>\n\n\n\n<p>It&#8217;s going very well so far. It&#8217;s been quite a steep learning curve. I&#8217;ve been remembering the 6502 assembly coding I did back in the 1980s, slowly remembering.<\/p>\n\n\n\n<p>It&#8217;s been fun to bring the system up one bit at a time, starting EhBASIC, getting teh display working, the beeper and compact flash.<\/p>\n\n\n\n<p>So here is where I&#8217;m at;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/www.maddox.pro\/wp-content\/uploads\/2026\/02\/Keyboard_hello_basic_Test-1024x768.jpeg\" alt=\"\" class=\"wp-image-407\" srcset=\"https:\/\/www.maddox.pro\/wp-content\/uploads\/2026\/02\/Keyboard_hello_basic_Test-1024x768.jpeg 1024w, https:\/\/www.maddox.pro\/wp-content\/uploads\/2026\/02\/Keyboard_hello_basic_Test-300x225.jpeg 300w, https:\/\/www.maddox.pro\/wp-content\/uploads\/2026\/02\/Keyboard_hello_basic_Test-768x576.jpeg 768w, https:\/\/www.maddox.pro\/wp-content\/uploads\/2026\/02\/Keyboard_hello_basic_Test-1536x1152.jpeg 1536w, https:\/\/www.maddox.pro\/wp-content\/uploads\/2026\/02\/Keyboard_hello_basic_Test-2048x1536.jpeg 2048w, https:\/\/www.maddox.pro\/wp-content\/uploads\/2026\/02\/Keyboard_hello_basic_Test-1140x855.jpeg 1140w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Here was the test of the comms with the keyboard, a simple &#8220;HELLO&#8221; from basic, which is being controlled by the console port (left hand side).<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"733\" src=\"https:\/\/www.maddox.pro\/wp-content\/uploads\/2026\/02\/Keyboard_boot_option_integration-1024x733.jpeg\" alt=\"\" class=\"wp-image-408\" srcset=\"https:\/\/www.maddox.pro\/wp-content\/uploads\/2026\/02\/Keyboard_boot_option_integration-1024x733.jpeg 1024w, https:\/\/www.maddox.pro\/wp-content\/uploads\/2026\/02\/Keyboard_boot_option_integration-300x215.jpeg 300w, https:\/\/www.maddox.pro\/wp-content\/uploads\/2026\/02\/Keyboard_boot_option_integration-768x550.jpeg 768w, https:\/\/www.maddox.pro\/wp-content\/uploads\/2026\/02\/Keyboard_boot_option_integration-1536x1099.jpeg 1536w, https:\/\/www.maddox.pro\/wp-content\/uploads\/2026\/02\/Keyboard_boot_option_integration-2048x1466.jpeg 2048w, https:\/\/www.maddox.pro\/wp-content\/uploads\/2026\/02\/Keyboard_boot_option_integration-1140x816.jpeg 1140w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Next was getting the boot menu to ask if you wants a Cold, Warm or Monitor boot. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/www.maddox.pro\/wp-content\/uploads\/2026\/02\/LT6502_SCREEN_BASIC-1024x768.jpeg\" alt=\"\" class=\"wp-image-409\" srcset=\"https:\/\/www.maddox.pro\/wp-content\/uploads\/2026\/02\/LT6502_SCREEN_BASIC-1024x768.jpeg 1024w, https:\/\/www.maddox.pro\/wp-content\/uploads\/2026\/02\/LT6502_SCREEN_BASIC-300x225.jpeg 300w, https:\/\/www.maddox.pro\/wp-content\/uploads\/2026\/02\/LT6502_SCREEN_BASIC-768x576.jpeg 768w, https:\/\/www.maddox.pro\/wp-content\/uploads\/2026\/02\/LT6502_SCREEN_BASIC-1536x1152.jpeg 1536w, https:\/\/www.maddox.pro\/wp-content\/uploads\/2026\/02\/LT6502_SCREEN_BASIC-1140x855.jpeg 1140w, https:\/\/www.maddox.pro\/wp-content\/uploads\/2026\/02\/LT6502_SCREEN_BASIC.jpeg 2016w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>The really big milestone was getting the screen working. This was a lot of work, but so worth it. There were very definitely moments where I didn&#8217;t think I could get it working. Getting the scrolling working was probably the hardest. But I got it in the end.<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video controls src=\"https:\/\/files.mastodon.social\/media_attachments\/files\/115\/971\/488\/668\/737\/700\/original\/5b45d403e38741af.mp4\"><\/video><\/figure>\n\n\n\n<p>I am really pleased with this, oh and the colour I chose as I find the amber easy on my eyes.<\/p>\n\n\n\n<p>I&#8217;ve also been playing with some math functions to generated images.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"595\" src=\"https:\/\/www.maddox.pro\/wp-content\/uploads\/2026\/02\/Bubbleverse44-1024x595.jpeg\" alt=\"\" class=\"wp-image-410\" srcset=\"https:\/\/www.maddox.pro\/wp-content\/uploads\/2026\/02\/Bubbleverse44-1024x595.jpeg 1024w, https:\/\/www.maddox.pro\/wp-content\/uploads\/2026\/02\/Bubbleverse44-300x174.jpeg 300w, https:\/\/www.maddox.pro\/wp-content\/uploads\/2026\/02\/Bubbleverse44-768x446.jpeg 768w, https:\/\/www.maddox.pro\/wp-content\/uploads\/2026\/02\/Bubbleverse44-1536x892.jpeg 1536w, https:\/\/www.maddox.pro\/wp-content\/uploads\/2026\/02\/Bubbleverse44-2048x1189.jpeg 2048w, https:\/\/www.maddox.pro\/wp-content\/uploads\/2026\/02\/Bubbleverse44-1140x662.jpeg 1140w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>This shows the colour really well, The screen is 800 x 480 pixels and is 8 bit colour.<\/p>\n\n\n\n<p>I&#8217;ve also added a bunch of extra commands to basic;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>BEEP<\/strong> &lt;0-255> &#8211; Beeps at a variable pitch, higher number gives a higher pitch<\/li>\n\n\n\n<li><strong>CIRCLE<\/strong> X,Y,R,C,F &#8211; Draws a Circle, X is 0-799, Y is 0-479, R(radius) is 1 &#8211; 65535, C is 8bit RGB Value (RRRGGGBB), F is fill (0 = no fill, 1 = fill)<\/li>\n\n\n\n<li><strong>CLS<\/strong> &#8211; Clear screen (both graphic and text mode)<\/li>\n\n\n\n<li><strong>COLOUR<\/strong> &lt;0-255> &#8211; Sets the colour (text) to 8bit RGB value, in the form RRRGGGBB<\/li>\n\n\n\n<li><strong>DIR<\/strong> &#8211; Scans the Compact Flash card and shows slot number and name for any files present<\/li>\n\n\n\n<li><strong>LOAD<\/strong> &lt;0-2047> &#8211; LOAD a file from CF<\/li>\n\n\n\n<li><strong>MODE<\/strong> &lt;0,1> &#8211; Sets the display mode, MODE 0 is text, MODE 1 is graphics<\/li>\n\n\n\n<li><strong>OUTK<\/strong> &#8211; Outputs Text to the 8 character display on the keybed, can be a string or value, anything more than 8 characters will result in text shifting. a String will clear the display and then output the characters<\/li>\n\n\n\n<li><strong>PLOT<\/strong> X,Y,C &#8211; Plots a dot, X is 0-799, Y is 0-479 and C is 8bit RGB Value (RRRGGGBB)<\/li>\n\n\n\n<li><strong>SAVE<\/strong> &lt;0-2047>,&#8221;&#8221; &#8211; SAVE current BASIC program into a SLOT and give it a name, upto 16 characters<\/li>\n\n\n\n<li><strong>WOZMON<\/strong> &#8211; Jumps to wozmon, Q will exit WOZMON and return to basic (Handy for check chunks of memory)<\/li>\n<\/ul>\n\n\n\n<p>The screen has a clever driver on it and has hardware acceleration for things like circle, line, square, fill, etc. which makes doing these things really quick.<\/p>\n\n\n\n<p>Now I&#8217;ve started working on the case, oh boy that&#8217;s a real challenge but it&#8217;s getting there, slowly.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"737\" src=\"https:\/\/www.maddox.pro\/wp-content\/uploads\/2026\/02\/LT6502_BaseCase-1024x737.jpeg\" alt=\"\" class=\"wp-image-412\" srcset=\"https:\/\/www.maddox.pro\/wp-content\/uploads\/2026\/02\/LT6502_BaseCase-1024x737.jpeg 1024w, https:\/\/www.maddox.pro\/wp-content\/uploads\/2026\/02\/LT6502_BaseCase-300x216.jpeg 300w, https:\/\/www.maddox.pro\/wp-content\/uploads\/2026\/02\/LT6502_BaseCase-768x553.jpeg 768w, https:\/\/www.maddox.pro\/wp-content\/uploads\/2026\/02\/LT6502_BaseCase-1536x1106.jpeg 1536w, https:\/\/www.maddox.pro\/wp-content\/uploads\/2026\/02\/LT6502_BaseCase-2048x1475.jpeg 2048w, https:\/\/www.maddox.pro\/wp-content\/uploads\/2026\/02\/LT6502_BaseCase-1140x821.jpeg 1140w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>You can find more info and all the files so far on my git hub here &#8211; <a href=\"https:\/\/github.com\/TechPaula\/LT6502\">https:\/\/github.com\/TechPaula\/LT6502<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Building on the PC6502 system I decided to make a laptop 6502 system. I think there&#8217;s something nice about having a portable retro system that is fully self contained. It&#8217;s going very well so far. It&#8217;s been quite a steep learning curve. I&#8217;ve been remembering the 6502 assembly coding I did back in the 1980s, slowly remembering. It&#8217;s been fun to bring the system up one bit at a time, starting EhBASIC, getting teh display working, the beeper and compact flash. So here is where I&#8217;m at; Here was the test of the comms with the keyboard, a simple &#8220;HELLO&#8221; from basic, which is being controlled by the console port (left hand side). Next was getting the boot menu to ask if you wants a Cold, Warm or Monitor boot. The really big milestone was getting the screen working. This was a lot of work, but so worth it. There were very definitely moments where I didn&#8217;t think I could get it working. Getting the scrolling working was probably the hardest. But I got it in the end. I am really pleased with this, oh and the colour I chose as I find the amber easy on my eyes. I&#8217;ve also been playing with some math functions to generated images. This shows the colour really well, The screen is 800 x 480 pixels and is 8 bit colour. I&#8217;ve also added a bunch of extra commands to basic; The screen has a clever driver on it and has hardware acceleration for things like circle, line, square, fill, etc. which makes doing these things really quick. Now I&#8217;ve started working on the case, oh boy that&#8217;s a real challenge but it&#8217;s getting there, slowly. You can find more info and all the files so far on my git hub here &#8211; https:\/\/github.com\/TechPaula\/LT6502<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[63,62,40],"tags":[59,31],"class_list":["post-406","post","type-post","status-publish","format-standard","hentry","category-lt6502","category-pc6502","category-retro-computing","tag-59","tag-retro-computer"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.maddox.pro\/index.php?rest_route=\/wp\/v2\/posts\/406","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.maddox.pro\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.maddox.pro\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.maddox.pro\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.maddox.pro\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=406"}],"version-history":[{"count":1,"href":"https:\/\/www.maddox.pro\/index.php?rest_route=\/wp\/v2\/posts\/406\/revisions"}],"predecessor-version":[{"id":413,"href":"https:\/\/www.maddox.pro\/index.php?rest_route=\/wp\/v2\/posts\/406\/revisions\/413"}],"wp:attachment":[{"href":"https:\/\/www.maddox.pro\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=406"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.maddox.pro\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=406"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.maddox.pro\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=406"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}