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

Homemade single side through hole open board for the Propeller hobbyist

1456810

Comments

  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2010-11-07 15:51
    Take all this with a pinch of "I'm the wrong end of a bottle of homebrew" !!!!

    I never got the garbage screen that you have, but I cant remember the error message that comes up when the external ram is not correct. Hic.

    I'll try and think about it tomorrow, I have just watched Bladerunner. 1982 I believe, just shows how behind I am !!
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2010-11-08 01:48
    With the new dawn, I can remember that the error message that used to haunt me was "Press Spacebar .... ". That usually meant that the memory was not present/not working correctly.
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2010-11-08 02:06
    Here is the SD files that are on my CP/M and Nascom attempt. Obviously not all are required just to get the CP/M bits fired up.

    Just to make sure it might be wise to put the .dsk files over onto a fresh formatted SD ( even though the more recent softwares do not need it )
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2010-11-08 04:13
    A screen shot did't work. Too big I guess. I'll see if I can get it down on size, 2880x900 is a bit excessive.
  • Jean-MarieJean-Marie Posts: 128
    edited 2010-11-08 06:35
    Thank you Dr_Acula and Toby

    I downloaded these files from smarthome/viviti.com:
    • BOOT.DSK
    • A.DSK
    • B.DSK
    • C.DSK
    But I am still lost.
    I tried copying the files to the newly formated SD card and to boot with the card in or to SPIN BOOT.DSK or A.DSK --> the card simply reboot.

    I tried using NERO Burning ROM to rewrite the disk-image files to the SD Card but NERO doesn't accept .DSK files as disk-images. It is looking for .nrg ; .iso or .cue files. Do I need to rename the extension so that NERO is able to write a disk-image on the card as if it was a disk ?

    So, my question is how to manage these files or where to find more information. I am still reading the thread of Kye : SD2.0 Full FAT32/16 File Sytem Driver - You there! Yes you, viewing this forum. Perhaps it is explained a bit further. In that case, you don't need to answer this.

    Anyway, thanks a lot.
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2010-11-08 08:05
    Hi Jean-Marie

    I havent done that much with the DracBlade recently, a new job screwed up having most evenings for playing. All the .dsk files should be planted across to the SD (theres plenty of space on a 2G) and also there are BOOT.DSK, CPMBOOT, ZIBOOT and CPM.BIN.

    After that it comes down to what flavour of emulation you want, CP/M would be the best to start with, I think, as it was the original and as a 8080 program it would simlify any Z80 missing code problems for now.

    I do not understand why nero would be involved anywhere. Drag and drop is all you need. I managed it so anybody should be able to, once the confusions die down.

    I have

    A.DSK - H.DSK (including the BLANK_E.DSK)
    BOOT.DSK
    CPM.BIN
    CPMBOOT (spotted as a M$.DOS app, by windoze)
    ZIBOOT (spotted as a M$.DOS app, by windoze)

    All the others are Nascom, TRS80 etc.

    The EEPROM on the DracBlade has to have the correct image too. Either it should be one of the emulators or a way of getting the wanted file off of the SD card. I would go for a definite CP/M as the Dracblade originally intended, and branch off from there.


    Add.

    It has dawned on me that I am probably running the older SD drivers on the cased DracBlade. It was when I was messing with the memory pin layouts that I tried to use the newer, faster, SD stuff. This shouldn't affect anything I have said here, but I might get to do an update on "Clunky", it is working and therefore it needs "fixing".
  • Jean-MarieJean-Marie Posts: 128
    edited 2010-11-08 14:07
    Hello Toby,

    You said
    All the .dsk files should be planted across to the SD (theres plenty of space on a 2G) and also there are BOOT.DSK, CPMBOOT, ZIBOOT and CPM.BIN.
    I suppose "planted across to the SD" means "copied to the SD", so I copied the files I have to the SD card.
    That means :
    • A.DSK
    • B.DSK
    • C.DSK
    • BOOT.DSK and
    • CPM.BIN

    In the EEPROM I have KyeDos.
    I then reset the Prop and ask for a DIR
    You can see the result on the first picture: P1050151.JPG
    I run the next command: SPIN CPM.BIN
    After a while loading, the garbage screen I spoke about yesterday appears for a split second and then, oh marvel of marvels! the second picture comes on the screen (P1050152.JPG).

    This time, I am running CP/M. Yeah!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    You deserve a lot of thanks and Dr_Acula deserves a bit of my blood.

    This doesn't mean that everything is clear. For example, in the CP/M first screen, it seams that a file is missing. Which one? SuperSUB V1.1?

    On the other hand I see on Disk A the files CPMBOOT.COM and ZIBOOT.MAC. Both commands do the same: they reset CP/M. What is the difference?

    B.DSK has only XMODEMM and XMODEMF commands.
    C.DSK is empty
    I don't have D.DSK to H.DSK Are they also empty?
    Where can I find wordstar?

    ...

    ...

    A lot of questions to come :eyes:

    EDIT: the first picture doesn't show the CPM.BIN file. I added it after.
    784 x 356 - 64K
    800 x 214 - 82K
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2010-11-08 19:15
    Very exciting! Attached is a different A.DSK. It has wordstar on it (WS) and supersub. If you want to edit the autoexec.sub, you can do it in wordstar on the board itself. (at the moment it does a DIR).
    zip
    884K
    a.zip 883.6K
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2010-11-09 00:12
    I am glad that you have "proof of life". Now all the loose bits can be sorted out, I slavishly copied over everything and was just happy when it worked. I will have to get around to updating to KyeDos and removing any duplications.

    I will leave the Nascom EEPROM in as an option though as there is a front panel switch for it already and I am not that short of chips.

    I must get back to playing with the Props, I have been messing with AVRs recently (for work, mostly). I have the urge to get that CPLD version of the DracBlade going.
  • Jean-MarieJean-Marie Posts: 128
    edited 2010-11-09 01:08
    Thank you James and Toby.

    I replaced A.DSK by the new one and started WordStar (see picture).
    Wonderfull !

    I think I know what to do in the next few days : learn CP/M and WordStar, then enter a bit inside the programming method which manage to emulate the Z80.

    But the first thing I have to do is to find how I can change the key codes. It is very uncomfortable to type on a French keyboard as it was an English one. When I type a "A" I get a "Q", when I type a "W" I get a "Z", in order to get a "." I have to type a ":", etc... It's very confusing. Almost every time I type something I get a "bad command". I think I have to modify the codes in KyeDos.
    800 x 600 - 190K
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2010-11-09 01:13
    It should be quite easy to change the keyboard map.

    But you will need to do it for kyedos, and also for CP/M. Even though they use almost the same source code, you will need to change it for both.
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2010-11-09 02:02
    The keyboard layout on "Clunky" is still German, I am ashamed to say. Another thing to tidy up (when I get a quiet shift)
  • Jean-MarieJean-Marie Posts: 128
    edited 2010-11-09 02:27
    If the keyboard source code is almost the same for KyeDos and CP/M, it is perhaps possible to isolate it in an external object. We would then have several objects to choose from: Kb_En.spin, Kb_Fr.spin, Kb_Ge.spin. The right keyboard would then be included with #define and #ifdef in the programming of KyeDos and CPM.

    Does that sounds a good idea ?
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2010-11-09 02:36
    That sounds an interesting idea.

    #define will work for CP/M as this has to use BST

    Kyedos compiles with the propeller spin tool and BST, so if you added a #define it would then only work with BST. But this would not really matter.

    Have you found the right part in the code that has the keyboard mapping?

    Addit: I found the Belgian layout http://en.wikipedia.org/wiki/Keyboard_layout#Belgian

    And in the kyedos keyboard code I guess you could start with swapping the a and q
                            word    $0071   '15             q
                            word    $0031   '16             1
                            word    $0000   '17
                            word    $0000   '18
                            word    $0000   '19
                            word    $007A   '1A             z
                            word    $0073   '1B             s
                            word    $0061   '1C             a
    

    and see what happens
  • Jean-MarieJean-Marie Posts: 128
    edited 2010-11-09 04:56
    Well it is probably in the lookup table of Poketerm.spin (at least for KyeDos) but I have to understand a bit more scan codes, ASCII codes, the spin program and the assembler part before I can change something. It is not very easy because I've never worked with spin nor with Propeller assembler (nor with BST either).

    So, a lot of new stuff at the same time ! But there is no pleasure without challenge. This is why I wanted to build the boards myself.
  • Jean-MarieJean-Marie Posts: 128
    edited 2010-11-09 05:08
    Hello James,

    You added the Belgian keyboard while I was answering. I was not really aware that my keyboard was Belgian and not French.

    You are right. I should just swap a and q and see what happens. I am always inclined to read, think and understand before doing anything but it costs me a lot of time.
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2010-11-09 05:12
    '                        word    $0071   '15             q
                            word    $0061   '1C             a       
                            word    $0031   '16             1
                            word    $0000   '17
                            word    $0000   '18
                            word    $0000   '19
                            word    $007A   '1A             z
                            word    $0073   '1B             s
    '                        word    $0061   '1C             a
                            word    $0071   '15             q  
    

    This has swapped q and a for me, both smalls and capitals.
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2010-11-09 05:22
    On the Nascom there are all sorts of characters to swap around, I will have a go at it this weekend (if nothing goes wrong here)
  • Jean-MarieJean-Marie Posts: 128
    edited 2010-11-09 05:36
    I swapped the a and q in the lookup table of "poketerm_keyboard.spin" like you and I got the same result. So it is pretty easy to change the keyboard layout.

    I'll try to find out how several lookup tables could work with #define and BST.
  • Jean-MarieJean-Marie Posts: 128
    edited 2010-11-09 08:58
    The change of keyboard is more complicated that we first thought.

    Look at the attached picture. You can compare a US and a Belgian keyboard. Sapping q and a is easy and works both for smalls and capitals. But it is not the same for other characters. Have a look at the yellow keys. If we want to type "1", the key is the same with both keyboards but I have to press down the shift key and you don't. In addition, if I move a key with 2 characters, it will be OK for one character but not for the other one.

    So, probably I 'll have to study that question more deeply. :smilewinkgrin:
    800 x 557 - 96K
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2010-11-09 10:14
    At least you have confirmed what I found a while ago. To change some things was easy but just as you thought you had the hang of things .....
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2010-11-09 14:17
    Swapping the 1 should be possible.

    See the scan codes
                            word    $0071   '15             q
                            word    $0031   '16             1
                            word    $0000   '17
                            word    $0000   '18
    

    so change that "1" to something else.

    For the shift keys, these are down the bottom of the list
    shift2                  byte    $22, 0, 0, 0, 0, "<_>?)!@#$%^&*(", 0, ":", 0, "+"     
    

    so you should be able to change those too.

    eg, in that list in shift2, the "!" on the US keyboard is "Shift 1", so try replacing the "!" in that line with "1". Replace the @ with 2, etc.

    As a start, try this
    shift2                  byte    $22, 0, 0, 0, 0, "<_>?0123456789", 0, ":", 0, "+"     
    
  • Jean-MarieJean-Marie Posts: 128
    edited 2010-11-10 13:43
    Hi,

    Thanks to the help of James, I was able to have a layout more consistent with my real keyboard. But it is not perfect yet. For example, I had to leave the figures unshifted and put the special characters on the shifted position like on the US keyboard. Also quite a few French characters are "extended" ASCII and probably do not exist in this system. More than that, the number of keys are different on the lines 2 and 4. So some keys are not referenced. They must be somewhere in the $0000 codes.

    Anyway, this new layout is much easier to use for me. Perhaps I am the only one interested in the French edition of Poketerm.Spin. Nevertheless I attach the modified file.

    I have now to do the same sort of modification for CP/M. But Where ?

    A few days ago, I downloaded CPM_MPM-archive-19-Sept-2010. From there , I use the file cpm.binary that I renamed cpm.bin

    I think I can change the keyboard in the file Keyboard.spin. Than I have to recompile the top object file. Is cpm.spin the top object file ? What seems a bit strange is the fact that the date of cpm.spin is 14 Sept 2010 and the date of cpm.binary is 29 June 2010. So I am not sure they are the same file. What do you think about that, James ?
  • Jean-MarieJean-Marie Posts: 128
    edited 2010-11-10 14:29
    Unable to compile cpm.spin

    BST finds 2 errors
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2010-11-10 14:36
    Yes cpm.spin is the top file. What are the two errors in BST?
  • Jean-MarieJean-Marie Posts: 128
    edited 2010-11-11 01:28
    Hello James,

    See the attached picture showing the beginning of the file and the 2 errors.

    I wonder that the file starts with the word "as".
    Sometimes, my cat springs on the table and walks on the keyboard. (And he knows nothing in computers!)
    682 x 443 - 72K
  • Jean-MarieJean-Marie Posts: 128
    edited 2010-11-11 01:37
    The first error says "Symbol SI is already defined".
    It is true but it has been defined within a #ifdef ... #endif sequence.

    The second error says "Expected Object definition" (about CPU_Z80)
    I don't understand because line 20 is "#define CPU_Z80"

    Of course, I am hopeless in SPIN !
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2010-11-11 02:32
    Can I just check, in Tools/Compiler Preferences, have you got two buttons checked:

    Eliminate unused spin methods

    and

    Non parallax compatible extensions
  • Jean-MarieJean-Marie Posts: 128
    edited 2010-11-11 03:13
    Hello James,

    This is an extraordinary coincidence. I was reading your post here:
    http://forums.parallax.com/showpost.php?p=941614&postcount=12
    and realized that I had to change something in the compiler preferences. I was about to check a new compilation when your post arrived.

    Yes, it is now working. I'll modify the keyboard.spin to suit my keyboard.

    Many thanks.

    BTW, how can I import a new program into a .dsk file ?
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2010-11-11 03:27
    Great to hear it is working.

    There are two ways to get files onto a .dsk image:

    Download them with xmodem

    or

    Take that .dsk image file, copy it off the sd card, put it in a directory that you have running the Altair SIMH emulation, open the simh, use the R or W commands to move files to and from the PC directory and the disk image, then copy your new .dsk image back to the SD card.

    The second one sounds complicated, but it is quicker for multiple files. You can do other clever things with the SIMH, eg set up a system with a floppy disk image and a hard disk image, then get the floppy disk image from the website, boot into CP/M and do a PIP I:=A:*.* and then everything is on the I: hard drive image.

    Are you serious about programming in CP/M? If so, in what language? You could look at the IDE program I have written that makes this much easier. You will need vb.net to compile it.

    OR

    if you want to program in C, RossH and I have having a lot of fun on the catalina thread. I just finished writing a simple IDE for catalina that compiles C with one keypress.
Sign In or Register to comment.