(computer archaeology) The fun Years before Arduino!!! ... 22 years later - Page 1
Forum section: electronics / general

author: legacy
author_rank: Super Contributor
timestamp: November 28, 2018, 06:41:15 pm
content: Look at this board! Doesn't it look familiar? These strip-headers with labels ... analog channels, digital I/O, a serial line to upload the code ... hey? it looks similar to our Arduino-board!!! Like an A2009 at least!But no, the chip is not Atmel-avr8. It's not a RISC, it doesn't have many registers. Just a couple. It's a stack machine! And the board was made in 1996 by MIT, rebranded into a commercial product in 2000, and it comes with a unique interactive C compiler called "IC"!It runs on the host, it compiles and dynamically downloads the code (at 9600bps, not a great deal, but hey? this is how the hardware goes in a 38 years old chip), providing a great experience to the user!WOW! It took me 22 letters to Santa (1 letter per year) before he decided to let me find one ... and not exactly under the Xmas tree, and not exactly for Xmas (got yesterday).But hey? We made progress!IC, the Interactive C, really looks very very interesting, neat, and nice! I will probably "copy" it for a modern--something-crazy-project.

author: Nominal Animal
author_rank: Super Contributor
timestamp: November 28, 2018, 07:02:11 pm
content: It isthe Handy Board, right?

author: martinayotte
author_rank: Regular Contributor
timestamp: November 28, 2018, 07:04:42 pm
content: Right !I've personally did several designs using MC68HC11, it was a pretty cool chip at that time...

author: chris_leyson
author_rank: Super Contributor
timestamp: November 28, 2018, 07:24:04 pm
content: NiceFirst processor I ever programmed was a 6800 followed by buying a second hand UK101 6502 machine. 6800 had a lot going for it at the time, 16-bit index and stack pointer rather than 8-bit on the 6502. I like the interactive compiler feature

author: legacy
author_rank: Super Contributor
timestamp: November 28, 2018, 07:29:14 pm
content: Quote from: Nominal Animal on November 28, 2018, 07:02:11 pmYup, the 1996 version

author: Nominal Animal
author_rank: Super Contributor
timestamp: November 28, 2018, 08:48:26 pm
content: These stack-based ones (68HC11 having a 16-bit stack pointer, program counter, and two index registers, and one 8-bit register pair that can act as a single 16-bit registers) are very straightforward and robust designs. I like them. Many people forget that PostScript (and PDF, which is based on PostScript) is in fact a rather simple stack-based programming language. Just shows how useful and powerful even a simple implementation can be, IMO.

author: eugenenine
author_rank: Frequent Contributor
timestamp: November 28, 2018, 08:55:26 pm
content: I used to have a couple 68hc11's around here, maybe someday I'll find them. We moved in 2007 and I still have stuff boxed up in the crawlspace I haven't gotten to.

author: Nominal Animal
author_rank: Super Contributor
timestamp: November 28, 2018, 09:34:30 pm
content: Quote from: legacy on November 28, 2018, 09:03:45 pmRequires JavaScript to be enabled and two redirects just to show the main page, then the interesting information is limited to a small box in the center.I'm out.

author: richardman
author_rank: Frequent Contributor
timestamp: November 28, 2018, 10:41:44 pm
content: We sold our original $50 ICC11 C compiler to a number of Miniboard and Handy Boards users, including to Fred Martin, the board designer!!

author: legacy
author_rank: Super Contributor
timestamp: November 28, 2018, 11:09:49 pm
content: Quote from: richardman on November 28, 2018, 10:41:44 pmGot my copy on a second-hand laptop. It's v6.5 (I have already made a backup of the whole harddrive).We are supporting gcc-v3.4.6 for { Linux/HPPA2, Linux/PowerPC-74xx, Linux/MIPS32R2-BE }.Off course, ICC is 10 times better, neater and faster, than this old version of gcc, but the gcc support was dropped with the last 3.4.6.edit:I have seen an article on Dr.Dobbs, talking about a hypothetical version of "Small C" for H11 (academic, I guess). Never seen. Have you heard anything about? (where to find, read, etc..)

author: eugenenine
author_rank: Frequent Contributor
timestamp: November 29, 2018, 01:50:01 am
content: I kind of remember a small-c compiler, MIT maybe?

author: richardman
author_rank: Frequent Contributor
timestamp: November 29, 2018, 02:03:03 am
content: Yes, there was a version (or two) of "Small C" for HC11. Small C was quite far from C89/C90, and really not much to write home about. It was written when DOS with 64K (or really 32K or less) of memory was HUGGGGGE. It was not from MIT, but based on the original Small C listed on Dr. Dobbs.

