Shop OBEX P1 Docs P2 Docs Learn Events
Homemade single side through hole open board for the Propeller hobbyist - Page 10 — Parallax Forums

Homemade single side through hole open board for the Propeller hobbyist

14567810»

Comments

  • Dr_AculaDr_Acula Posts: 5,484
    edited 2010-11-20 05:50
    I like the max232 - they are $1 or less on ebay and from other sources. Too many variables trying to borrow negative volts from other pins.
  • Jean-MarieJean-Marie Posts: 128
    edited 2010-11-20 06:56
    toby wrote:
    the three transistor type ... works ok when the inteface it to a PC etc which can supply the negative output. If two of the transistor interfaces ended up talking to each other then there would be a problem.
    Yes Toby, I didn't think of it but you are right. If I connect 2 Propellers together trough the serial cable, it won't work with the transistors.
    Dr_Acula wrote:
    I like the max232 - they are $1 or less on ebay and from other sources
    That's right. I have at least 5 of them in a drawer. I don't know exactly why I didn't use one. Perhaps because I found the schematic with the transistors before the one with MAX232 and that the transistors worked fine to program the Prop. Or perhaps because I am pushing the "homemade" a bit to far.
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2010-11-20 08:09
    The MAX232 is really a 5V chip (but I have used then at 3.3V) if they are powered by 5V then a 1k resistor from the MAX to the Prop is good enough for protection.

    The MAX3232 is the 3.3V official version.
  • Jean-MarieJean-Marie Posts: 128
    edited 2010-11-21 08:55
    Hello,

    According to the last attached document, I have modified the schematic : 1 diode and 1 polarized capacitor (see picture 1).

    It was easy to modify the existing board: removing one track and adding the 2 components.

    I made tests with "Parallax Serial Terminal Demo v1.0" with the 6 terminals. All terminals received characters from the Prop. So I think the modification is successful. For some terminals, an additional line feed is needed but I guess it is selectable somewhere. One of two had graphical characters instead of letters, probably also selectable.

    Shamcom Terminal correctly received the com from the Prop, but any key typed on the keyboard produced a sound and was refused, as already mentioned, so I could not send any answer to the Prop. But no problem with that. Five working terminals are well enough.


    This time, CPM.BIN, modified to send data to a terminal and renamed CPMCOM.BIN, is working. Picture 2 shows the start with The Parallax Terminal. When started with Teraterm, it sends special characters at the beginning (see picture 3) but the "DIR" command gives a normal display. Of course, I don't know why.
    500 x 800 - 79K
    544 x 655 - 74K
    443 x 476 - 93K
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2010-11-21 09:02
    I had not noticed that your interface circuit did not have the diode and capacitor. These are used to provide a short time of the negative volts (derived from the receive side of the PC). I allways have these fitted.
  • Jean-MarieJean-Marie Posts: 128
    edited 2010-11-21 09:34
    Hello Toby,

    The diode and cap are not present in the Parallax RS232 adapter. It's OK for programming but not satisfactory for duplex serial communication. It would be a good thing to add them, unless they want to promote their USB Plug :smilewinkgrin:
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2010-11-21 10:19
    I saw the three transistor interface first as an Elektor artical, probably one of thir summer edidions, as it had a large font size number at its heading. I assumed that it was the same as the Parallax version. The two transistors (without the reset bit) is as I have used before on the 8051 and AVR stuff, it was cheaper and smaller than using the MAX chips (as long as the neg volts were coming from somewhere else).
  • Jean-MarieJean-Marie Posts: 128
    edited 2010-11-24 01:11
    @Dr_Acula

    I succeded sending a file from windows to the CP/M disk using Teraterm and XMODEMF with "R" as parameter ("R" = "Receive" ?).

    When I type A>dir xmod*.* I get:
    A: XMODEMP  COM : XMODEMF  COM : XMODEM   COM : XMODEM   TXT
    A: XMODEM2  COM
    
    XMODEM.TXT is an info about XMODEM protocol.

    But what are the other commands: XMODEMP; XMODEM and XMODEM2 ?
    Is there a place where I can find some infos about these commands and their parameters ?
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2010-11-24 01:21
    Those other xmodem programs are slight variants with the timing at startup (Too fast, and you miss the chance to download, too slow and it takes ages to start the download).. On the dracblade, xmodemf.com seems to be about right.

    Great to see you have a file transfer. You can send it back to the PC as well if you need to.
  • Jean-MarieJean-Marie Posts: 128
    edited 2010-11-24 02:23
    I have tried sending a file to the PC. At the second try I succeeded.

    In fact, I wanted to print the file SBENTIRE.TXT (info about S-Basic)

    what I did:
    1. XMODEMF S SBENTIRE.TXT
    2. I received:
      XMODEM Ver 5.0V
      FILE OPEN -  818 (0332 HEX) SECTORS
      (APPROXIMATELY 58 MINS, 24 SECS TO SEND AT 300 BAUD).
      [^X TO CANCEL]
      
    3. In Teraterm Menu, I chose File ==> Transfer ==> Xmodem ==> Receive
    4. I chose a directory and a name for the file
    5. The file started to be transferred. By chance, I was not in 300 baud. So it took probably less than one minute.
    By the way, S-Basic seems to be quite close to Turbo Pascal : no line numbers, no GOTO, use of BEGIN ... END, possibility to include libraries, compiled language, etc... Might be interesting.

    On the other hand, I bought on Amazon (Marked Place) 2 second hand books (very cheap):
    • The CP/M handbook with MP/M (1980 Rodnay Zaks)
    • Z80 Assembly Language Programming (1979 Lance A. Leventhal)
    I also downloaded the CP/M Operating System Manual (from Digital Research). I printed it like a book in 20 little booklets that I am occupied to bind (it is one of my hobbies).
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2010-11-24 03:20
    Ah, the curse of paperwork. I get endless trouble from HER about the numbet of books and folders I have generated over the last decade.
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2010-11-24 19:20
    Yes those messages are still there for 300 baud. It is a pleasant surprise when it works 100x faster. How did people ever transfer files at 300 baud?

    Are you thinking of programming on this board?

    I think there is pascal somewhere if you want to use that.

    Once you have the hardware working, you can do more with this board. See the Catalina thread for ways of using the 512k of ram for a big C program. Or the 'full color tile' thread for putting pretty color pictures on the screen.
  • Jean-MarieJean-Marie Posts: 128
    edited 2010-11-25 02:01
    Hello Dr_James
    Are you thinking of programming on this board?
    Yes, I would like to. But before being able to do something interesting, I must understand a lot of stuff : the organization of the memory, of the disks, the CP/M commands, how to access the I/O ports, what CP/M programs I can import from Internet, etc...

    For example, a lot of CP/M programs are available on the web but most of them are more or less dedicated to a specific machine: Osborne, Kaypro, Commodore, Amstrad, etc... Is there a particular machine organized the same way as the Dracblade, so that the softs for that machine will work on the Dracblade ?
    See the Catalina thread for ways of using the 512k of ram for a big C program
    I am reading the thread called" Dracblade SBC with Catalina C, PropBasic, CP/M, MP/M, TRS80, wireless network, " (is this the thread to which you refer ?) but this thread has 36 pages and I am on the third one !
    Or the 'full color tile' thread for putting pretty color pictures on the screen.
    I didn't notice that thread yet ! So many interesting subjects to discover !

    By the way, would you have a nice little colour game to run on the Dracblade in order to impress my wife ? (She would more easily understand why I am stuck all the day long to the PC :smilewinkgrin:)
  • Heater.Heater. Posts: 21,230
    edited 2010-11-25 02:49
    Jean-Marie,
    ...a lot of CP/M programs are available on the web but most of them are more or less dedicated to a specific machine...

    Yes indeed, if software for those machines is delivered on floppy disk images they will be specific to the format, disk geometry, used by those machines.

    Then if they use graphics, like on the Amstrads, there will be problems with that.

    The original Z80 / CP/M emulator on the Prop, ZiCog depended on the software available for the SIMH AltairZ80 simulator project. There is a lot of it:) http://www.schorn.ch/cpm/intro.php

    All that is needed is to load up those SIMH AltairZ80 floppy images under SIMH running on a PC and copy the files to an 8MB hard disk image. Or use xmodem to get the files into a running CP/M on the Prop.

    I guess you are using a later Z80 emulation on the Prop, by PullMoll. I can't be sure but I believe that works the same way still.

    There is a LOT of CP/M stuff to play with this way. More than enough for me.
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2010-11-25 04:40
    Hmm - eye candy. I guess Pacman is probably the best one. There is sound too if you want to connect a speaker/amp to the right pin. Compile with BST.

    The thread is here http://forums.parallax.com/showthread.php?t=122361&highlight=color+genie

    and let me know if not all the files are there. They might have got lost in the forum migration a few months ago. (I did a zip of files and it is a bit big to put in one post on the forum but maybe could split it up).

    Screenshot is in my webpage link below.

    This isn't CP/M - but it is a Z80 emulation.

    Re CP/M - many things can be reconfigured with different input and output ports. The biggest library is the SIMH emulation, so that was the emulation that we emulated.

    Certainly there are word processors (Vedit and Wordstar) plus a huge variety of languages. But all boring in boring text.

    I got interested in CP/M on the propeller because it was the only way to access a word processor and a variety of languages. Meanwhile though, more languages have become available on the propeller itself, and I can see some great potential merging Catalina C and the 64 color tile driver into a graphical operating system. Same dracblade hardware as what you have. We just need to write the software!
  • Jean-MarieJean-Marie Posts: 128
    edited 2010-11-25 12:00
    Hello Heater,

    I already have several downloads from http://www.schorn.ch/cpm/intro.php but I didn't realize it is the main source for the Z80 emulator on the Prop. I will have to examine all this in more details.

    @Dr_Acula

    Thank you for the link. I'll tell you when the Man will have been Packed.
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2010-11-25 14:07
    Like you say, every CP/M machine is different. The two main differences were the disk drive format (tracks/cylinders etc) as nothing had been standardised back then. So disks from one machine would not work in another. The second difference was the ports. There are 255 ports and they were all different - eg which port number was the serial port.

    So, rather than pick an old machine, the SIMH standard was chosen.

    We did have some problems with the floppy drive image standard, so we changed to the hard drive standard. If you download the SIMH most of the emulations have drives A,B,C etc, and also have drive I,J,K,L which are four hard drives. These binary files can be simply copied to the sd card.

    So if you get a copy of a SIMH floppy disk (most of the disks listed are floppy images), create a SIMH emulation with drive I, and do a PIP I:=A:*.*

    If you have any problems doing this please let me know.
  • AleAle Posts: 2,363
    edited 2010-11-26 02:25
    Sorry to highjack the thread...

    DRAC: did you connect the Z80 to the propeller yet ?...
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2010-11-26 04:00
    DRAC: did you connect the Z80 to the propeller yet ?...

    Board is half soldered up. Sorry - I got distracted with the color video drivers.
  • AleAle Posts: 2,363
    edited 2010-11-26 04:33
    Dou you have a schematic or something ? which Z80 are you using ?
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2010-11-26 05:23
    Sure, schematic attached. All untested at the moment and the software is not written. If you are interested in writing the software or want to build this, I could send you a board.
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2010-11-26 06:06
    With digression appologies,

    That was the way I thought of doing the Z80 boltings, load the RAM and let the Z80 run.
    I got all wrapped up in the VDU reactions, but then the QZ80 made it all a bit academic.

    A 6+MHz Z80 would be good though. I have got hold of some PLC sort of things, for power switching. I originally wanted the LCDs off of them (4 rows, 10 columns) but then I noticed they have a Z80 ish proc in them.
  • AleAle Posts: 2,363
    edited 2010-11-26 06:35
    That looks good !. And you have a board available... even better ! Send me please a PM with details (price if any, and how). I'm certanly interested :)
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2010-11-26 15:23
    The reason I built that board is that (apologies to Pullmoll), I cannot get MP/M to work reliably on the qZ80 emulation. CP/M is fine, but MP/M crashes about once an hour.

    @Ale - I have three of those boards. I can send you a free one if you want. But no software is written. It needs software in Z80 to copy into ram a tiny bootloader comms program. It might only be 20 Z80 instructions, but that needs to be loaded into ram and then set running. The program needs to talk to the 8255. I have very similar code working. Then on the propeller side, it needs a tiny amount of software to talk to that program and start sending a copy of CP/M.

    Then one needs a new routine in Z80 to handle IN and OUT. This needs to be a custom routine, and then one needs to go through the source of CP/M and change every IN and OUT instruction to a call to that new routine.

    Finally, one needs new disk block drivers for the propeller.

    There is nothing impossible here and lots of code can be copied from existing code.

    One big advantage of this board is that the propeller side of the code is going to be much smaller than the qZ80. That would free up lots of hub ram, and that means one could add in the color driver code from the full color tile thread. So you could give CP/M the ability to change individual pixels on the screen. So you could have big programs (up to 8x48k running in parallel in MP/M, in C or Basic or other languages) talking to a color screen. Spin can't do that because there is virtually no hub ram left once you run a full color screen. The only other program that has the potential to do this is Catalina. Or running dual propellers.
Sign In or Register to comment.