First micro or computing experiences
First micro or computing experiences
Elsewhere we saw a mention of the 6809 as a creditable microprocessor, with some thoughts about why 6502 still has an active set of followers. I wondered which CPU or micro people here first bonded with - so here's a poll!
Let's hear your stories too, as to what first caught your eye, what you first got your hands on, what you first owned and what you upgraded to. When did you first get into machine code, if you did.
Let's hear your stories too, as to what first caught your eye, what you first got your hands on, what you first owned and what you upgraded to. When did you first get into machine code, if you did.
Re: First micro or computing experiences
The TI TMS9900, 16-bits-chip 3.3 MHz on the TI-99/4A. But absolutely no bonding as there was no way to program it in ML. I programmed it in Extended BASIC which was nice but terribly SSSLLLOOOWWW.
With the C64 I had my first intimate relationship
so it was the 6510 similar to 6502.
Second love C128, not much to say, it was just more of everything.
Third, midlife-crises-love, the VIC-20. Absolutely gorgeous! Although complex enough, it’s the first computer I fairly understood on a hardware level.
I would love a project to get a 6502, 6560, 2 x 6522, an EPROM and some SRAM and do the glue logic with a CPLD. And see if I could get it alive.
Last week I discovered that SB2OS is based on the Apple IIe build-in system monitor. So I discovered the totally ignored by me 6502 based Apple IIe. I found some books (and a nice emulator) where the monitor is well described, something that’s not available for the C64!
So on my MARC-2 with the 65816, I’ll be cheating on the 6502
With the C64 I had my first intimate relationship
Second love C128, not much to say, it was just more of everything.
Third, midlife-crises-love, the VIC-20. Absolutely gorgeous! Although complex enough, it’s the first computer I fairly understood on a hardware level.
I would love a project to get a 6502, 6560, 2 x 6522, an EPROM and some SRAM and do the glue logic with a CPLD. And see if I could get it alive.
Last week I discovered that SB2OS is based on the Apple IIe build-in system monitor. So I discovered the totally ignored by me 6502 based Apple IIe. I found some books (and a nice emulator) where the monitor is well described, something that’s not available for the C64!
So on my MARC-2 with the 65816, I’ll be cheating on the 6502
Marco
- BigDumbDinosaur
- Posts: 9425
- Joined: 28 May 2009
- Location: Midwestern USA (JB Pritzker’s dystopia)
- Contact:
Re: First micro or computing experiences
My first interaction with a microprocessor was actually in a locomotive event recorder that used the Z80. However, whilst that recorder was still in prototyping, the much cheaper 6502 became available, the engineering duo working on the project prototyped a 6502-powered unit and I got involved writing the firmware for it. We ended up going into production with the 6502 unit and I never looked at the Z80 again. 
x86? We ain't got no x86. We don't NEED no stinking x86!
Re: First micro or computing experiences
Like many programmers of my generation, I grew up with a C=64 in the house. They weren't the greatest machines in the world, but they were VERY accessible. You could buy them in practically any store (mine came from K-mart) and for far cheaper than you could touch an Apple, IBM, or CP/M box.
I never did a lot of assembly language programming on it. It was just too hard (or so I thought). You had to keep track of addresses by hand, inserting lines was a royal pain, and the first time your program blew chunks you would lose it all. After 4 years someone finally explained to me what an assembler was and showed me how to use PAL. Things got a LOT easier then, but by that time my interests had moved to Pascal and C which were better suited by a 16-bit machine.
We didn't have the internet back then, so access to knowledgeable mentors was really important. There was a kid in the next town over, slightly older than me, who helped me out quite a bit. You might know him from here: http://www.ffd2.com/fridge/chacking/c=hacking1.txt
I never did a lot of assembly language programming on it. It was just too hard (or so I thought). You had to keep track of addresses by hand, inserting lines was a royal pain, and the first time your program blew chunks you would lose it all. After 4 years someone finally explained to me what an assembler was and showed me how to use PAL. Things got a LOT easier then, but by that time my interests had moved to Pascal and C which were better suited by a 16-bit machine.
We didn't have the internet back then, so access to knowledgeable mentors was really important. There was a kid in the next town over, slightly older than me, who helped me out quite a bit. You might know him from here: http://www.ffd2.com/fridge/chacking/c=hacking1.txt
Re: First micro or computing experiences
i got in touch with an apple ii in a local event show and my life changed: i discovered that computer are quite different from the central brain use by Spock on Enterprise, no talk and no universal answers.
After the shock, i realized that these kind of machine are a way to express my creativity, so i started to save money and reading the few newspaper that i found around.
Honestly i dreamed on Zx80, but after some years writing software on Pet for few money, my daddy gift me a Vic20.
It's about 40 years that i write software, still no Enterprise hardware around, but Siri is a lovely start
After the shock, i realized that these kind of machine are a way to express my creativity, so i started to save money and reading the few newspaper that i found around.
Honestly i dreamed on Zx80, but after some years writing software on Pet for few money, my daddy gift me a Vic20.
It's about 40 years that i write software, still no Enterprise hardware around, but Siri is a lovely start
Re: First micro or computing experiences
KIM-1 for me!
I remember doing the noob thing, keying in a short machine-language program from the excellent manuals by Chuck Peddle. It added together two 8-bit values held in zero-page and stored the result back in zero-page. The program worked -- behaved as the manual said it should -- but it was a struggle for me to grasp what had occurred.
That's because I had no previous computer background, and elementary concepts such as "address" were new to me.
This was also a time when I was teaching myself about gates, flipflops and so on. The KIM-1 became my canvas! I boosted the RAM from 1K to 5K to 9K, and added a pair of VIA's and a Cheap Video display a la Don Lancaster. The VIA's let me talk to an ASCII keyboard, a paper-tape reader (!) and other delights such as a homebrew programmer for 2716 EPROMs (2 Kbyte capacity)! What a triumph it was to achieve non-volatile storage
-- other than audio cassette, I mean.
And the video display + ascii keyboard opened the door to FIG Forth -- the object-code for which I had keyed in by hand and stored on cassette (later replaced by a homebrew floppy system).
The poor KIM-1 endured a long series of hacks perpetrated by a beginner, and its appearance became more and more... unconventional!
The crowning touch came a while later : a 128K DRAM board which I purchased on the surplus market. Yes, 128K bytes! -- I could scarcely believe it.
To manage this un-dreamt-of expanse, I invented a Don Lancaster-esque scheme that recognized undefined NOP's as prefix instructions. The scheme gave them a time-bomb effect which toggled the state of a newly-minted A16 output, typically just as the CPU reached the data access cycle(s) of the instruction following the prefix. The pre-toggle delay (which you'd specify by selecting among the various NOP instructions) was variable to accommodate faster and slower address modes such as Absolute and (indirect),Y. Typically A16 would invert back to its original state after one cycle, but you could also specify 3 cycles if you wanted to do a Read-Modify-Write. Or, if you intended to JMP, JSR or RTS, there were patterns that didn't return A16 to its original state. The essence of the prefix logic was pretty simple -- just a shift register that'd get loaded with a pattern from a 32-byte lookup ROM. The bits got trotted out of the shift reg at a rate of one per cycle, and every "1" cued an inversion of A16.
Almost by accident, I had begun expanding the 6502 instruction set. I knew those same ideas could be developed further, but the KIM-1 "canvas" was filled to overflowing. I needed a fresh start -- a new computer.
I dubbed the new machine Kim Klone because I liked the corny name and because the new machine and its predecessor both expand the 65xx envelope. But, to avoid implying a broader similarity to the KIM-1, nowadays I just use the moniker "KK Computer."
-- Jeff
I remember doing the noob thing, keying in a short machine-language program from the excellent manuals by Chuck Peddle. It added together two 8-bit values held in zero-page and stored the result back in zero-page. The program worked -- behaved as the manual said it should -- but it was a struggle for me to grasp what had occurred.
This was also a time when I was teaching myself about gates, flipflops and so on. The KIM-1 became my canvas! I boosted the RAM from 1K to 5K to 9K, and added a pair of VIA's and a Cheap Video display a la Don Lancaster. The VIA's let me talk to an ASCII keyboard, a paper-tape reader (!) and other delights such as a homebrew programmer for 2716 EPROMs (2 Kbyte capacity)! What a triumph it was to achieve non-volatile storage
The poor KIM-1 endured a long series of hacks perpetrated by a beginner, and its appearance became more and more... unconventional!
To manage this un-dreamt-of expanse, I invented a Don Lancaster-esque scheme that recognized undefined NOP's as prefix instructions. The scheme gave them a time-bomb effect which toggled the state of a newly-minted A16 output, typically just as the CPU reached the data access cycle(s) of the instruction following the prefix. The pre-toggle delay (which you'd specify by selecting among the various NOP instructions) was variable to accommodate faster and slower address modes such as Absolute and (indirect),Y. Typically A16 would invert back to its original state after one cycle, but you could also specify 3 cycles if you wanted to do a Read-Modify-Write. Or, if you intended to JMP, JSR or RTS, there were patterns that didn't return A16 to its original state. The essence of the prefix logic was pretty simple -- just a shift register that'd get loaded with a pattern from a 32-byte lookup ROM. The bits got trotted out of the shift reg at a rate of one per cycle, and every "1" cued an inversion of A16.
Almost by accident, I had begun expanding the 6502 instruction set. I knew those same ideas could be developed further, but the KIM-1 "canvas" was filled to overflowing. I needed a fresh start -- a new computer.
I dubbed the new machine Kim Klone because I liked the corny name and because the new machine and its predecessor both expand the 65xx envelope. But, to avoid implying a broader similarity to the KIM-1, nowadays I just use the moniker "KK Computer."
-- Jeff
Last edited by Dr Jefyll on Sun Jun 19, 2016 3:16 am, edited 2 times in total.
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html
https://laughtonelectronics.com/Arcana/ ... mmary.html
-
clockpulse
- Posts: 87
- Joined: 20 Oct 2012
- Location: San Diego
Re: First micro or computing experiences
My first Computer was a TRS-80 so I played around with Basic and z80 assembly programming. But within a few years I ended up with an Apple ][ + and moved on to programming in 6502 assembly. For me it just seemed easier and quicker to think like a 6502.
-
White Flame
- Posts: 704
- Joined: 24 Jul 2012
Re: First micro or computing experiences
ptorric wrote:
i got in touch with an apple ii in a local event show and my life changed: i discovered that computer are quite different from the central brain use by Spock on Enterprise, no talk and no universal answers.
So I was 6 or 7 years old, and we got a VIC-20. Before actually learning what was what, I started typing in all the sample programs from the user's manual, and saw the REM statements stating what the program was doing. Sure, there was all this complex gobbledegook inbetween, but I had no clue what that was for. Thinking I understood enough about what was going on, my first attempt at writing a game in BASIC was a list of 4 or 5 lines of REM statements, roughly describing how the screen should be drawn and what the player should do. Naturally, it didn't do anything when RUN. I learned better after that.
Re: First micro or computing experiences
The first 8-bit microcomputer I got my hands on (bought it as a kit) was a Z80 Nascom-1. But before I got around to actually use it a new schoolyear started, and the microprocessor lessons were based on AIM-65 which the school had lots of. Somehow they had managed to get a batch of them the same year they came on the market. I started out with the R6500 manuals by Rockwell and later bought "Programming the 6502" by Zaks which I still think is a great book.
Later when I had finished school and military service and got a job one of the first things I was set to do was to write software for a programmed-tracking satellite antenna. That was done on an Apple II clone, and I wrote the code mainly in 6502 assembly but also a bit of UCSD Pascal IIRC. There were other 6502-based projects later. I also came back to the Z80 around that time, some years after my Nascom-1. That was all via CP/M.
-Tor
Later when I had finished school and military service and got a job one of the first things I was set to do was to write software for a programmed-tracking satellite antenna. That was done on an Apple II clone, and I wrote the code mainly in 6502 assembly but also a bit of UCSD Pascal IIRC. There were other 6502-based projects later. I also came back to the Z80 around that time, some years after my Nascom-1. That was all via CP/M.
-Tor
Last edited by Tor on Wed Jun 04, 2014 5:19 pm, edited 1 time in total.
- BigDumbDinosaur
- Posts: 9425
- Joined: 28 May 2009
- Location: Midwestern USA (JB Pritzker’s dystopia)
- Contact:
Re: First micro or computing experiences
Justin wrote:
Like many programmers of my generation, I grew up with a C=64 in the house...We didn't have the internet back then, so access to knowledgeable mentors was really important.
x86? We ain't got no x86. We don't NEED no stinking x86!
Re: First micro or computing experiences
For me it is (and still is!) the KIM-1.
I still have it, it does work and is original.
Expanded with 32KRAM, serial and parallel I/O, two cassette recorders, 2 MDCR recorders. a Heathkit H14 printer and a selfbuilt 32x20 b/w ascii video display. Published many articles about the KIM-1 in the dutch magazine Radio Bulletin
http://retro.hansotten.nl/index.php?page=radiobulletin.
I sold the other KIMs (still one to go) but will always keep this one!
I still have it, it does work and is original.
Expanded with 32KRAM, serial and parallel I/O, two cassette recorders, 2 MDCR recorders. a Heathkit H14 printer and a selfbuilt 32x20 b/w ascii video display. Published many articles about the KIM-1 in the dutch magazine Radio Bulletin
http://retro.hansotten.nl/index.php?page=radiobulletin.
I sold the other KIMs (still one to go) but will always keep this one!
6502.org wrote:
Image no longer available: http://www.hansotten.com/uploads/kim1/kim1.jpg
6502.org wrote:
Image no longer available: http://www.hansotten.com/uploads/kim1/kim2.jpg
6502.org wrote:
Image no longer available: http://www.hansotten.com/uploads/kim1/kim3.jpg
6502.org wrote:
Image no longer available: http://www.hansotten.com/uploads/kim1/kim4.jpg
6502.org wrote:
Image no longer available: http://www.hansotten.com/uploads/kim1/kim5.jpg
6502.org wrote:
Image no longer available: http://www.hansotten.com/uploads/kim1/kim6.jpg
6502.org wrote:
Image no longer available: http://www.hansotten.com/uploads/kim1/kim7.jpg
6502.org wrote:
Image no longer available: http://www.hansotten.com/uploads/kim1/kim8.jpg
6502.org wrote:
Image no longer available: http://www.hansotten.com/uploads/kim1/kim9.jpg
- GARTHWILSON
- Forum Moderator
- Posts: 8773
- Joined: 30 Aug 2002
- Location: Southern California
- Contact:
Re: First micro or computing experiences
HansO, your pictures are impressive! What do all those many boards do? And was there really a need for the huge heat sinks with the TO-3's mounted on them?
I never did bond with a commercial microcomputer, particularly at the level of assembly or machine language or of interfacing to its hardware. My early interest in electronics (1970's) was in stereo & recording (there's a picture of the inside one of one piece of equipment I made as a teenager here) and amateur radio, not computers. My computer interest began later and mildly when I wanted to do audio and RF circuit calculations that took thousands of iterations. I got a TI-58c programmable calculator in Dec '81, and later a TI-59.
Although its printer was alpha-capable, the calculator's own display only did 7-segment decimal digits. As you entered or edited a program, the display showed a 3-digit program step number (like the address in user program memory) followed by two digits for instruction or operand, in this form:
Instructions were coded by their row and column on the keyboard, and since I programmed it a lot, the numerical keycodes quickly became second-nature, and I wrote programs on paper this way before keying them in. (The 42 above is STOre X, and the following byte would tell where to store it.) There were several kinds of operands, one being data registers, ie, RAM variables which only had a number and never a name.
Since it was so much like machine language, it was natural to slide right into the idea of a 4-digit hex address and 2-digit hex op code or operand byte like the 6502 uses. TI-58/59 GoTOs and SuBRoutine calls were to absolute addresses, if you wanted the fastest execution. You could use labels (limited to key names), but the label searches during program execution really slowed things down (since they were not compiled), even though it did fix the problem of having to adjust a lot of jump addresses if you insert or delete a program step like Justin was talking about above.
The next year, my schooling took me through a 6502 class with the AIM 65 computer. I can't claim any real familiarity with the AIM-65, but we were required to buy the Rockwell books Tor mentions. Our practice programs were entered the way we were told, but we weren't really taught to be computer users.
I worked as a repair tech at TEAC in Southern California in '82-83. By then some of the tape recorders I worked on had microcontrollers (with bugs). I could definitely see the possibilities of microcontrollers, but development was still mostly out of the reach of hobbyists.
Starting in the late 1980's I heavily used the HP-41cx and HP-71 handheld computers which I got particularly for their ability to control and take data from many lab instruments at once; but although I have the assemblers for both, I never took the time to learn their very strange processors, the Nut and the Saturn.
In the mid 1980's I got a Timex Sinclair ZX-81 with a Z80, but it proved to be mostly a worthless toy, unfit for any serious work. (This is not a reflection on the Z80, but rather that computer power depends on a lot of things besides just the processor.) https://www.youtube.com/watch?v=zPLBcmwLGHM&t=470s
From 1984 to 1992, I drooled over the gobs of wonderful IEEE-488 test equipment in the Hewlett-Packard (now Agilent) catalog that came out every year. I used such equipment at work, but I couldn't afford my own; but it didn't take a genius to see the possibilities with making my own computer and rigging up inexpensive substitutes with A/D and D/A converter ICs, relay outputs, etc., with faster control of individual I/O lines than I could get with my HP handhelds, and I was dreaming of something like my current workbench computer. Armed with the basics of 6502 hardware I had absorbed in the 1982 class, I ordered parts from Jameco and made a computer for the first time, in 1985. It worked at first power-up. That first one wasn't much good for anything, but I was hopelessly launched into 6502 fanaticism. Several more home-made computers followed, and I learned from each one.
I never did bond with a commercial microcomputer, particularly at the level of assembly or machine language or of interfacing to its hardware. My early interest in electronics (1970's) was in stereo & recording (there's a picture of the inside one of one piece of equipment I made as a teenager here) and amateur radio, not computers. My computer interest began later and mildly when I wanted to do audio and RF circuit calculations that took thousands of iterations. I got a TI-58c programmable calculator in Dec '81, and later a TI-59.
Although its printer was alpha-capable, the calculator's own display only did 7-segment decimal digits. As you entered or edited a program, the display showed a 3-digit program step number (like the address in user program memory) followed by two digits for instruction or operand, in this form:
Code: Select all
349 42Instructions were coded by their row and column on the keyboard, and since I programmed it a lot, the numerical keycodes quickly became second-nature, and I wrote programs on paper this way before keying them in. (The 42 above is STOre X, and the following byte would tell where to store it.) There were several kinds of operands, one being data registers, ie, RAM variables which only had a number and never a name.
Since it was so much like machine language, it was natural to slide right into the idea of a 4-digit hex address and 2-digit hex op code or operand byte like the 6502 uses. TI-58/59 GoTOs and SuBRoutine calls were to absolute addresses, if you wanted the fastest execution. You could use labels (limited to key names), but the label searches during program execution really slowed things down (since they were not compiled), even though it did fix the problem of having to adjust a lot of jump addresses if you insert or delete a program step like Justin was talking about above.
The next year, my schooling took me through a 6502 class with the AIM 65 computer. I can't claim any real familiarity with the AIM-65, but we were required to buy the Rockwell books Tor mentions. Our practice programs were entered the way we were told, but we weren't really taught to be computer users.
I worked as a repair tech at TEAC in Southern California in '82-83. By then some of the tape recorders I worked on had microcontrollers (with bugs). I could definitely see the possibilities of microcontrollers, but development was still mostly out of the reach of hobbyists.
Starting in the late 1980's I heavily used the HP-41cx and HP-71 handheld computers which I got particularly for their ability to control and take data from many lab instruments at once; but although I have the assemblers for both, I never took the time to learn their very strange processors, the Nut and the Saturn.
In the mid 1980's I got a Timex Sinclair ZX-81 with a Z80, but it proved to be mostly a worthless toy, unfit for any serious work. (This is not a reflection on the Z80, but rather that computer power depends on a lot of things besides just the processor.) https://www.youtube.com/watch?v=zPLBcmwLGHM&t=470s
From 1984 to 1992, I drooled over the gobs of wonderful IEEE-488 test equipment in the Hewlett-Packard (now Agilent) catalog that came out every year. I used such equipment at work, but I couldn't afford my own; but it didn't take a genius to see the possibilities with making my own computer and rigging up inexpensive substitutes with A/D and D/A converter ICs, relay outputs, etc., with faster control of individual I/O lines than I could get with my HP handhelds, and I was dreaming of something like my current workbench computer. Armed with the basics of 6502 hardware I had absorbed in the 1982 class, I ordered parts from Jameco and made a computer for the first time, in 1985. It worked at first power-up. That first one wasn't much good for anything, but I was hopelessly launched into 6502 fanaticism. Several more home-made computers followed, and I learned from each one.
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
Re: First micro or computing experiences
GARTHWILSON wrote:
HansO, your pictures are impressive! What do all those many boards do? And was there really a need for the huge heat sinks with the TO-3's mounted on them?
The power sucked by those IC's is enormous (most ICs were not even LP versions) and the power supplies are simple lineair 7805 based, so lots of heat to loose. It worked well, the machine never got very hot.
It has two serial interfaces (6850) and two PIA/VIA boards, total of 4.
Re: First micro or computing experiences
The first computer I encountered was a small mini-computer at a local high-school about 1969/1970. I thought it was one of the coolest machines I'd ever seen. (I was about five).
The first computer I spent a lot of time at was a Commodore PET at high-school. The first computer I "owned" was a VIC20, the first computer I bought myself was an IBM clone. I first got into assembly language programming about 1980 trying to get better performance out of the PET. With the VIC20 I built my own 256k dynamic RAM expansion unit. It was bank switched with the VIC able to access 32k at a time.
The first computer I spent a lot of time at was a Commodore PET at high-school. The first computer I "owned" was a VIC20, the first computer I bought myself was an IBM clone. I first got into assembly language programming about 1980 trying to get better performance out of the PET. With the VIC20 I built my own 256k dynamic RAM expansion unit. It was bank switched with the VIC able to access 32k at a time.
Re: First micro or computing experiences
For me , I started on the Netronics ELF II at age 14. I soldered it up and was like a new Dad when I powered it up the first time. It only had 256 bytes of RAM, and a 256 byte ROM, but I spent hours entering hex opcoded into that thing and learning assembly programming. I had a cassette tape to save and restore programs.
I then moved up to an Apple II at school and played with BASIC and assembly. By my senior year, I was teaching our teacher assembly.
I purchase a C-64 and used it in college and took it with me when I went in the Air Force. It wasn't until 1989 that I bought my first PC clone.
I still have the 18xx chips from that ELF. Someday, I may rebuild it, just for kicks!
Daryl
I then moved up to an Apple II at school and played with BASIC and assembly. By my senior year, I was teaching our teacher assembly.
I purchase a C-64 and used it in college and took it with me when I went in the Air Force. It wasn't until 1989 that I bought my first PC clone.
I still have the 18xx chips from that ELF. Someday, I may rebuild it, just for kicks!
Daryl
Please visit my website -> https://sbc.rictor.org/