I Tried and Failed to Run a Simple Program…

preview_player
Показать описание
In the previous UE1 episode, I thought I had everything all wrapped up. It appeared to run the memory program with no problems, so I decided to run something a little more intense – Fibonacci. It’s still a simple program, but it hits all sorts of different parts of the computer and it went… poorly. Like dramatically poorly.

Silver lining though, I have an emulator for the computer now!

If you want to support the channel please hop over to Patreon:

Also, we now have some epic shirts for sale!

Come join us on Discord!

Intro Music adapted from:
Artist: The Runaway Five
Title: The Shinra Shuffle

Thanks for watching!

Chapters
0:00 More than nothing, but less than something
1:02 Understanding the architecture
4:38 The Fibonacci sequence
6:47 The emulator
9:24 The assembler
11:50 And then it all goes terribly wrong… (CM)
14:58 Yup, still broken
19:34 The beard! No, not the beard! Anything but the beard!
21:42 Yup, still broken part three
23:06 Old man yells at clouds…
24:29 Happy kitty!
Рекомендации по теме
Комментарии
Автор

That man is a masochist. Not for building his own computer, but for programming the emulator in QuickBasic.

jeremiefaucher-goulet
Автор

Future Sanity Tip: If you have a SELECT CASE statement where the only valid choices are listed, put in a CASE ELSE statement at the end that'll pitch a fit so you're aware.

THa-rng
Автор

Think of all the 1970s homebrew computing. No internet. No buddies in another state to help you. Just you, some documentation and your project and what is between your ears. Mad respect to the guys who did it.

tarstarkusz
Автор

"I Tried and Failed". That's one thing I love about this channel. It shows the successes and failures, the work, the process, the hustle, the frustrations that inevitably come when you do this kind of crazy and wonderful stuff. Anyone can film the same thing 100 times and only upload that single one that works but it requires a higher level of commitment to guide us through the whole journey, no matter where it may lead

adilsongoliveira
Автор

Just throwing out an idea that crossed my mind:
1. Works if you single-step through using the toggle switch interface
2. Fails when you use the tape reader
Things that change: 1. input method 2. speed
Verify that the tape reader is doing what you expect?

lerkzor
Автор

Probably better to start with an even simpler program. Load number, display number. Then get fancy. Fibonacci being fancy!

davidlloyd
Автор

The fact that your gut reaction to the computer not working is a big hearty laugh speaks volumes of your character. As someone who's dabbled in logic level electronics, I can understand the frustration of something working just fine on paper but inexplicably failing in practice.

GearHeadedHamster
Автор

1. Can confirm, building a computer from scratch is hard. Even if you use ICs for it.

2. Have you checked the paper tape against your binary? TeraTerm might be pushing the data too fast for the punch.

3. As someone else mentioned, a simpler program might be better for a first test and debug. Maybe start with just counting on the output, using as few instructions as possible. Then add one instruction at a time, to confirm that every instruction actually does what it's supposed to

TSteffi
Автор

I don't want to be the adviser from the couch but want to provide a few tips:
- leave no case statement untreated, if something unexpected comes up you should print an error
- for the assembler, a good sanity check is to make sure that the number of lines without comments is equal to the number of instructions read (I assume) and equal to the number of instructions assembled
- can you single step through the tape? Possibly not, but it would be useful to have such a feature
- speaking of features, it would be cheating, but having an isolated interface board where you can read and write via serial could be a productivity boost. Then you can have a suite of automated tests like the Bendix has
Such a cool and time-consuming project, while also taking care of the other projects, it is a superhuman effort.

ligius
Автор

Don't sell yourself short for using QB. I had a coworker that did coding for some very critical maintenance testing (we're talking public-safety, highly regulated stuff). He used QB for many years for that. It was fully vetted and he had a very formal and rigid SQA (Software Quality Assurance) program. It's not the tools you use, it's how you use them and knowing what to do with them.

mikefochtman
Автор

You are not a terrible programmer since you can detect your mistakes.
Everybody makes mistakes and experimented programmers remember common mistakes they made at first so they can avoid them.

Making mistakes don’t make you a bad programmer. They help you build some knowledge and experience.

I hope what I wrote makes sense. Since I’m french, I’m not totally confident with my english.

sebastienkneur
Автор

You'll get there. The UE1 wasn't going to let you end it's series that easily 😁

As a side note, thanks for stopping to talk with me at VCF last weekend. I really appreciate it, and I hope you didn't freeze with me stopping you on the way to get your jacket!

Galaga
Автор

Honestly, it's videos like this that makes me love this channel. I haven't started a homebrew computer because I don't feel I could be persistent enough. Then David posts a video about everything going wrong (which in itself is unusual) and ends it by saying we'll get back to this, and figure it out. And I know he will. The level of dedication is amazing. That's the icing on top of the super cool tech.

martinmckee
Автор

This is very much relatable to anyone who ever worked on building his/her own homebrew computer! Sometimes I had to make a pause for a few days and then get back on track with fresh mind. Keep on trying, I believe you will get there eventually!

evmemc
Автор

Hang in there, Dave. You'll get it to work. It's possibly a harmonics problems with all of the circuitry while running the tape reader. Try shielding the motor or driving it slower.

RaymondSwanson-uy
Автор

Don't be ashamed of BASIC. The language is hugely influential. I'd dare say more people have learned BASIC than any other language based on all the 8bit computers in the 80's.

shawnswitenky
Автор

Thank you for demonstrating why tubes were replaced by transistors.

kevinmerrell
Автор

It's all good, David - You're into that "final 20% of the work that takes 80% of the time" tuning and debugging stage :)
1. That missing space character in your assembler's parser -> errant characters breaking code continues to be a quite common occurrence in all development projects!
2. Tuning the UE1 - Many commenters have already pointed out that the ability to single-step the tape-reader would be very, very helpful.
- Though, I could see a reluctance to do that given the effort involved, plus the amount of effort to build the existing mechanism from scratch.
- On the other hand, even without single stepping the tape reader -> if you're able to get the reader to run much more slowly, you may find a point where the machine runs much more reliably, as-is.

baronvonschnellenstein
Автор

20:52 ...the flop may not flip and the flip may not flop... so the flip-flop flops... or does it flip?! - quite entertaining.

allobject
Автор

I'm not a great programmer.... proceeds to write an assembler and emulator 😂 Great vid.

mlann
visit shbcf.ru