author: eugenenine
author_rank: Frequent Contributor
timestamp: November 29, 2018, 12:37:29 pm
content: ok, maybe it was just MIT using Small C at the time. I remember they had a class where people built lego robots using a 68HC11 board, 6.270 was the class # IIRC as that search term I typed into Gopher a lot back then when i was looking for HC11 stuff.

author: newbrain
author_rank: Super Contributor
timestamp: November 29, 2018, 10:11:16 pm
content: 68HC11 you say?Hand soldered wirewrap wire.On the left, PS/2 keyboard and LCD (T6963) ports, on the right RS232 - the real thing, as the MAX232 was needed also for the negative LCD bias voltage!One flash for code, the other one used as a poor (young) man CPLD. MAX701 reset controller courtesy of Maxim (sample).Of course, none of this C stuff...self written Forth (90% ANSI compliant), full screen editor and a minimal monitor.

author: legacy
author_rank: Super Contributor
timestamp: November 29, 2018, 10:59:44 pm
content: Quote from: newbrain on November 29, 2018, 10:11:16 pmtell me more about this.how does it work?sort of "VI" ?

author: newbrain
author_rank: Super Contributor
timestamp: November 29, 2018, 11:50:56 pm
content: Quote from: legacy on November 29, 2018, 10:59:44 pmReally? VI?After all my Emacs/Code cheerleading?No, you have to look at my nickname.I copied straight the editor of theNewBrain, the "almost BBC-micro".It was a really simple thing, but still much better than the confusing Apple II way of editing the screen or the C64 one.Free screen movement (no modes!), insert/overstrike, multiline, insertion and deletion of lines, the screen was a window on a virtual 40x25 screen.I think I also added a minimal line based copy paste.The basic editor functions are in Appendix 3 of theNewBrain Handbook.Mind you, there's was no file system, I used the RS232 and a terminal program on a PC to store and retrieve Forth "Blocks" (you don't want to know).Unfortunately, that board is now a bit flaky, as is the display, I'm out of PS/2 KBs and can't find the code in any formI could try reading it back from the flash and disassembling it (it was all hand-written assembler...)...but I already have too many MCUs and too little time!

author: joeqsmith
author_rank: Super Contributor
timestamp: November 30, 2018, 12:13:36 am
content: I think I was using the Introl compiler with the 6811. I built a lot of projects around the 00,01 and 11. Dabbled with the 16. This was the last thing I ever made using the 6811. I'm not sure if I should be proud or not to say I wrote that stack in assembler.https://youtu.be/l0GiC-dw9W8?list=PLZSS2ajxhiQA9yWh-hvVtv2ib-3ObOHGV

author: westfw
author_rank: Super Contributor
timestamp: November 30, 2018, 03:28:49 am
content: Iirc, “full screen” editors for Forth were pretty common and trivial, mostly because Forth’s idea of “files” (“screens”) was so primitive...

author: chickenHeadKnob
author_rank: Super Contributor
timestamp: November 30, 2018, 04:15:05 am
content: There was one board (SBC) that looked very similar to Legacy's Handy board that came out around 1990 that was based on the NEC v25, and also came with a FORTH in ROM.I forget the name, it may have been from New Micros, they were the FORTH people weren't they?I was going to buy one for a home project at that time. I did day job work on some custom embedded systems with the V25 and came to love the chip. For those that don't know the V25 was a x86 core with an 8 bit external bus and some simple on chip peripherals. My initial trepidation over x86 segmented architecture disappeared as I became more proficient coding for it. Definitely a step up in power over the 8 bit micros available then including the 68hc11. I know dyed-in-the wool true FORTHers like their 6809 or 6811 boards but development in FORTH or C or assembler on v25 was extremely pleasant.

author: richardman
author_rank: Frequent Contributor
timestamp: November 30, 2018, 05:01:29 am
content: Quote from: eugenenine on November 29, 2018, 12:37:29 pmThat's the Miniboard and Handy board as referenced in the OP! Fred Martin's colleague (sorry, forgot his name at the moment) wrote the C interpreter, which sits in the EEPROM. You compile the C code and download the byte code to the board, which is much faster than burning EEPROM.I still have the 6.270 manual, ha ha.

author: legacy
author_rank: Super Contributor
timestamp: November 30, 2018, 09:46:55 am
content: Quote from: newbrain on November 29, 2018, 11:50:56 pmhumor

