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.
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.
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".
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.
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).
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.
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.
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.
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.
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.
' 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.
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.
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:
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 ?
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!)
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 ?
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.
Comments
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 !!
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 )
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.
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".
You said 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 :
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.
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.
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.
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.
Does that sounds a good 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
and see what happens
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.
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.
This has swapped q and a for me, both smalls and capitals.
I'll try to find out how several lookup tables could work with #define and BST.
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:
See the scan codes
so change that "1" to something else.
For the shift keys, these are down the bottom of the list
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
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 ?
BST finds 2 errors
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!)
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 !
Eliminate unused spin methods
and
Non parallax compatible extensions
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 ?
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.