Topics

SBC1802 update... #Serial #Arduino #Homebrew

Timothy Stoddard
 

Thanks to David Madole for the great bootloader...I modified slightly (see files) to allow running in any page. Successfully wrote this into an EEPROM at 0x8000 and use this to load up binary files starting at 0x0000. Wrote a simple Q blinker (see files) and used CoolTerm to upload to the SBC1802 via the bootloader. Works great! Now for some bigger programs...


For those not aware of naken_asm... this is a great little assembler and can be obtained here:

http://www.mikekohn.net/micro/naken_asm.php

David Madole
 

That's great, thanks for sharing. Maybe I will finish wiring up the ROM socket on my expansion board and do something similar as a next step. My ROM is paged at 0000 so the code will need to first move itself to high memory, then page out the ROM so that there is RAM at 0000.

I have a little more ambitious piece of loader code that I am only a few instruction tweaks away from finishing. Instead of binary files, this one loads Intel hex files at 19.2K at wire rate -- no delay needed between characters. I will share when I finish the final tweaks and testing. This was significantly harder and really pushes the limits of a 1.8Mhz 1802 and requires a trick even at that. More on the trick when I post the code.

David


On March 8, 2019 11:03:44 AM "tim@... [cosmacelf]" wrote:

 

Thanks to David Madole for the great bootloader...I modified slightly (see files) to allow running in any page. Successfully wrote this into an EEPROM at 0x8000 and use this to load up binary files starting at 0x0000. Wrote a simple Q blinker (see files) and used CoolTerm to upload to the SBC1802 via the bootloader. Works great! Now for some bigger programs...


For those not aware of naken_asm... this is a great little assembler and can be obtained here:

http://www.mikekohn.net/micro/naken_asm.php



 

I would love to see that 1802 code when it's done, David.  I'm downloading Intel Hex format files at 19200 baud on my Pocket 1802/5/6 board using the "loader" (ROM Emulator) IC and each byte goes into RAM during the stop bit of the second ASCII hex character.  I'm not happy about the terminal program overhead when sending a text file though.  It takes ~80 seconds to download one of Chuck's 32KB images as an ASCII hex file when using Hyperterminal or ~40 seconds when using Putty.


From: "'David S. Madole' david@... [cosmacelf]"
To: cosmacelf@...
Sent: Friday, March 8, 2019 2:36:53 PM
Subject: Re: [cosmacelf] SBC1802 update...

 

That's great, thanks for sharing. Maybe I will finish wiring up the ROM socket on my expansion board and do something similar as a next step. My ROM is paged at 0000 so the code will need to first move itself to high memory, then page out the ROM so that there is RAM at 0000.

I have a little more ambitious piece of loader code that I am only a few instruction tweaks away from finishing. Instead of binary files, this one loads Intel hex files at 19.2K at wire rate -- no delay needed between characters. I will share when I finish the final tweaks and testing. This was significantly harder and really pushes the limits of a 1.8Mhz 1802 and requires a trick even at that. More on the trick when I post the code.

David


On March 8, 2019 11:03:44 AM "tim@... [cosmacelf]" wrote:

 

Thanks to David Madole for the great bootloader...I modified slightly (see files) to allow running in any page. Successfully wrote this into an EEPROM at 0x8000 and use this to load up binary files starting at 0x0000. Wrote a simple Q blinker (see files) and used CoolTerm to upload to the SBC1802 via the bootloader. Works great! Now for some bigger programs...


For those not aware of naken_asm... this is a great little assembler and can be obtained here:

http://www.mikekohn.net/micro/naken_asm.php




Jeff Truck
 

I hooked up EF2/EF3/Q to an Arduino Mega.  The program I wrote uses EF2 and Q as a very low level handshake and toggles the bits via EF3.  The program sends over the first two bytes as a load address and the loader program on the Elf takes these two bytes and sets a register to point to the load address.  After that it’s a firehose at around 24kb.  

The program I send over is an array of bytes in the sender program.  It’s not the best but it was fun writing the protocol if you want to call it that.  

Jeff

Ps I’m using the Naken assembler Mr Stoddard posted a message about and I love it.  

On Fri, Mar 8, 2019 at 5:44 PM Michael McLaren k8lh@... [cosmacelf] <cosmacelf@...> wrote:
 

I would love to see that 1802 code when it's done, David.  I'm downloading Intel Hex format files at 19200 baud on my Pocket 1802/5/6 board using the "loader" (ROM Emulator) IC and each byte goes into RAM during the stop bit of the second ASCII hex character.  I'm not happy about the terminal program overhead when sending a text file though.  It takes ~80 seconds to download one of Chuck's 32KB images as an ASCII hex file when using Hyperterminal or ~40 seconds when using Putty.


From: "'David S. Madole' david@... [cosmacelf]" <cosmacelf@...>
To: cosmacelf@...
Sent: Friday, March 8, 2019 2:36:53 PM
Subject: Re: [cosmacelf] SBC1802 update...

 

That's great, thanks for sharing. Maybe I will finish wiring up the ROM socket on my expansion board and do something similar as a next step. My ROM is paged at 0000 so the code will need to first move itself to high memory, then page out the ROM so that there is RAM at 0000.

I have a little more ambitious piece of loader code that I am only a few instruction tweaks away from finishing. Instead of binary files, this one loads Intel hex files at 19.2K at wire rate -- no delay needed between characters. I will share when I finish the final tweaks and testing. This was significantly harder and really pushes the limits of a 1.8Mhz 1802 and requires a trick even at that. More on the trick when I post the code.

David


On March 8, 2019 11:03:44 AM "tim@... [cosmacelf]" <cosmacelf@...> wrote:

 

Thanks to David Madole for the great bootloader...I modified slightly (see files) to allow running in any page. Successfully wrote this into an EEPROM at 0x8000 and use this to load up binary files starting at 0x0000. Wrote a simple Q blinker (see files) and used CoolTerm to upload to the SBC1802 via the bootloader. Works great! Now for some bigger programs...


For those not aware of naken_asm... this is a great little assembler and can be obtained here:

http://www.mikekohn.net/micro/naken_asm.php