author: legacy
author_rank: Super Contributor
timestamp: November 30, 2018, 09:52:35 am
content: Well, I haven't yet told you that ... my editor is very very complex.It's written around a vt100-core so you can interface it to a vt100 emulator (minicom, or something, including physical vt220 terminals like my DIGITAL) and supports all the features you see in thenanoeditor (except it's not ncurses-based)Code:app-editors/nano GNU GPL'd Pico clone with more functionalitybut it's written in C, it uses a library to support b+tree for indexing stuff, among other modern-like features (like search & replace) which I doubt it will ever fit the ROM's size for something that makes sense. It's really too big, compiled for 68k it takes 200Kbyte of ROM, and 300Kbyte of ram.Cannot be used on 68hc11, it definitively needs to go on the MIPS Atlas board, which has 32Mbyte of DRAM, 8Mbyte of ROM, or to the 68000-board at least, which has 8Mbyte of DRAM, 128Kbyte of static RAM, and 2Mbyte of ROM.Bigger machines, with 32bit address space, and ... a lot of ROM and RAMDoing tiny-stuff is, ironically, more complex for me since it needs to be distilled in order to reduce the final size.Anyway, I have recently integrated BUFFALO with a BASIC interpreter, and the resulting ROM is 32Kbyte. This way you bootstrap BUFFALO, then you can "jump" into the BASIC interpreter. You just need to type "BA" + ENTER on the prompt!These two also share a piece of RAM which has been reserved so you can "pass" some environment from BUFFALO to BASIC. Maybe it's useful. Maybe not. Mumble, for now, it just sounds coolAnyway, it's a reserved slice of RAM (of 512 bytes) where none of two write anything during the bootstrap.But yesterday night I had a better, neater, and simpler idea: a ROM bank selecting by a bigger UVPROM where it's higher address A16 and A15 pins are pull-up-ed to resistors and connected to a dipswitch so you can select what you want to bootstrapCode:BIG ROM (128Kbyte)A16 A15 A14..A0 content-------------------------0 0 xxxxxxx BUFFALO0 1 xxxxxxx NOICE111 0 xxxxxxx BASIC111 1 xxxxxxx IC11_GOBUFFALO is a classicNO-ICE11 would be interesting and usefulBASIC11, just nostalgia, but cool!IC11_GO, so you can use the Interactive Ceach bank must be of 32Kbyte, the resulting UVROM is 4x32Kbyte = 128Kbyte.Not too badthe HB-board doesn't use any UVROM, it uses a Static RAM + battery, but the above trick can be applied also the same way

author: brucehoult
author_rank: Super Contributor
timestamp: November 30, 2018, 03:51:59 pm
content: Quote from: chris_leyson on November 28, 2018, 07:24:04 pmSure, if you could get them for the same price then you'd probably prefer the 6800. But the 6502 was introduced at $25 when the 6800 was $175!

author: SiliconWizard
author_rank: Super Contributor
timestamp: November 30, 2018, 05:32:39 pm
content: Quote from: newbrain on November 29, 2018, 11:50:56 pmI remember this little computer - was a kid back then. It felt very different from any other home computer at the time (except the typical case and atrocious keyboard). The promise of 2MB RAM expandability was mind boggling at the time and all in all seemed like a weird cross between something relatively high-performance and a toy.Memories!

author: newbrain
author_rank: Super Contributor
timestamp: December 01, 2018, 12:26:31 pm
content: Quote from: SiliconWizard on November 30, 2018, 05:32:39 pmThis.A trip down memory (and I/O!) lane :"JIT" byte compiled BASIC: First (interpreted) pass (e.g. in a loop) was on par with the current competitors, following ones much faster.Full screen editorStream model (à la /dev/) for every peripheral, from serial to graphics screen: open (with some "ioctl"), read, write, close.It was possible to open multiple screen streams at the same time, with more rows than the physical screen.Full Z80 bus available on the back 0.1" connector.And, as streams could be easily extended (a function table per stream type), my Centronics interface, DAC/ADC, and EPROM burner worked seamlessly from BASIC.No peek or poke bullshit needed, once the base drivers were burned in an extra EPROM!Two RS232 ports.Part (most?) of I/O was delegated to a secondary processor, aCOPIIRC.640x200 graphics, 80 columns text: more than what C64 or Aplle IIE were offering at the time. Only B/W though.Floats, and in general maths, were higher precision than Aplle's one: same Runge Kutta SW always converged flawlessly on the NewBrain and went wild on Apple...Graphics primitive to draw ticked and scaled axis!Incredible support: my first one caught fire*, and they sent me a new one (in Italy) for just shipping fees!So, though the HW was not overwhelming (32KB RAM, black and white, no sound) it was very expandable, with a soundly designed SW.A small story: I had toliterallybeg to get one:I bought it while in London for a language study holiday.It was not cheap, so I had spared exactly what I needed, leaving me with just enough money for the tube to Heathrow (yes, young and foolish...).What I did not take into account was the 1£ higher ticket price during week days.Only way to get home was asking for money to random strangers...*Not its fault. I used an old tube TV with the RF stage removed as a monitor and something went very wrong inside it. But I honestly described what had happened when sending it back to Grundy! They collapsed shortly after...