Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-

Embeded Design

Name: Anonymous 2012-10-12 16:41

So /prog/,
I wanna learn how to do embedded design, interfacing, and programming (sort of like how TI's are made, and old school non-complex computers such as the c64).

Any advice, information, etc. to point me in the right direction? I'd prefer to get input from people who have experience in this area. For example, I have an tiny display that works from a phone. Don't know how to use it, but want to take a cpu (I have a 8086 chip lying around), a ROM, and write the software to put a circle or something on the screen.

Name: Anonymous 2012-10-12 17:29

Don't start by building a computer with a screen, that's a whole extra level of complexity. Blinking LEDs are where you start.

Name: Anonymous 2012-10-12 17:46

LED BINARY HALF-ADDERS UP IN THIS BITCH

Name: Anonymous 2012-10-12 17:55

If you're a complete beginner, start out with small microcontrollers. Get a lolduino starter kit, there's a ton of educational material out there for them.

If not, take a look at http://www.s100computers.com/My%20System%20Pages/8086%20Board/8086%20CPU%20Board.htm for instance.

Name: Anonymous 2012-10-12 18:15

I guess it would be better to start with blinking leds, lol. But what about after that? Also, where to start.

I also thought about an Arduino, but wasn't sure.

Name: Anonymous 2012-10-12 18:19

Hmm... I forgot to mention that I want to use assembly to run everything. What's this Wiring Programming shit for the Arduino?

Name: Anonymous 2012-10-12 18:24

>>1
8086 is a broken piece of shit, but if you want to hate assembly programming forever, it's a good place to start.

Name: Anonymous 2012-10-12 18:38

>>7
Memory segmentation is a bit of a pain, but other than that, it's fairly straightforward.

Name: Anonymous 2012-10-12 18:46

>>8
SIB bytes and full addressing modes weren't added until the 386. The 8086 has 4 data registers and 4 address registers, all with their own caveats and limitations. Compared to a 68K or PDP-11 or RISC, it's not straightforward at all.

Name: penis cancer 2012-10-12 18:55

sup i had my laptop on my penis while programming and i just realized i got penis cancer

Name: Anonymous 2012-10-12 18:56

>>9
It's still not that bad. And you can finally use all the tricks you learned from those Mike Abrash articles!

Name: Anonymous 2012-10-12 20:01

>>1
The microcontroller route is much easier to start with, microcontrollers are CPU with a few hundred registers instead of RAM, and tri-state pins with resistor pull-ups. Eventually you could interface the 8086 and RAM with it to make a ``real computer''.

You'll need to Google for a datasheet of either your tiny display as a module, or the driver IC to make use of it. You'll have to read the datasheet back-to-back sometimes because of the usually picky timing and contrast voltage levels involved, a volt difference and you can't see anything. Usually it will require negative voltage, and you'll need to come up with capacitor charge pumps across the clock line to generate -40V out of 4.5V or something.

It might just be simpler to either do blinking LEDs or better yet (for a home computer project), learn NTSC/EIA signals (ignore color and its not too hard, people have made TV pong with microcontrollers quite a few times, the PICs with 4 cycles per instruction usually gave something between 50 and 150 pixels of horizontal resolution). You'll need to hand craft PIC assembly for this performance though, and offload non bit pushing code to happen during the blanking timing periods, the Atari 2600 performed video generation from the game code in this fashion if I'm not mistaken.

After choosing what to display with, the real issue with showing something on the screen other than pong will be RAM. Raster operations on bitmaps in memory will be hard with a few hundred bytes of microcontroller register memory, you'll need RAM for general purpose graphics on a home computer project. There are other possible strategies to displaying something on the screen, for a text based display you could check out the September 1973 Radio-Electronics article on the TV typewriter (google) for inspiration.

Name: Anonymous 2012-10-12 20:01

>>10
It's still not that bad. And you can finally use all the tricks you learned from those Mike Abrash articles!

Name: Anonymous 2012-10-12 20:21

>>12
Those cellphone LCD displays are pretty popular, so it'll be easy to find both schematics and code to adapt.

Trying to build anything more complicated with old components like an 8086 or 68000 is becoming more difficult, because the peripheral ICs are no longer manufactured. Scavenging or lucking on some old new stock works if you're doing a one-off, but making something no-one else will ever use is not very fun.

Name: Anonymous 2012-10-13 1:07

I think I'll start with blinking lights using an Atmel AVR Tiny. I'm going to try to build my own programmer (I have the electronic parts to put something together), just need to figure out how the software sends the hex file to the controller (from what I understand, when you compile the firmware it's compiled to an hex file, then sent with a separate piece of software).

Name: Anonymous 2012-10-13 1:13

Use an FPGA. You can experiment with creating your own instruction set or dataflow system. As long as you're not Notch, chances are you can create a CPU architecture better than the 8086.

Name: Cudder !MhMRSATORI!fR8duoqGZdD/iE5 2012-10-13 5:04

>>14
If he's wanting to interface with a cellphone LCD then he'll need voltage translation circuitry: most of those displays are 3.3V whereas the 8086 and all other CPUs at the time were 5V.

because the peripheral ICs are no longer manufactured
They still are, but not cheaply. You can buy an 8086 for a little over $300:
http://www.intersil.com/en/products/space-and-harsh-environment/-883/microprocessors-and-peripherals/80C86-883.html
...and they still make the 8254, 8255, etc.in prices ranging from somewhat expensive (several $$) to outrageous ($200+), although all of these parts are somewhat more robust than the ones in an IBM PC.

Plain 8088 here, still not cheap:
http://www.mouser.com/ProductDetail/Intersil/IP80C88-2/

A cheaper way to go if you're into retro 8-bit is a Z80 or 6502 (they still make them, and in 3V3 versions). You only have a 64K address space, but that's plenty.

http://www.youtube.com/watch?v=0a630qOkBek

Name: Anonymous 2012-10-13 5:09

THE cUDDER HAS SPOKEN

Name: Anonymous 2012-10-13 6:14

>>15
The programming interface is basically SPI, but you use the /RESET pin as a chip select. But you're better off just using AVRDUDE. There are compatible interfaces you can build or buy as kits if you insist on soldering, but a completed programmer costs only a couple of bucks on eBay so why bother?

Name: Cudder !MhMRSATORI!fR8duoqGZdD/iE5 2012-10-13 6:36

>>19
Maybe doing it serially is a bit too much, but manually loading every instruction into a microcontroller using a set of switches is an experience all embedded programmers should have done at least once.

I remember some EE instructors would give their students a serial EEPROM, a copy of the datasheet, a few wires, switches, a battery, and 2 hours for them to erase and write their own name and bits of other info into it. A quick search shows that this is still being done:
http://www.engr.uky.edu/~idea/wiki/lib/exe/fetch.php?id=classes%3A07c%3A599%3Adefault&cache=cache&media=classes:07c:599:lab1.pdf

Name: Anonymous 2012-10-13 6:52

>>20
No you don't as you weren't even born yet. Also if you're designing a microprocessor-based computer voltage translation is a piece of piss.

Name: Cudder !MhMRSATORI!fR8duoqGZdD/iE5 2012-10-13 7:11

>>21
I'm 42.

Name: Anonymous 2012-10-13 7:31

>>22
Pretending doesn't make it so. And if you were it'd be tragic that you're still so terrible! at everything.

Name: Cudder !MhMRSATORI!fR8duoqGZdD/iE5 2012-10-13 7:59

>>23
Whatever you say, I'm not going to prove anything to some random idiot on the Internet.

Back on topic:
http://habrahabr.ru/post/152052/
http://www.youtube.com/watch?v=UJHeDvr_doM

Name: Anonymous 2012-10-13 11:00

>>22
Are you married?

If not, my name is Okuu. Will you marry me?

Name: Anonymous 2012-10-13 11:33

>>25
Okuu
No, thanks!

Name: Anonymous 2012-10-13 11:35

>>26
Who in their right mind wouldn't marry Okuu? Are you gay?

Name: Anonymous 2012-10-13 11:43

>>27
What? Who is Okuu anyway? Sounds like a very stupid name.

Name: Not >>27 2012-10-13 11:45

Name: Anonymous 2012-10-13 11:59

UDDER

Name: Anonymous 2012-10-13 12:30

>>24
Lolz, that's what your entire posting history is all about.

Name: Anonymous 2012-10-13 18:25

Embedded systems also include robots and shit, right? A bunch of robotics nerds at my uni asked me to do some embedded programming and I was all like... "LoLz, nah.. busy building the next mytwitterbook... kthxbai"

Name: Cudder !MhMRSATORI!fR8duoqGZdD/iE5 2012-10-14 4:45

>>29
one of Satori's pets.
...

Name: Anonymous 2012-10-14 8:42

>>33
You're the last tripcode in use here. I guess you own|won the title of ``queen'' of /prog/. faggot

Name: Anonymous 2012-10-14 11:31

>>33
The cutest hell raven on earth proposes to you and you reject her?

Holy shit man you're gay as balls.

Name: VIPPER 2012-10-14 14:43

>>35
No shit bro?

Don't change these.
Name: Email:
Entire Thread Thread List