What was your first micro programming experience?

Go To Last Post
118 posts / 0 new

Pages

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I designed a couple things using Motorola 68000 series, but never got to make either. In the first case, I was told, "We don't use non-Intel processors."

The largest known prime number: 282589933-1

It's easy to stop breaking the 10th commandment! Break the 8th instead. 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

My 6809 experience was initially on an SWTP computer with the 09 card. Later I built my own. I also did a fair few re-writes of one-armed-bandit stuff on PCBs that use the 6809. The original games were, I believe, programned in Forth. I used assembly.

Four legs good, two legs bad, three legs stable.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Gawd, ancient history.

 

Started with an SCMP 8060 in a Sinclair MK14 (which I still have) and then a 6502 Microtan 65 (that makes three of us here, I think) expanded just as far as I could to fill a 19" rack with self-designed boards. Played with 6800, 6809, 8080, Z80 (hated the opcodes on the Z80 and always considered it awkward to program) and then 8086 and its descendants - though the 386 was really the last thing I programmed in machine code. Let's add the early ARM chips, 12 and 14 bit PIC, AVR, 8047 controllers. Currently 32 bit ARM in the day job.

 

Had the MK14 and Microtan; used a 6809 on a project modified from a cash register, of all things; Sinclair ZX80 (delivered broken but I fixed it); BBC micros in bulk as I used them at work for all sorts of things; one of Cliff's Amstrad 512k PCs (the OU swore that it would be suitable for all my courses - it wasn't).

 

Built a couple of DIY processors, and the latest - see the gloating thread - is heavily based on an 8080. Things go round in circles... and my favourite was still the 6502 which is the processor to which all others aspire.

 

Neil

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0


ki0bk wrote:

You guys are going to make me find my 6809 programmers reference card now! 

Jim

 

I will save you the trouble Jim.

 

Ross McKenzie ValuSoft Melbourne Australia

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Started home computing "late" in 1984 with a $50 Radio Shack little version Color Computer known as the MC10.  It had a Motorola 6803 CPU {which was a 6802 with a UART and an I/O port}, along with a Motorola 6847 composite-video graphics and 40x32 ASCII character generator chip. 

 

  It was a simple BASIC-trainer with a chicklets miniature keyboard.  The BASIC internal code was hand-written by Bill Gates before IBM contracted his "company" Microsoft Inc. {which at that time was just Bill and a shared receptionist} to do the OS on their new PC business computer.  IBM decided to let their noisy little upstart Boca Raton Florida division make their silly little "personal" computer just so that it would go down in flames spectacularly and they would just shut up and let the boys get back to making real computers: the "big iron" room-fillers like the model 360 that real men paid millions of dollars to use.

 

  After a short while I realized that you couldn't "do" anything with a Radio Shack miniCoCo and so moved up to my first serious computer: the Commodore 64.  I actually bought the book (at $60 in today's money) Compute!'s Machine Language for Beginners 2 that had a fully working symbolic assembler along with a detailed explanation of every line of assembler code.

 

  Never had a 6809 machine, but I reviewed its instruction set.  I still have a MIDI tone module that is based on the Motorola "Hershey Bar" CPU: the 68000.

  So what happened to Motorola?  Did they get bought by Microchip as part of the Atmel deal?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I think Motorola spun off its semi division into Freescale, and now they're part of NXP.  Hard to keep track!

 

And speaking of the 6847, I built a fair number of home-brew video cards using the 6845, mostly connected to 8080s or Z-80s.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

6502 in an Arari, I recall it being a fun little machine.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

kk6gm wrote:
I think Motorola spun off its semi division into Freescale, ...
some or all of the remainder to ON Semiconductor.

ON Semiconductor Corporate History

Microcontroller Devices | ON Semiconductor

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

ron_sutherland wrote:

6502 in an Arari, I recall it being a fun little machine.

