Homebrew 6809 Computer + Terminalscope: Monitor, Disassembler
HTML-код
- Опубликовано: 8 дек 2024
- Sorry it's been a few months! The 6809 computer is now soldered onto a protoboard. It's got 512K of RAM and a 16550 UART for serial communications at 38400 baud and higher.
Also demonstrated for the first time on video is the Terminalscope, as seen on Hack A Day and elsewhere. (More info on that: msarnoff.org/pr...)
I'm in the process of writing a monitor. Currently it can examine and write to memory, disassemble from memory, execute code, display/modify registers, and continue execution after an interrupt. It can also self-program its own EEPROM via serial connection to a PC. All this in under 4K!
Eventually I'll post schematics and assembler source code. I've set up a page at msarnoff.org/pr... to document the project.
Wow, that disassembly code looks almost identical to 6502 code. I had no idea the 6809 was so similar.
Great to see this super chip being used!
In the 80's I had a Color Computer (based on 6809), and in the unused 1.5k of the BasicROM, wrote an file manager that emulated that used in OS9. The CoCo could access 4 floppies - D0 to D3 (I think). I used that reference so that D4 thru D7 would be hard disks. Using a published dis-assembly of the RS BASIC ROM, I could load the ROM to RAM, and then whenever there were references to disk, if the drive # was greater than 3 - I'd jump up to my disk driver and write the data in OS9 file system format. Each HD was an OS9 directory. Then when you booted to OS9 - you could access the data. It was very cool - but never really got used... Some fellow was selling HD's for the CoCo, and used it - think we called it "WinBasic" - as hard drives where still called "winchester" drives (after the IBM 3030 I think).
In some 40 years of software work, that was my most enjoyable project! The 6809 was a beautiful design - and I understand it COULD have been the basis of the IBM PC, but Motorola was "too busy" with their automotive market, and declined become involved... and so the world was hamstrung with the crap Intel architecture... But that is a story for another day.
GREAT PROJECT Matt!!
=Alan R.
Wow, this is truly impressive. Even 12 years later
I wouldn't consider him a god, but some minds just don't work in the same way. To some people, this stuff, even though it might come easy to me,would be inconceivable by others. It takes a lot of time to fully understand each and every piece that go into building a proper computer.
That's why you program in Forth on 8-bit machines. :-) In fact, 6809 is almost a dream chip for Forth.
Very impressive Matt ! i wish a had a teacher like you back in the days ...
He seems to be young AND writing in machine code. That is what is impressive. Old guys like me do that in our sleep and we are a disappearing breed.
Each time I return to watch your videos about ULTIM809, I am truly amazed. You Sir are a damn genius. Pure geekeness in its best form :-) no offense. I meant it as a complement. You inspired me to start my own homebrew computer project about a year ago. It is a lot of fun. Thanks!
@kennytheamazing Yes, I've written all the OS code myself (it's not much, but I guess you could call it an OS) in assembly language. It's fun!
Makes me miss my old TRS-80 COCO.. That is an awesome video.. Great project - Keep it up.
i miss my coco3 myself.
You where definitelly working for Robco
Fallout
There is so much work involved in this, really nice job!
I am not sure why this is in the "Measure Theory" playlist, but I like it nevertheless!
He just started typing in machine code..Respect
You sir, are my hero! I've always wanted to do something like this.
Very good work. I feel comments should ideally be in machine code.
Reminded me of Matrix...
I got an idea,you can add an RS232 port and controlling chips on it,connect to your PC,fire up terminal simulating program,and you can write programs easier!
This men was working for the RobCo Industries :D
@ddjazz For some reason RUclips isn't letting me post the link, but there is a picture of the underside on my Flickr account (same username) from a few months ago. Of course, there are quite a few more chips on there now. I'll post a current picture of the underside sometime soon.
Reminds me of the days you had to do that with most of the systems, especially the pdp systems and altair 8080 systems
You lost me half way from your programming but this is a very nice project you have there and continue on it! Cheer
Dude, can use your monitor footage for video production? That looks super cool, like that assembly listing on terminator heads-up display.
wow this is like the prototype macintosh. it had a 6809 processor (until Bill convinced Burrell to use the 68000 chip) and for some reason it just reminds me of that
well done! you know your machine code. I did z-80 back in the day.
Super awesome. I'm curious to know how to bank switch between sram?
I'm more of a software programmer, and don't know where to go to learn about hardware design.
Where would you suggest someone go to learn from a-z on building?
I knew exactly what the test program was going to print before you executed it, from simple inspection of the hex data! How nerdy is that?
Very impressive! How long did it take to create the monitor program?
Wow! Where did you learn to do all this? I'm 13 and getting into computers but this is just awesome!
6809BE good grief I haven't used that machine code since I wrote games for the Tandy CoCo and Dragon 32!
Great CPU though A B +D index registers and full 16 bit index registers. It was my favourite CPU. Definitely Programmer friendly.
Where in the world did find that lovely Protoboard?
i always wanted to build my own retro pc
This is not a "pc".
i would love to learn how to do that.
@74ch595
you're looking from paper while writing the hello world code towards the end of the video, right? :P
Hey, please explain why you loaded the stack pointer with 12 00.
Did you every finish documenting your Ultim6809 project? I'm interested in trying to build one.
Can You email me The Schematic and parts list and tell me how to write the os?
i cannot understand too much but this is fascinating!
how do you learn to make these sorts of things
how do you determine the Hex addresses for everything?...I'm wanting to make something similare to this but I need to obviously look things up. Is there any sources you would recommend to help me get started on such a project?
As an EE all I can say is WOW. So few people understand that the youtube video they are watching is millions of instructions just like the one you executed being performed billions of times every second. My first computer was an 8086. I worked with the Z80. It is truly knowledge upon knowledge. You have shown us the root and core of an intel i7 quad core processor. The symphony between hardware and software, between core and microcode. Hats off to ya sir, charles at gerbing dot com
2 Questions and a comment. Why did you use a 4 Mhz oscillator and use dividers to drop down the clock to 1 Mhz, Did you need to derive other frequencies?. Your Terminal Character set looks like the Apple II Character set ,Is it ?
I think your project is great, Thanks for the video.
Very nice work and enjoyed the video very much.
Wow. Amazing. Did you write the OS code as well ?
yes i have to agree. good job!
This is.... just amazing.
Can I ask you how and where you learned all that?
@74hc595 Coud you give us a schematic?
Mindblowing!!
Great work! I have always wanted to do something like this.
hmm... 6809? 512k? Uart? sounds like a another platform ready for Fuzix.
Where do you learn all this knolage???
where do you learn assembly?
where did you learn to build such a cool thing???
Google
Really impressive !
Simply awesome.
Does this have a 16-bit ALU?
Thats just epic! it looks like a terminal from Fallout 3.
This is very cool.
very nice loved it
can i program it?
Add a sid chip
Nice Fallout ref :D
Great job!
Very cool.
its so cool!
Joshua, is that you???
Man , thats amazing weldone!
What kind of frame rates you getting on Skyrim?
CPU, BUS, Memory it is boring
I allways intresting in video system... this is funnest part of PC
Really cool. I find the monitors sort of funny though. They should make modern versions. THE COMMAND PROMPT IS MAKING A COME BACK. Excepts it's not :(
Why romanticize anything? Even today it's an obvious fact that 6809 was one of the neatest designs around in its time.
still better graphics than minecraft :D
schematic diagram?
схема?
Σχημα?
and I thought that writing "Hello World" in 8086 assembly was difficult...
nice
@coldlogic1 I dunno, can you? xD
computer engineering major?
I second the quesion below
every nice, and every cool!!!
Wow :O
Ubernerdy! Restecpa!
I love it. :)
This is fucking impressive
I know this video is old but..... MACHINE CODE.... fuck me sideways dude. You sir are epic.
its beuatiful :3
Great !
@lucamasira 4gb ram is so 2009 LOL
:P 16gb FTW
Impressive shit
looks like a terminal from fallout 3 O_O
It is.
Would you like to play a game?
_
Christ... with the amount of time you'll spend writing machine code, why not just write your own compiler?
Besides that good fucking job!
MAKE IT TAKE FLOPPYS
Run menuetos
you are fucking... WRITING... MACHINE CODE!!! are... you god? :drools rainbow
Can It Run Crysis? LOL
That's not the hard part. Clearly you've never coded in assembly, at least for anything significant. (inline asm in C/C++ does not count, although I doubt you've even done that much)
In assembly, even the most trivial operations take several instructions, and operate in a fairly complex manner. For example, an If statement (w/call)
If (x < y)
MOV [x in RAM],a
MOV [y in RAM],b
SUB a,b
CMP a
BCS [label next]
CALL [if code]
abc:
CALL [else code]
B [end]
end:
[continue other code]
Syntax may vary.
Old news
Or You could have used like... microcontroller :)