He is using the H-8-5 serial board to download H8T files to the machine. The nice thing about this approach is that the PAM8 ROM already knows how to read these files (it thinks it’s talking to either a cassette recorder or H10 paper tape reader). You can see how to do this manually by reading Dave Runkle’s writeup here
http://www.astrorat.com/heathkit/heathkith8computer.html (scroll down about half way). I used this approach at VCF to download demos that display messages on the front panel LEDs and to run “classic” programs like the Hangman demo he did in this video. If you combine this approach with a battery-backed RAM board you can download multiple programs (ORGed at different locations) and run them later at will. This is a very nice way to demonstrate an H8 that does not have any disk storage (but you do need the H-8-5 board!) I’ll put this on the list of articles to write up this winter!
The nice thing that he has done is wrap this with a little program on the Arduino. I have contacted him via his web site to see if he’d consider sharing that code…
--
You received this message because you are subscribed to the Google Groups "SEBHC" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sebhc+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sebhc/f7833b07-00b6-40e8-8fc1-45f6dffc6100n%40googlegroups.com.
He is just using the Arduino to upload files to the H8 thru the H8 cassette serial port. You can do the same with a laptop and a serial port utility to upload such files.
Glenn has done this and he can provide better guidance.
Norberto
From: se...@googlegroups.com <se...@googlegroups.com> On Behalf Of Thomas Riesen
Sent: Sunday, January 2, 2022 2:50 PM
To: SEBHC <se...@googlegroups.com>
Subject: [sebhc] Arduino interface to H8
Anybody knows more about the Arduinio interface mentioned in this video:
--
As far as I know Dave has not published a Gerber file for his little daughterboard solution (that enables serial download in place of cassette interface). It wouldn’t be too hard to recreate since he published the schematic. And if we did one now, we’d want to add some smarts, perhaps an Arduino as advertised in the recent video!
I have zero experience in this area, but it would be a fun way to learn. Not saying I’m ready to add it to my “to do” list right now though…
I gained new respect for the H-8-5 as a result of preparing for VCF. Previously I had passed the H-8-5 off as an inferior “dinosaur” of a serial board (the H-8-4 is newer, better, more powerful), but because the front panel software works seamlessly with the H-8-5 you can do a lot with a “plain jane” (no disk drives) H8 and just a laptop!
To view this discussion on the web visit https://groups.google.com/d/msgid/sebhc/6fc01b79-9479-43f7-9666-139fe759499fn%40googlegroups.com.
Thanks for the clarification. I will like to add to my H8 the H8-5 capability to download/upload H8T files via the 8251 on port 370Q. Using the H89 schematic, it should be easier to reproduce a simple board for the H8 as we just need a single 8251 to download into the H8 the H8T files.
As Jameco stills sells such component, it will be easier to reproduce a simple controller for the H8 system. I will add to my to-do-list.
Boards in development:
1. New H8 backplane - Priority 1. Found issue with CPU board headers when measured from front panel pins. Need to move them and re-do layout.
2. DUAL GIDE Controller - Layout Completed - Need to do final verification
3. Dual SD card controller with SPI/Network for CP/NET - Layout stills in progress.
4. H8 Sound Card + other interfaces (SSI) - Done - Need to finalized on documentation due to late changes.
5. H8 H17/HSFE/VDIP1/FT245R Single Floppy controller - Done. Waiting for FT245R board for placement.
6. H89 Serial/VDIP1/FT245R controller - Waiting for FT245R board for placement. Priority 1
7. H8 Z180 CPU with 1MB of RAM.
8. H8 Color graphics - Sync with Terry to download his learnings into pcb board.
9. Z67-SDC Controller - Board booting HDOS/CPM from SD cards but watchdog timer triggers at random, indicating lost of REQ/ACK signal for unknown reason, and system crashes. As it is a random timing issue is hard to debug and will required additional logic analyzers besides the SCSI logic analyzer.
10. H8-5-Cassete interface with 8251 RS-232.
11. H8-Extension board (TX and RX controllers) allows to expand the H8 bus into another H8 chassis.
Norberto’s H8-Computer Configuration when done.
P0 – New H8 backplane
P1 – Front Panel with backlight keypads
P2 - Z80 V4 CPU board
P3 – 512KB Memory board
P4 – Dual SD/Network (CPNET) controller (CP/M only)
P5 – Dual Gide Controller (CP/M only)
P6 – H8-5 Cassette for H8T files
P7 – SSI board – Sound card + Parallel Port other interfaces or Color graphics with sound card
P8 – H17/VDIP1/HSFE/FT245R Controller
P9 – H37/H67 Controller with Z67-SDC or Z67-IDE+ controller
P10 – Extension board.
Thanks,
Norberto
To view this discussion on the web visit https://groups.google.com/d/msgid/sebhc/cfa79b00-d72b-2d75-5e03-e6b22174baa3%40gmail.com.
Would be an interesting enhancement. Worth a discussion here on what the actual requirements are for such a board. for example, do we still need the audio circuitry (for Cassette interface) or go strictly digital? I suppose you could design for both and let the user decide which parts to install? If we need both do we do the Dave Runkle enhancement which lets you switch between digital and analog? And then there’s the idea of putting a microcontroller on the board (e.g. the recent video) to handle downloads more intelligently. And then which micro to choose, what software to write for it, etc.
p.s. I haven’t heard back from the guy about his Arduino software…
To view this discussion on the web visit https://groups.google.com/d/msgid/sebhc/012f01d80125%2465060260%242f120720%24%40koyado.com.
OK! On the H8-Cassette board, I will wait for group discussion/feedback as I see that you can still buy a new recorder/player in Amazon.
Thanks,
Norby
To view this discussion on the web visit https://groups.google.com/d/msgid/sebhc/008c01d8017b%24bf757220%243e605660%24%40gmail.com.
Norberto: I think I already built something pretty close to what you’re looking for. See attached. I did this as part of prep for VCF. Let me recompile this and make sure it still works. I can send you the executable. It converts an “H8T” executable into a “SYS” image (which is what the VV boot needs). I also have a utility to convert a .ABS to H8T, and I have a program to convert CP/M HEX to SYS, so we could assemble new programs and make SYS files to boot from the VDIP… the only requirement is that the code not call any OS-dependent routines. The H8 ROMs have pretty rich functionality so you can do quite a bit.
H8t format is documented here: https://drive.google.com/file/d/19czHVTO7dxL6bfS9dUVI-ILXpX3zxwxa/view?usp=sharing
Page 0-13…
I want to put *all* this kind of stuff out on GitHub and write it all up. Just have to find the time! …
To view this discussion on the web visit https://groups.google.com/d/msgid/sebhc/SN6PR01MB38556BAA87A254AC2CCCC509F74A9%40SN6PR01MB3855.prod.exchangelabs.com.
I guess two different solutions possible. Do a one-time
conversion of H8T files into SYS files, or provide a standalone
(SYS) program that reads H8T into memory. Both cases seem to
expect tape files that are "memory images", so other types would
not be usable with it.
To view this discussion on the web visit https://groups.google.com/d/msgid/sebhc/011001d801a2%242cc07610%2486416230%24%40gmail.com.
Unfortunately TEST17 and TEST37 are built on top of HDOS. They won’t run as stand alone programs.
To view this discussion on the web visit https://groups.google.com/d/msgid/sebhc/SN6PR01MB38552AC1158523C466A5FC07F74A9%40SN6PR01MB3855.prod.exchangelabs.com.
Well this would be a pretty ambitious undertaking for a newbie assembly programmer.
Sorry if this is a bit long winded but here’s my stream of consciousness…
The links on the page posted by Norberto will take you to programs that transmit files but they differ from what you want in two ways: 1) you have to have an operating system running on your Heath computer (e.g. HDOS, CP/M), and 2) they send files, they don’t load programs into RAM to be run. You have to transmit the file, then run it from the OS command prompt.
As we’ve been discussing, the H8’s ROM software includes a “LOAD” function (key 8 on the front panel) that triggers software to listen for incoming programs and loads them into memory. Furthermore, the LOAD function automatically sets the Program Counter to the appropriate starting address, so all you have to do to run the program is hit the “GO” button (button 4). But this software was written for the 8251 UART chip which is on the H-8-5 comm board. The H-8-4 uses the 8250 which has a significantly different interface. So it sounds like what you’re asking for is an equivalent capability for the H-8-4 (i.e. 8250). Heath would have done this, but the H-8-4 came out a few years later than the H-8-5, and was really marketed at disk-based systems. In fact most of the older code that is in H8T format (anything that does console I/O) won’t even run properly without an H-8-5 serial card.
So you could look at the PAM8 ROM listings and develop a similar assembly code, but for the 8250 UART. But then what? Once you assembled that and had a good machine code listing you’d have to key that in manually from the front panel. If you’re lucky it’ll be a short listing and you could key it in easily and run it and load and run programs. The programs would be transmitted in “H8T” format, which is the encoded format designed by Heath back when they developed the interface for cassette and paper tape loading. But you’d have to key your “loader” program in every time you wanted to use it, or modify the PAM8 ROM itself (now that would be interesting but quite a chore!). Also, your “loader” program would have to reside in high RAM since you’d want to load your programs in low RAM.
Any program designed to transmit binary files follows a protocol. The front panel/H-8-5 software transmits files in the H8T format, which is an exact image of the data that would have been read from a cassette tape player. The programs Norberto mentioned use protocols like Xmodem, Zmodem and Kermit to encapsulate the binary data. Whatever routine you would build would have to decide what transmission protocol to read. It would also be possible to modify one of the modem programs on Norberto’s web page, but that would be a huge effort because you’d have to remove any operating system calls and then modify the software to deposit the image in RAM rather than a file. Furthermore the resulting assembly program would almost certainly be too large to key in from the front panel.
So you ask “would it be possible…”? of course, it’s possible. But this seems like a high hurdle for anyone that’s starting out. You would be better off finding a used H-8-5 serial card, where the H8 ROM already knows how to communicate…
Perhaps tell us more about your system, what hardware you have and we can help figure out how best to get started with some practical assembly work. My apologies if you’ve already posted that information in a previous message!
To view this discussion on the web visit https://groups.google.com/d/msgid/sebhc/ec5e364f-2f05-4ba9-b2d8-c714d9c489c3n%40googlegroups.com.
Thank you for the “long winded” stream Glenn. *I* (different newbie) found it to be a very enlightening survey of where-we-are and how-we-got-here.
From: se...@googlegroups.com <se...@googlegroups.com> On Behalf Of glenn.f...@gmail.com
Sent: Thursday, January 6, 2022 6:18 PM
To: se...@googlegroups.com
Subject: RE: [sebhc] Arduino interface to H8
Well this would be a pretty ambitious undertaking for a newbie assembly programmer.
More stream of consciousness…
There’s just tons of source code available for you to examine to better understand assembly. Les Bird’s SEBHC site has an endless supply https://sebhc.github.io/sebhc/
The HDOS source code is particularly well written. Truly “industrial grade” (especially compared to some of the other commercial offerings of the day)
https://sebhc.github.io/sebhc/documentation.html#HEATHKIT_SOURCE_LISTINGS
many (most) of the HUG software contributions came with source code. Pat Swayne was the chief HUG guru back then and anything contributed by him is likely to be fun, useful, clever and informative.
the PAM and H17 ROMS contain many very useful assembly routines. Study the .ACM files in the hdos listings to learn more about them. With these you can write stand-alone programs that you can key in to the front panel and run. Assuming you’ve installed the battery-backup feature on Norberto’s 64K RAM board you can key in programs and have them still there when you power back up. Very useful!
Consider writing simple programs to manipulate the front panel keypad, “horn” and LEDs. I’ve got some samples I can send you when I get access to my system again. I also used to make modifications to HDOS device drivers (e.g. to add support for my printer, which was a C. Itoh 8510A) so building and modifying device drivers is a useful learning exercise.
Microsoft BASIC allowed for creation of small machine code snippets through the USR routine. There is an HDOS version somewhere in Les’ library. Also CP/M versions of course if you can boot that.
As for speed and storage. I don’t know much about HSFE and 3.5” floppys but those are double-sided drives and with the “ORG 0” capability on Norberto’s board I believe you probably have all the pieces needed to run these drives as double-sided. That would give you 200K per drive. Others on this list are more expert on this than I am.
Moving to the Z80 board will help substantially. First of all you can bump your speed up to 10Mhz or more (when not accessing the floppys) which makes everything go much faster. With Z80 capability you could then move to a soft-sectored controller for the floppy drives. With the H37 interface you can push those 3.5” drives to be DS/DD/80 Track and probably push the step time down to 6 ms. That’s much faster and more storage (720K/disk) than you’ve got now!
And of course you could also add a Z67 or (soon) GIDE emulator (GIDE support is only for CP/M as I understand).. this gives you a very fast solid state hard drive.
Let us know if any of this sounds particularly interesting and what other questions would inevitably follow as you go down that (those) road(s)…!
Enjoy!
From: se...@googlegroups.com <se...@googlegroups.com> On Behalf Of Mitchell Smith
Sent: Friday, January 7, 2022 5:48 AM
To: SEBHC <se...@googlegroups.com>
--
You received this message because you are subscribed to the Google Groups "SEBHC" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sebhc+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sebhc/f1a40ea7-80f6-4392-8e44-b1e8ab569dc3n%40googlegroups.com.