I had -finally- saved enough money to buy an Apple II and they went and raised the price, so I bought an Atari 800 instead (with Star Raiders!).  Then I got hired by an Atari-centric game company to design them a floppy disk duplicator, which was a large PCB that plugged directly into the Atari cartridge slot and cranked out 8 floppies at a time.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Created a fair amount of 6502 projects, on our own boards, also a few that plugged into an apple II.  Later moved on to some 68HC11 projects...was excited since it included built-in EEPROM....amazing!   

 

The MC68HC11A8 was the first microcontroller to include CMOS EEPROM

When in the dark remember-the future looks brighter than ever.   I look forward to being able to predict the future!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

moved on to some 68HC11 project

I ave around 20,000 boards spread all over the world with that chip.  The original version fitted everything inside the 2K EEPROM, (E2?), then we moved to the E9 when some of the chips were no longer available and the feature creeps started to come in.

 

Everything written in ASM of course, the C compiler costed several months of mortgage repayments!

John Samperi

Ampertronics Pty. Ltd.

www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0


 

We made some signs using an 8085 variant, it was the first controller that only required single supply +5V, rather than an assortment of voltages.   We also used it in some systems with bubble memory for storage (I have some pics of that system lurking in a folder in a box in a cabinet somewhere).   

 

Let's ask Intel to bring it back!

 

an interesting read:

http://smithsonianchips.si.edu/ice/cd/STATUS98/SEC06.PDF

When in the dark remember-the future looks brighter than ever.   I look forward to being able to predict the future!

Last Edited: Wed. Jul 24, 2019 - 07:32 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I was interested to know where that graph went next. This table is quite interesting:

 

https://en.wikipedia.org/wiki/Transistor_count#Microprocessors

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I'm curious as to the significance of the 320 bit hex string on the chip.  Never seen anything like that before.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I'm curious as to the significance of the 320 bit hex string on the chip.  Never seen anything like that before.

I'd suspect it is some sort of encoded marker for bad bits, though I might be way off my rocker switch.

 

Let's bring back bubble memory, they said it was the future.

When in the dark remember-the future looks brighter than ever.   I look forward to being able to predict the future!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

It's actually an encoding of the text "I know the meaning of life is ... (damn, no more room)"!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

According to contemporary records, the first commercial bubble memory module was the TBM0103 announced by Texas Instruments (TI) in 1977. Oddly, its apparent prototype TBM0101 was mentioned instead, in this article in the BYTE magazine issue of June 1979. The TBM0103 was a 92 Kbit module that was used internally in some TI products. My image shows a pair of modules in such a TI device. The string of hexadecimal digits printed on the label stuck on each module is a mask that specifies which of the minor loops should not be used because of defects. The device's nominal capacity is less than its true physical capacity so that defective loops can be left unused. This is a feature of most of the modules shown below, although later types had the mask pre-stored in one of the minor loops by the manufacturer, so that the user did not have to read the label and program an EPROM on their board. Of course this meant that, instead, the module manufacturer had to test and program each module.

 

FROM

http://www.wylie.org.uk/technology/computer/bubblmem/bubblmem.htm

 

INTEL HANDBOOK

https://archive.org/details/IntelBubbleMemoryDesignHandbook/page/n1

When in the dark remember-the future looks brighter than ever.   I look forward to being able to predict the future!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Wow, interesting about the bad loops.  I'd have thought, if they were going to mark the bad sections on a label, they'd at least make a label that was easily machine readable.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

 they'd at least make a label that was easily machine readable.

I think reading UPC barcodes were only about 10 years old in 1981.....we probably forget it was a "miracle" to read a simple code to look up the price for a can of hearty soup.  A few cash registers then were still 200 pounds of gears.

 

 

When in the dark remember-the future looks brighter than ever.   I look forward to being able to predict the future!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

avrcandies wrote:
.we probably forget it was a "miracle" to read a simple code to look up the price for a can of hearty soup.  A few cash registers then were still 200 pounds of gears.

That was what I was doing in '81, making OCR price tag readers for retail cash registers!

 

Jim

 

Click Link: Get Free Stock: Retire early! PM for strategy

