8085 SBC [message #2280] |
Fri, 07 April 2017 17:08 |
Sergey
Messages: 236 Registered: October 2015 Location: Portland, OR
|
Senior Member |
|
|
Hi,
I've designed and built a very simple 8085 SBC. It might be good as a first homebrew computer project, and for learning how microcomputers work.
The documentation is here:
http://www.malinov.com/Home/sergeys-projects/minimax8085
Some future plans (when I have time):
- Port Tiny BASIC to this SBC, to be programmed in the EPROM
- Design a CP/M board for it - featuring a permanent storage device, and some paged RAM.
Anyone interested in getting and building this board? If so, I'll order some PCBs. I can also get and program some SPLDs (althought they can be easily programmed using common MiniPro TL866 programmer).
Regards,
Sergey
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Re: 8085 SBC [message #2662 is a reply to message #2661] |
Sat, 06 May 2017 18:29 |
Sergey
Messages: 236 Registered: October 2015 Location: Portland, OR
|
Senior Member |
|
|
Dave is mostly correct. I use the 3 pin capacitor footprints for MAX232 charge pump capacitors. Some MAX232 types use 1uF capacitors, and these 3-pin footprints allows using electrolytic capacitors with 1.8 mm - 2.5 mm lead spacing for such MAX232 ICs using the outer hole marked with (+) sign and the middle hole. Other MAX232 compatible ICs (MAX202, MAX232A) can work with 0.1uF capacitors, and ceramic capacitors with 5 mm (0.2") lead spacing can be installed then using outer holes.
[Updated on: Sat, 06 May 2017 18:30] Report message to a moderator
|
|
|
|
|
Re: 8085 SBC [message #2668 is a reply to message #2280] |
Sat, 06 May 2017 21:23 |
|
Andrew B
Messages: 467 Registered: October 2015 Location: Near Redmond, WA
|
Senior Member Administrator |
|
|
Jameco has 8085s, no need to resort to eBay....
3mhz - http://www.jameco.com/webapp/wcs/stores/servlet/ProductDispl ay?productId=52062
5mhz - http://www.jameco.com/webapp/wcs/stores/servlet/ProductDispl ay?productId=52071
Looks like there are 6mhz HMOS parts too. Sergey talks about the different speed grades (- numbers) on this site:
Quote:
80C85 (CPU) - Any type in DIP-40 package will do. Use 6.144 MHz crystal for 3 MHz parts. Such parts usually don't have any numeric suffix in the part name. For example Intel P8085AH is a 3 MHz part, while Intel P8085AH-2 is a 5 MHz part.
CMOS parts: MSM80C85A or M80C85A (OKI), CA80C85B (Calmos, Tundra), IM1821VM85A (Soviet/Russian Clone)
NMOS parts: P8085A (Intel, AMD), P8085AH, P8085AH-2, P8085AH-1 (Intel, newer HMOS process, 3 MHz, 5 MHz, and 6 MHz parts respectively), M5L8085AP (Mitsubishi), TMP8085AP (Toshiba), and so on.
|
|
|
Re: 8085 SBC [message #2669 is a reply to message #2665] |
Sat, 06 May 2017 21:36 |
Sergey
Messages: 236 Registered: October 2015 Location: Portland, OR
|
Senior Member |
|
|
Clock frequencies for various 8085 CPUs:
NMOS, Intel and other vendors:
8085A/8085AH - 3 MHz
8085AH-2 - 5 MHz
8085AH-1 - 6 MHz
CMOS, OKI:
MSM80C85A - 3 MHz
MSM80C85A-2 - 5 MHz
MSM80C85AH - 5 MHz
CMOS, CALMOS/Newbridge/Tundra:
CA80C85B-X, where X is the clock frequency
Notes:
- You can always run a faster CPU at lower frequency
- 8085 SBC uses the CPU clock frequency for USART. It gets divided by SPLD to obtain 307.2 kHz and 153.6 kHz. I provided SPLD fuse maps (images) to divide the clock by 10/20 and 16/32 for 3.072 MHz and 4.9152 MHz CPU clock respectively​. The SPLD might need to be reprogrammed for other CPU clock frequencies. In case of 6 MHz CPU it should be possible to use 6.144 MHz clock (12.288 MHz crystal) and 3.072 MHz SPLD fuse map. This will result in doubled UART bit rate (e.g. 19200 bps instead of 9600 bps).
If there is an interest, I can develop divide by 12/24 SPLD image to use with 14.7456 MHz crystals / 7.3728 MHz CPU clock. This seems to be the closest readily available frequency to 8 MHz. (15.9744 MHz crystal / 7.9872 MHz CPU with divide by 13/26 is even closer, but these crystals are rare)
[Updated on: Sat, 06 May 2017 22:24] Report message to a moderator
|
|
|
|
|
Re: 8085 SBC [message #2676 is a reply to message #2675] |
Sun, 07 May 2017 15:45 |
davetypeguy
Messages: 41 Registered: November 2015 Location: Chapin, SC
|
Member |
|
|
I just purchased some 15.9744MHz crystals in the HC-49S package on ebay. They are SMD packages, but if they are like the other SMD HC-49S crystals I've seen, you can bend the pins down and use them as through hole pins.
I bought a 10 pack, so if they will work, I'd be happy to send the rest out to those that want them. They also have 9 more 10 packs still for sale at $5.25 and free shipping. Search for 112365126435.
[Updated on: Sun, 07 May 2017 15:45] Report message to a moderator
|
|
|
|
|
|
|
|
|
|
|
|
|
Re: 8085 SBC [message #3024 is a reply to message #3018] |
Thu, 08 June 2017 09:20 |
Sergey
Messages: 236 Registered: October 2015 Location: Portland, OR
|
Senior Member |
|
|
Kip,
Can you elaborate on what Altair code you want to run? Is it CP/M programs?
8085 is backward compatible with 8080 used in Altair, so the code by itself would run, with a few caveats:
1. Operating environment: For example: CP/M, BIOS, BASIC, etc. If I am not mistaken the original Altair was shipped with no ROM at all. Many users upgraded their system later on to add disk support, CP/M, possibly including the BIOS in a ROM.
2. Memory size and mapping: The original Altair had something like 256 bytes of memory... not exceptionally useful. Again, many users added more memory. In case of Altair, RAM starts at 0000h. In case of 8085 SBC, RAM starts at 8000h (it is possible to remap the memory). Either the software needs to be modified to run from 8000h, or an extension board can be used to put RAM at 0000h. The CP/M board Max mentioned would do that.
3. I/O devices. Original Altair came with no I/O (except of blinky LEDs and switches on the front panel, that are not exactly I/O). Many users added devices, such as UARTs, disk controllers, and so on... The type and the configuration of these devices would be different from user to user. CP/M provided a hardware abstraction, so that applications could run on different systems without modifications for a particular hardware.
Thanks,
Sergey
|
|
|
Re: 8085 SBC [message #3099 is a reply to message #3024] |
Mon, 19 June 2017 16:40 |
computerdoc
Messages: 130 Registered: October 2015
|
Senior Member |
|
|
Hi Sergey,
Please excuse me for not responding in a timely manner. I have been suffering from headaches and dizziness all the time now.
Thank you for the interesting information. I kind of assumed there was a standard for I/O for the Altair computer line by the time disk controllers were introduced. My only experience with the Altair was with a multiuser/timeshare type of Basic that ran on an Altair 8800B in College during 1979-81 time frame. 3 Lear Seigler ADM-3A CRT terminals were connected to the Altair 8800B as well as 1 ASR-33 Teletype. There was at least 1 - 8" floppy drive interface and approximately 64KB of RAM. A boot rom was installed that booted the Multiuser Basic from disk. This was my second exposure to programming in the BASIC language. I spent quite a bit of time going through the BASIC Reference Manual on this system.
What I would like to do in addition to whatever else is created for the MiniMaxi8085 board is to be able to run this multiuser basic once again. I still have a Lear Seigler terminal and 2 teletypes that I could eventually hook up to the 8085 once more serial ports were added. Decades ago, I added an RS-232 serial interface to one of my Teletypes so I could run it on my Coco 1 way back in my early 20s.
I really don't know if this software can run unmodified or not. I suspect some mods may be required. It would be so cool to see this software run again from some type memory card.
What type of I/O serial chips were used in the Altair 8800B?
Can the memory card interface on the extension card be made hardware compatible the Disk controller interface of that Altair 8800B Multiuser Basic Setup? I have no idea how much is involved to make this happen or if it is even possible. I guess ideally it would be nice to run all the Altair software, but with all the different I/O setups, I don't know if this is possible either. Please let me know your thoughts. Since the 8085 is binary compatible with the 8080, I thought it would be really cool if the MiniMaxi8085 board could be expanded to become an Altair Clone of sorts.
By the way, what other computers had an 8085 in them?
Kip Koon
computerdoc at sc dot rr dot com
http://www.cocopedia.com/wiki/index.php/User:Computerdoc
[Updated on: Mon, 19 June 2017 16:42] Report message to a moderator
|
|
|
|
Re: 8085 SBC [message #3251 is a reply to message #3248] |
Fri, 21 July 2017 11:05 |
Sergey
Messages: 236 Registered: October 2015 Location: Portland, OR
|
Senior Member |
|
|
I've created an image with MON85 at 0000h, and Tiny BASIC at 1000h. It is attached to this post. Note that the image size is 8 KiB, pad it with 0FFh's for bigger ROM if needed.
Use "G 1000" command from MON85 to start Tiny BASIC. Push the reset button to get back to the monitor.
Moving Tiny BASIC to 1000h required some considerable (but not difficult) modifications. For example the original Tiny BASIC uses RST instructions to call some frequently used subroutines. I had to replace these RST instructions with CALL instructions.
By the way, to me using RST instructions there looks as unnecessary over-optimization... If I am not mistaken using CALL made the binary only about 20 bytes bigger, but still fitting in 2 KiB (assuming that the initial author intention was to fit it in 2 KiB ROM).
[Updated on: Fri, 21 July 2017 11:08] Report message to a moderator
|
|
|
|
Re: 8085 SBC [message #3295 is a reply to message #3253] |
Thu, 03 August 2017 20:43 |
computerdoc
Messages: 130 Registered: October 2015
|
Senior Member |
|
|
Hi Sergey,
I finally finished my 8085 board and it came up the 1st time! Cool! There is only one problem. I can't type anything? I see the power on Message from Mon85 as shown below.
------------------Begin Output--------------------
MON85 Version 1.2
Copyright 1979-2007 Dave Dunfield
2012 Roman Borik
All rights reserved.
C>
------------------ End Output---------------------
That's it. No input.
Here are a couple of pictures of my baord.
I have an 8 channel mini logic analyzer available for troubleshooting.
I used the 15.974MHZ crystal option.
CPU is CA80C85B-8CP.
USART OKI M82C51A-2
Memory AS6C62256 static ram chip.
Eprom is ST M27C256B-10XFI
Lattice GAL16V8D
SN74F573N
Do you have ANY idea why I can see output on power up, but can't type anything? Thanks in advance for any help you can give.
Kip
Kip Koon
computerdoc at sc dot rr dot com
http://www.cocopedia.com/wiki/index.php/User:Computerdoc
[Updated on: Fri, 04 August 2017 16:28] Report message to a moderator
|
|
|
|