|
Post by dboris on Apr 4, 2008 20:20:02 GMT -5
I actually remember getting to work with an Epson HX-20 back in the day. My dad was using it for a project in work and he brought it home one night. Pretty cool machine.
Having written my share of emulators, when Earl mentioned that there wasn't an emulator for this machine it started the wheels turning in my head! I did some searching and did find a site with some pretty detailed technical information. I also found a site with some Basic programs to run on it. The CPU is a little tricky, it's a Hitachi 6301 (actually a pair of them), and it seems pretty obscure. Haven't found to much information on it. Of course the biggest missing piece is a dump of the BIOS ROM, haven't come across that anywhere.
Dan
|
|
|
Post by retrobits on Apr 5, 2008 0:04:26 GMT -5
There is some technical info, including some hex dumps of memory, at the following HX-20 site: www.geocities.com/abcmcfarren/hx20/hx20.htm(Scroll to bottom under "memory dump".) This site also has a good variety of BASIC programs for the HX-20. Some fairly comprehensive hardware technical info can be found in PDF form at: oldcomputers.dyndns.org/public/pub/rechner/epson/~fjkraan/comp/virtlibrary.htmlI wonder if there is a 6301 emulator core anywhere out there in the world of open source. Wonder if any other machines used that processor, and if an emulator for those might exist? The machines I could track down included a Siemens GC 3080S, and I didn't find an emulator for that (or much info at all, actually), and the Psion Organiser II. There was an (old) emulator for that system, but I couldn't find source code. It apparently uses a 6303 processor. I would be happy to assist in whatever way possible if there is interest in building an emulator. I think it would be a fine tribute to one of the earliest laptops. Chat with you soon, - Earl
|
|
|
Post by dboris on Apr 5, 2008 8:36:15 GMT -5
Thank Earl! I had looked at that page with the Baisc programs a couple times, just never spotted the memory dump!
I didn't initially find an existing emulator core for the 6301, but I just discovered that it's very closely related to the 63701 which MAME emulates.
This idea is starting to look possible!
Dan
|
|
|
Post by Jeff Ledger on Apr 5, 2008 9:24:17 GMT -5
I hate you Earl! Another machine I'm going to have to spend money on!!! Time to put my spare GS on ebay and pick one of these up. Very cool hardware indeed! Jeff Awesome Episode!
|
|
|
Post by dboris on Apr 5, 2008 19:45:39 GMT -5
Looks like the only piece that's missing now is a dump of the internal ROM in the slave processor. According to the software guide there is a command that you can send from the master cpu to the slave to read a location in slave memory. It might be possible to use this to dump the contents of the slave rom.
Dan
|
|
|
Post by retrobits on Apr 5, 2008 23:33:35 GMT -5
Sounds like it might require a small 6301 machine code program to do this. Perhaps it's something that could be entered via the monitor, then called via BASIC. This would be like a "slave PEEK" call. Seems like most of it including the looping and the recording of the results could be done in BASIC...
I'd be happy to try to put this together.
Could you forward me the reference for the master/slave PEEK call? Also, do you know what area of the memory map that the slave ROM resides in?
- Earl
|
|
|
Post by dboris on Apr 6, 2008 9:16:35 GMT -5
Earl, Thanks for the offer to try to do this, it would be really great to preserve a dump of that ROM. I looked at the Basic reference manual and it looks like the Epson Basic has good support for loading and executing machine language code from Basic, so that shouldn't be a problem. On this page oldcomputers.dyndns.org/public/pub/rechner/epson/~fjkraan/comp/hx20/doc/chapter 11 in document tms_10-11.pdf explains how to communicate with the slave processor, there's even a sample piece of assembly code showing how to do the communication. The command you want to look at is 05 - Read Slave MCU memory. According to the hardware guide the Slave's internal ROM is at addresses $F000-$FFFF. Dan
|
|
|
Post by retrobits on Apr 6, 2008 17:12:50 GMT -5
Jeff: Another machine I'm going to have to spend money on!!!Sorry Jeff, but you knew the job was dangerous when you took it :-) Dan: The Atari ST apparently used a 6301 as the keyboard controller. One or two emulators emulate a 6301 to provide precise cycle timing for keyboard routines. However, the source code doesn't appear to be available. One of them is called Saint: leonard.oxg.free.fr/SainT/saint.htmlCheck out the "versions.txt" file for reference to the 6301: leonard.oxg.free.fr/SainT/versions.txtI'm looking at the docs and beginning to think through the slave ROM dump routine. Thanks for the reference to chapter 11 in the tech guide. Since I don't have a 6301 cross assembler handy, I will probably just hand-assemble the required opcodes and find a convenient place to POKE them in RAM so BASIC can call them with a USR or EXEC command. Passing the address in and getting the results back is a little hurdle, but I've got some ideas on a quick & dirty kludge. I need to make sure I POKE the routine into a safe place in the memory map so it doesn't get clobbered. Will update soon with my progress... - Earl
|
|
|
Post by dboris on Apr 6, 2008 18:49:10 GMT -5
I just checked the Atari ST driver in MESS and it emulates the keyboard controller by using the HD63701 core. It appears that the 63701 is identical to the 6301, at least from a software perspective.
Dan
|
|
doug
Full Member
Posts: 136
|
Post by doug on Apr 9, 2008 4:01:43 GMT -5
There is an HX-40 for sale on eBay (item number 290221277207). I can't find any info on it. Anyone know the differences between it and the HX-20?
Doug
|
|
|
Post by dboris on Apr 9, 2008 12:04:17 GMT -5
It may not have actually been called the HX-40, if you search on HC-40 you will find some information. Although it looks like the HX-20 the specs are totally different. The HX-40 is actually a Z80 based CPM machine.
Dan
|
|
doug
Full Member
Posts: 136
|
Post by doug on Apr 9, 2008 20:22:34 GMT -5
I did some googling with HC-40. It would seem that HX/HC are just regional naming differences. For example, from old-computers.com's PX-8 page it says it was called the HC-88 in Japan and Geneva in the US (doesn't say where it was known as PX-8).
|
|
|
Post by retrobits on Apr 10, 2008 14:15:27 GMT -5
To quote Jeff, our illustrious Moderator:
"Another machine I'm going to have to spend money on!!!"
This is really interesting, I've read about these but never seen one. It's kind of like a PX-8 "lite".
Hmm, methinks I'd better warm up my Paypal account...
|
|
|
Post by dboris on Apr 14, 2008 18:29:06 GMT -5
I've started to put together a MESS driver for the HX-20. The documentation at the link in an early message is pretty detailed but unfortunately it's organized in a way thats not entirely conducive to emulator programming. For example there is an IO register that has bits relating to a couple different functions of the machine, but all the bits are not documented in one place. You have to read each section to see which bits in that register are used for that function. The manual also has a tendency to repeat things over and over in different sections.
On the plus side I discovered that the real time clock chip the HX-20 uses is a MC146818 which is already implemented in MESS.
Dan
|
|
|
Post by wesmedlin on May 5, 2008 9:52:50 GMT -5
Hey guys,
I'm new here, but had to jump in. I've been hacking around on computers since 8 bit was your only option, so I'm not a total stranger to some of these things.
And when I saw the HX-20 mentioned, I had to say hi. I've got one of these in the garage, so if anyone has any questions, let me know. I'm not a programmer, but I can probably answer any simple questions.
I'll try to get around to taking some photos and putting them up somewhere. The unit I have has the tape drive and the expansion pack, and even the custom fitted case.
Peace,
Wes Medlin
|
|