share.robinhood.com/jamesc3274
stack gold/silver https://www.onegold.com/join/713...

 

 

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I remember entering the bad sector list into Netware before installing the new hard drive. Then thought, "This is nuts!"

 

Instead, I just put it in with all the bad sectors, started up the server, then ran a program to write to a file till some error happened. Of course, the correct error is "out of space." Netware would happily hot-fix all the bad sectors, mapping them to good and the task was done without having to read all those tiny smeared numbers poorly printed on a shiny label.

 

Remember the Doctor Who episode "Logopolis" where they pulled all the bubble memory boards out of the alien computer and brought them to earth to run the program that was holding back entrophy?

The largest known prime number: 282589933-1

It's easy to stop breaking the 10th commandment! Break the 8th instead. 

Last Edited: Thu. Aug 1, 2019 - 05:01 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I'm a bit late to the game with 6809 stuff - when I was a spotty teenager I did many add-on cards for this computer:

 

http://murcam.byethost5.com/peac...

These were a high end home computer - very nice keyboard and video display (for the time). 

 

When the hitachi double density disk drives became available, I looked at the MP1802 dual controller card and thought - 'I can do that in one'. It was done in 2/3 the size of one card. Sold a few of these as my card interfaced to 'normal' floppy drives.

Next was the MP1806 - 8" DD floppy, again, this was done on a pcb 2/3 the size of one of Hitachi's. I added connectors for both the 50pin and 34pin interfaces for the then new high density 5 1/4" floppies.

 

Everyone wanted to run cp/m, so I designed a board with a Z80, 64k dram and some back to back i/o ports so the 6809 was used effectively as a terminal and disk controller. The hitachi natively ran Microsoft level3 basic from rom and with the disk drives you got disk basic. With the Z80 card, you could map the punch and reader under cp/m to read/write any of the hitachi devices like the keyboard, printer, disk drive etc. The guys who wrote the code had it when you first accessed the punch or reader it would ask what you wanted it mapped to. You could be running cp/m on one disk drive and transferring data to/from the hitachi disk basic drive. We sold a few hundred of these Z80 boards. Even had a picture appear in a japanese magazine!

 

Most of us will remember the SPO256/AL2 speech synth chip - I put one of these along with two AY-3-8910 PSG (programmable sound gen) chips, A battery backed real time clock, two Atari compatible joystick interfaces and 16 bits of i/o onto a board. Unfortunately, this board was not super popular. The guys that did the software did a splendid job of text to speech and sound effects. I can remember the demo code saying 'eat lead sucker!'

 

The last board I did was a hard disk interface (10MB!) and a networking interface using RS485 with manchester encoded data at 125kBit/s. This was supported under cp/m and the disk basic.

 

All this before I turned 18!! I was lucky I had a number of skilled people to help me, especially with the pcbs and the software.

 

As for processors - started with the sc/mp, to the z80, to the 6809 and as time went on I did more embedded stuff with 8051 and Z180. In the early 90's it was hc11 as well then the AVR around 2000 then ARM7. There was some 68K mixed in along the way.

 

Atmel had a good range of flash 8051 micros. The AVR was a step up from these. When the AVRs were released, they were a stunning product and luckily there were a couple of low cost C compilers.

 

 

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Going though some boxes and found this.  This is the book that changed my life.

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

My first microcomputer was the Radio Shack color computer.  I ran Microware's OS9 on it.

 

The first microcontroller I bought was Microchip's  PIC16F688-E/P kit.  I looked at it and decided it was a POS and vowed to never buy anything from Microchip.  crying  The first microcontroller I actually used was a kit with Motorola's HC11. 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0


 

Ross McKenzie ValuSoft Melbourne Australia

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Pencils? You 'ad pencils? Eee, we used to dream o' pencils.

In our 'ouse we only 'ad slates an' chalk, an' we din't 'ave no chalk so we 'ad to scratch us slate's wi' us fingernails...

 

Neil (why yes, I am from Yorkshire! Why do you ask?)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

kk6gm wrote:

Going though some boxes and found this.  This is the book that changed my life.

 

 

I wore one of those books out!

The largest known prime number: 282589933-1

It's easy to stop breaking the 10th commandment! Break the 8th instead. 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0


kk6gm wrote:

Going though some boxes and found this.  This is the book that changed my life.

 

I don't even have to open a box; these live on the shelf in front of me...

 

 

...along with this...

 

#1 This forum helps those that help themselves

#2 All grounds are not created equal

#3 How have you proved that your chip is running at xxMHz?

#4 "If you think you need floating point to solve the problem then you don't understand the problem. If you really do need floating point then you have a problem you do not understand." - Heater's ex-boss

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I chucked all my assembly language books out last year. I figured all that stuff's on the net these days.
I looked on eBay first, to make sure they weren't collectible...

Four legs good, two legs bad, three legs stable.

Last Edited: Sun. Aug 4, 2019 - 08:50 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

On the bookshelf next to me, I can still see Dos Programmer's Reference; 8086/8088, A Small C Compiler, Programming with QT, QT Programming, Android for Dummies, Java, Microsoft Foundation Classes, Windows API New Testament... judging by the dust I obviously haven't used them recently. In the attic are Zaks and Leventhal's 8-bit references.

 

The internet is wonderful, but try looking for a generic guide to writing an assembler for a generic processor. Not so easy - I may have to do it from first principles.

 

Neil

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

My first code was for the 4004. For an IEEE class. First production code was for 6801. (Actually a 68701). This was the board controller for all the line  and trunk cards for the Ericsson MD110 EAPBX USA interfaces. After designing the hardware I wrote the call processing firmware in assembly using a Motorola EXORMACS system

 

Used the 6809 for the main CPU in the Ericsson MD110 EAPBX. I did not write any for production but did assist an engineer debugging the code. He was not interested in my help to fix a random issue where the CPU would reset. He knew I was working on the controller side of things. I was looking at the 6809 pocket reference guide and noticed that one instruction had a note besides it saying it could be used incorrectly. I looked at his code printout and found an incorrect usage. I showed this to him and it was the issue. He seemed to think more of me after that. Especially since I never took any credit for the find. RTFM, I always say.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

barnacle wrote:

On the bookshelf next to me, I can still see Dos Programmer's Reference; 8086/8088, A Small C Compiler, Programming with QT, QT Programming, Android for Dummies, Java, Microsoft Foundation Classes, Windows API New Testament... judging by the dust I obviously haven't used them recently. In the attic are Zaks and Leventhal's 8-bit references.

 

The internet is wonderful, but try looking for a generic guide to writing an assembler for a generic processor. Not so easy - I may have to do it from first principles.

 

Neil


I have done so in the past. I also wrote a "universal" disassembler. Although I expect it was only 8 bit capable.

Four legs good, two legs bad, three legs stable.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Regarding universal assemblers, I know of one: "flat assembler g" https://flatassembler.net/docs.php

But it has a quite complex syntax, as would be expected.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 2

In my mid twenties I had an SWTP 6800 system at work. We bought a symbolic assembler on floppy, complete with the source.
One lunchtime, after a beer, I announced my intention to rewrite it to cope with the 6502 instruction set that afternoon. I was ridiculed by a couple of my co-workers, and rightly so, as I didn't finish until after 7:30, which is early evening in anyone's book.
If somebody asked me to quote for a task like that today, I'd probably ask for a week.

Four legs good, two legs bad, three legs stable.

Last Edited: Mon. Aug 12, 2019 - 11:48 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

6502 assembly on a KIM-1 back in college in the early 80's

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

If somebody asked me to quote for a task like that today, I'd probably ask for a week.

Now, it takes that long to get a valid datasheet 

When in the dark remember-the future looks brighter than ever.   I look forward to being able to predict the future!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Good point. I had a book on 6502 assembly language already. I seem to remember it was from MOS technology, but might have been the Lance Leventhal book. Long time ago. Probably all false memories. No doubt I was actually Prime Minister at the time, but my brain is blocking out painful recollections.

Four legs good, two legs bad, three legs stable.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Such is still alive on ASIC though the FPGA version has advantages.

MyMENSCH, Mymensch, Max10, FPGA, IoT, W65Cx65MMC (Western Design Center)

 

edit :

IIRC, Z80 doesn't have a zero price C toolchain though 6502 does.

6502,65C02,65C816,Tools,WDCTools,Download

 

 

"Dare to be naïve." - Buckminster Fuller

Last Edited: Tue. Aug 13, 2019 - 11:02 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

There are free C compilers for cp/m.

(In that case I would probably use a turbo pascal, as I remember it was given free a while back  )

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

For me I ordered the STK500 and was quite pleased to figure out how to get it to blink!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

For me I ordered the STK500 and was quite pleased to figure out how to get it to blink!

 

Blink, or blink backwards...  (inverse logic).

 

 

I get it, its really a nice design, and the LED intensity is independent of the uC's operating voltage.

 

But still, my brain works best with NPN transistors and true, (non-inverted), logic.

 

JC 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Right you are JC - I remember scratching my head at off to turn on early on!!!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

We knew that you weren't from Dover 'cause every child there picks up a piece of chalk from the white cliffs on their way to school.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

DocJC wrote:

But still, my brain works best with NPN transistors and true, (non-inverted), logic.

JC 

 

The old OTP programmable logic chips had (they still have, I just don't use them much anymore...) the odd detail that they could drive harder (sink more current) low than they could drive (source) high.  So for signals in noisy environments or lots of fan-out, active-low logic was preferable.  I guess that warped my brain the other way.  I like inversion.  S.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Scroungre wrote:
The old OTP programmable logic chips had (they still have, I just don't use them much anymore...) the odd detail that they could drive harder (sink more current) low than they could drive (source) high.  So for signals in noisy environments or lots of fan-out, active-low logic was preferable. 

Yes, a holdover from the RTL / TTL days.  We would never have thought to drive an LED or small relay with a high output.  The world became a better place when high-current CMOS output stages arrived.

 

BTW, and apropos of nothing, the entire Apollo guidance computer was built of RTL 3-input NOR gates.  1 gate to a package originally, later 2 gates to a package.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

kk6gm wrote:
... Yes, a holdover from the RTL / TTL days.  We would never have thought to drive an LED or small relay with a high output.  The world became a better place when high-current CMOS output stages arrived....

Not to mention the original (low-current) metal gate CMOS. After using that, I knew the days of Toasty Top Logic were numbered.

 

These days, 4000-series CMOS does just fine directly driving LEDs, which have gotten much more efficient. It is hard to believe that 50 years after introduction, it is still being used for new designs.

- John

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

These days, 4000-series CMOS does just fine directly driving LEDs, which have gotten much more efficient. It is hard to believe that 50 years after introduction, it is still being used for new designs.

That old metal gate CMOS has really really super low quiescent current (like 10 nA & 0.000001 uA pin input current)...at least at room temperature.  I think most other families were magnitudes higher.  you could also run 'e,m from a 9V battery.

You can also bias some of them to use as linear amplifiers!  In fact somewhere I have a databook (appbook) for that purpose. 

When in the dark remember-the future looks brighter than ever.   I look forward to being able to predict the future!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

And you only had to look at them, and they was killed of static :(

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

avrcandies wrote:
You can also bias some of them to use as linear amplifiers!  In fact somewhere I have a databook (appbook) for that purpose. 

 

Here are the archived appnotes from former Fairchild Semi:

https://web.archive.org/web/2015...

 

The most interesting are the older ones with 2 or 3 appnote digits. In this particular case, AN-88.

 

Last Edited: Sat. Aug 17, 2019 - 10:32 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

sparrow2 wrote:

And you only had to look at them, and they was killed of static :(

On that basis I have to say I must be the luckiest person on the planet. I have NEVER lost a single 4000 series chip handling/soldering thousands of them by hand. I guess YMMV.

Ross McKenzie ValuSoft Melbourne Australia

Pages