QuickCMD v2.2 (http://www.octoate.de/wp/2011/09/18/quickcmd-v2-2/)
18 September 2011, 5:00 pmNorecess released a new version of his shell-like user interface and improved it even more. You can download it, as always, from Norecess' homepage (http://www.norecess.net/quickcmd.html).
Changes:- Added support for Bryce's MegaFlash (http://www.octoate.de/wp/2011/08/05/megaflash-rom-box/)
- Renamed RO and RW commands to READONLY and READWRITE
- Removed CRTC command
- Reset screen to QuickCMD's default if external RSX changed video mode
- DELROM now clears a rom with &FF value (was using &00)
- Fixed: was overwriting first byte after HIMEM
- Fixed: not assuming anymore than Amsdos area is always at &A700
Related posts:
- QuickCMD v2.1 (http://www.octoate.de/wp/2011/07/23/quickcmd-v2-1/)
- QuickCMD v2.0 (http://www.octoate.de/wp/2011/07/19/quickcmd-v2-0/)
- QuickCMD v1.0 (http://www.octoate.de/wp/2011/06/22/quickcmd-v1-0/)
© Octoate for Octoate.de - The Amstrad CPC news portal (http://www.octoate.de/wp), 2011. | Permalink (http://www.octoate.de/wp/2011/09/18/quickcmd-v2-2/) | No comment (http://www.octoate.de/wp/2011/09/18/quickcmd-v2-2/#comments) | Add to del.icio.us (http://del.icio.us/post?url=http://www.octoate.de/wp/2011/09/18/quickcmd-v2-2/&title=QuickCMD%20v2.2) Post tags: 2011 (http://www.octoate.de/wp/tag/2011/), development (http://www.octoate.de/wp/tag/development/), norecess (http://www.octoate.de/wp/tag/norecess/), quickcmd (http://www.octoate.de/wp/tag/quickcmd/), rom (http://www.octoate.de/wp/tag/rom/), utility (http://www.octoate.de/wp/tag/utility/)
(http://cpc-live.com/topsites/button.php?u=Octoate) (http://cpc-live.com/topsites/)
Feed enhanced by Better Feed (http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/) from Ozh (http://planetozh.com/blog/)
Source: Octoate.de - The Amstrad CPC news portal (http://www.octoate.de/wp)
---
This news item first appeared on Octoate's Blog and was aggregated through RSS for the forum.
I've tried out the MegaFlash commands, works great, thanks Norecess,
Bryce.
Does the hf version contain both dsk files and the ROM?
QuickCMD is only a ROM. The DSK and HFE contains the ROM file.
Now C works (at least: no crash). But if you use XD-DOS as DOS then the CAT command crashes the CPC.
Well, one other question? Why ist RO and RW replaced by thes loooooong commands? That's a lot of typing letters.
Thanks for the new version norecess, works well on my emulator and real Plus.
QuoteNow C works (at least: no crash). But if you use XD-DOS as DOS then the CAT command crashes the CPC.
I never heard about XD-DOS, but reading from cpc wiki I guess it's a new format for discs ?I focused on supporting all the following formats.. give me technical info (sectors-track, sector ids, directories) about XD-DOS and it may be possible support it as well.
Format Capacity Directories Type Sectors/Track Sector IDs
PARADOS 80 396k 128 SS 10 &91-&9A
PARADOS 41 203k 64 SS 10 &81-&8A
PARADOS 40D 396k 128 DS 10 &A1-&AA
ROMDOS D1 716k 128 DS 9 &01-&09
ROMDOS D2 712k 256 DS 9 &21-&29
ROMDOS D10 796k 128 DS 10 &11-&1A
ROMDOS D20 792k 256 DS 10 &31-&3A
ROMDOS D40 396k 128 SS 10 &51-&5A
S-DOS 396k 128 SS 10 &71-&7A
DATA (SS 40) 178k 64 SS 9 &C1-&C9
DATA (DS 40) 356k 64 DS 9 &C1-&C9 E
DATA (SS 80) 356k 64 SS 9 &C1-&C9 E
DATA (DS 80) 716k 64 DS 9 &C1-&C9 E
SYSTEM (SS 40) 169k 64 SS 9 &41-&49
SYSTEM (DS 40) 346k 64 DS 9 &41-&49 E
SYSTEM (SS 80) 346k 64 SS 9 &41-&49 E
SYSTEM (DS 80) 704k 64 DS 9 &41-&49 E
IBM (SS 40) 169k 64 SS 8 &01-&08
IBM (DS 40) 346k 64 DS 8 &01-&08 E
IBM (SS 80) 346k 64 SS 8 &01-&08 E
IBM (DS 80) 704k 64 DS 8 &01-&08 E
ULTRAFORM 203k 64 SS 9 &10-&19QuoteWhy ist RO and RW replaced by thes loooooong commands? That's a lot of typing letters
You are talking about READONLY and READWRITE commands.
All commands were self-explicit, excepted those 2 ones. I always typed HELP command before using them :)
Quote from: norecess on 12:35, 20 September 11
I never heard about XD-DOS, but reading from cpc wiki I guess it's a new format for discs ?
Hehe, well, more an 90ies one ;-) XD-DOS is/was in Germany that was ParaDOS is/was in the UK.
But XD-DOS (see CPC Wiki) is usually extremely compatible. Maybe I have had too much ROMs connected, I'll check as soon as possible.
Quote from: norecess on 12:35, 20 September 11
You are talking about READONLY and READWRITE commands.
All commands were self-explicit, excepted those 2 ones. I always typed HELP command before using them :)
IMHO, it would be good to have RW and RO as shortcuts, just for being more quick.
It's great to see that you expand QCMD more and more ;) ;) ;)
QuoteIt's great to see that you expand QCMD more and more
Yeah be careful, one day it could be a complete OS replacement..... kidding ;)
Quote from: norecess on 19:42, 20 September 11
Yeah be careful, one day it could be a complete OS replacement..... kidding ;)
Hey, why not? I started FutureOS the same way (FutureOS was grown up from the machine monitor which is now part of it ;) .
Well, you remember the good old MCP started as chess program.
And even SymbOS started as a Mine-Sweeper Clone :P
With QCMD you are not that far away from an OS, you're a very good programmer, I hope you will have enough time (critical factor!) ... and some real competition would be appreciated 8)
Like I told you.. I was kidding. :)
I really feel like an OS replacement is not necessary, my approach is more like a new layer on top of the existing (AmsDOS).
Well, from where you are to a top-half-screen file selector is not a long way... ;)
Stop dreaming guys.. this will never happens. ;)
I had a dream....
Quote from: Gryzor on 15:58, 21 September 11
Well, from where you are to a top-half-screen file selector is not a long way... ;)
Neither for norecess nor for me, but for other ;) :laugh:
Quote from: norecess on 16:04, 21 September 11
Stop dreaming guys.. this will never happens. ;)
Not sure I would want it too either...
I love QuickCMD and it has become part of my everyday CPC usage very quickly, and I like the way it complements BASIC and AMSDOS without interfering with them.
Again, really great work norecess :)
Quote from: redbox on 20:21, 21 September 11
Not sure I would want it too either...
I love QuickCMD and it has become part of my everyday CPC usage very quickly, and I like the way it complements BASIC and AMSDOS without interfering with them.
Again, really great work norecess :)
Well, it could be hidden and called with a keypress. There's always a solution :)
Also - IMHO - it would be great to be able to activate QCMD just by entering !Q
Yes, I'm damn lazy in typing, therefore I don't produce software where you must type much ,-)
Quote from: TFM/FS on 01:07, 23 September 11
Also - IMHO - it would be great to be able to activate QCMD just by entering !Q
+1. It's a tool that's used often, so it'd be good. Plus, IIRC, the ROM reports that the command is |QuickCMD (that's what Maxam says, anyhow). I spent a good few minutes trying to figure out what was going wrong.
Quote from: TFM/FS on 01:07, 23 September 11
Also - IMHO - it would be great to be able to activate QCMD just by entering !Q
Try with CTRL+TAB !!
By the way, norecess, the problems I had are fixed in this version :)
Great job !!
I will change the RSX to |Q in next release. This has been already suggested in the past so I guess it would be appreciated :)
Glad it works well for all of you. Seems that keeping focus is finally paying off :)
CTRL+TAB was good.
Using "|Q" look like a drive selection. For me, it's not accurate.
Quote from: TotO on 15:16, 23 September 11
CTRL+TAB was good.
Using "|Q" look like a drive selection. For me, it's not accurate.
Well, that's a good argument but which kind of drive it would be, a Q-drive from Startrek :laugh: Be carful with that Q's. In addition to name a USB drive !U would make sense, but ....
If I type !M then I do start Maxam and not my memrory-drive (because it has !C). so !Q is fine. And if you read the RSX command as IQ then this command is quick, neat, usefull and funny too ;D
But hey, I don't mind :) :) :)
CTRL+TAB is STILL good. hey :)
Miquelsky, Ctrl-TAB is just awesome, I had missed that when reading the manual. Simply great!!!
For those that missed this too :D :
QuoteThe "fast DIR" : when your Amstrad CPC got started, user just has to press CTRL+TAB to enter QuickCMD. Then, TAB key is expected to execute DIR command. Once the user chose a file to execute, the first characters composing the filename can be typed and then the filename can be auto-completed using the TAB key. Finally, press ENTER key to execute file. This workflow is ultra-fast, you will get quickly used to the CTRL+TAB then TAB scheme! Way faster than typing CAT command under BASIC then using SHIFT + arrow keys to select a filename then pressing COPY key to copy/paste filename then pressing CTRL+left arrow then pressing CTRL+ENTER to RUN" the file.
Quote from: TFM/FS on 16:35, 23 September 11
Well, that's a good argument but which kind of drive it would be
A drive that you don't expect today, because CPC is immortal. ;)
Quote from: TFM/FS on 16:35, 23 September 11so !Q is fine. And if you read the RSX command as IQ then this command is quick, neat, usefull and funny too
Using "!" instead of "|" is quick, neat, usefull and funny too... But it's not accurate for this usage... Except if we can accept that for laziness? :D
In next release, there will be (like Protext already does with its |PROTEXT and |P RSXs) :
|Q
|QCMD
That will do the exact same thing. CTRL+TAB will be binded to |Q to switch even faster between QuickCMD and AmsDOS.
Everyone agree ?
YEAH!!! ;)
Agreed :)
I did the change on my side. I also fixed a problem with the ROMS command versus nameless-roms.
But I don't want to spam everyone with new versions every 2 days, so, this will be integrated in a later revision..
Hi,
So that's reason why the ROMS command doesn't work when You have the any of the three additional CPM+ roms.
I have been wondering why it didn't work, until I yesterday erased them by accident ??? . Without these roms, the ROMS command works perfect.
The three roms are as following (it could perhaps also be other roms, for all I know) :
- CPMacc1.rom
- CPMcrch.rom
- Dbreed1.rom
Just a small suggestion for You.
There is still some free space in the "QCMD.ROM". What if You, as a great programmer, managed to integrate the functions of the "BOOSTER.ROM" into the "QCMD.ROM". The "BOOSTER.ROM" does it's job, but it does unfortunately have a few drawbacks in my opinion. The biggest is that it more or less kills the "|HELP" command from the Arnor ROMS. Typing "|HELP" with "BOOSTER.ROM" in 15 only lists ROM 0. If You are filling the MegaFlash with 32 Roms, You would need a command like "|HELP", unless You got a very good memory remembering every RSX in every ROM.
Looking forward to further updates of the "QCMD.ROM".
Yours
Terje Grind
NORWAY
Two other suggestions: custom color schemes (especially white font on a dark background) and a command history accessible like in today's terminals, through the Up key (though this would need some bytes of memory with whatever consequences, so I'm not sure it's doable)...
Quote from: Terje_Norway on 15:22, 25 September 11
There is still some free space in the "QCMD.ROM". What if You, as a great programmer, managed to integrate the functions of the "BOOSTER.ROM" into the "QCMD.ROM". The "BOOSTER.ROM" does it's job, but it does unfortunately have a few drawbacks in my opinion. The biggest is that it more or less kills the "|HELP" command from the Arnor ROMS. Typing "|HELP" with "BOOSTER.ROM" in 15 only lists ROM 0. If You are filling the MegaFlash with 32 Roms, You would need a command like "|HELP", unless You got a very good memory remembering every RSX in every ROM.
Nooooooooooooooooo!!!
@norecess: Please don't put the BOOSTER.ROM code in QuickCMD, it would ruin it in my opinion - I would rather decide if to use the BOOSTER or not, and I would have no choice if you did this.
@Terje: I know the BOOSTER.ROM code is very buggy, but I do intent to disassemble and re-write it (am half way there already) so then you could use it on your own ROM with anything else you want in it.
Quote from: redbox on 18:40, 25 September 11
I know the BOOSTER.ROM code is very buggy, but I do intent to disassemble and re-write it (am half way there already) so then you could use it on your own ROM with anything else you want in it.
I don't agree! The Inicrons did a great job creating the booster ROM. In my hands (and in the hands of much others) it always worked well. There is no reason to insult the work of others. And honestly what you call a bug may be a feature.
No offense aginst you Redbox, but the Inicrons know how to deal with ROMs, while your seemingly still learn it.
Quote from: TFM/FS on 20:04, 25 September 11
I don't agree! The Inicrons did a great job creating the booster ROM. In my hands (and in the hands of much others) it always worked well. There is no reason to insult the work of others. And honestly what you call a bug may be a feature.
No offense aginst you Redbox, but the Inicrons know how to deal with ROMs, while your seemingly still learn it.
Well, in my (obviously beginner) opinion here's what's wrong with it:
1. It was made with RomGEN which produces spaghetti, long and unstructured code
2. It appears to initialise twice
3. It appears to checksum twice (and it's not necessary to do this even once really)
4. It also appears to copy unnecessary code to RAM which could interfere with other programs
I want to isolate the main routine (which is a really cool piece of programming), optimise it and make the source code available to others so that they can incorporate it into their own utility ROMs. I eventually want to make a library of such routines from other ROMs, a 'build your own ROM' kit if you like.
If you're not interested in this, then that's fine with me but I still think it's very much worth doing.
I feel that command history + file copy functions are more important than the BOOSTER thing. Still about BOOSTER, I think its position is fixed (to 15), which is something I want to avoid.
I currently have something like 2-3 Kb free in QuickCMD, so this gives rooms for later improvement.
But right now, I won't do anything - I need to take a break off the CPC for few weeks.. I spent lots of time lately on it (too much actually!).
Hi,
It seems like I did start a small kind of
"riot" with my suggestion for further updates of the
"QCMD.ROM".
That was not my intention. What I tried to suggest was this :
1.) There are almost
3K of free space in the
"QCMD.ROM" (That is based on the size of the .ROM file itself (16384-13463=2921 bytes free))
2.) The
"BOOSTER.ROM" comes as 16K ROM. The size of the actual code seems much less. It takes less than
1K. Based on the size of these two roms, they "could" both be fitted into one rom (It would still be over 2K free in the ROM)
3.) "BOOSTER.ROM" works. It does exactly what it was meant to do. Nothing more or less ! ! ! And the fact that it uses an entire ROM for only 1K of code. To me it seems a bit of waste that over 15K is left free ! ! ! That space could have been put to better use (That is my opinion at least ! !)
4.) I wouldn't go so far as to calling it
"bugs" in the
"BOOSTER.ROM" since it works, and I couldn't clam that I could do it any better myself. My point was only that I think it could be improved. If I was a programmer, I would have done a few adjustments to it. I think
redbox is on the right track with his ideas.
Quote from: redbox on 20:29, 25 September 11
Well, in my (obviously beginner) opinion here's what's wrong with it:
1. It was made with RomGEN which produces spaghetti, long and unstructured code
2. It appears to initialise twice
3. It appears to checksum twice (and it's not necessary to do this even once really)
4. It also appears to copy unnecessary code to RAM which could interfere with other programs
Yours
Terje GrindNORWAY
Quote from: redbox on 20:29, 25 September 11
Well, in my (obviously beginner) opinion here's what's wrong with it:
1. It was made with RomGEN which produces spaghetti, long and unstructured code
2. It appears to initialise twice
3. It appears to checksum twice (and it's not necessary to do this even once really)
4. It also appears to copy unnecessary code to RAM which could interfere with other programs
I want to isolate the main routine (which is a really cool piece of programming), optimise it and make the source code available to others so that they can incorporate it into their own utility ROMs. I eventually want to make a library of such routines from other ROMs, a 'build your own ROM' kit if you like.
If you're not interested in this, then that's fine with me but I still think it's very much worth doing.
Sorry, that's wrong.
- It was not made with ROMGen, they just used ROMGen as tool to put a binary program into a ROM. And why shouldn't they use their own tool. Still there is no alternative to ROMGen.
- It must initialize twice, but the second time it doesn't really initialize. It just get's called, but it sensed, that it's job was already done. (Use an advanced !HELP command, to see the ROM RSX base address).
- Point 3 is - THE FECK - nitpicking! (You see I'm more and more into Father Ted :laugh: )
- How can code that gets copied to RAM interfere with other programs? It does that when the CPC is switched ON, there IS no other code in RAM.
I appreciate that you reengenier the Booster, and I hope you will create something better. :) But I don't appreciate that you make others well done software bad. >:(
If you want to "isolate" the ROM-Booster routine, why don't you use the Softbrenner ROM, that was used to create it. Just get that piece of code back, instead of disassembling the RGEN framework. ;) So good luck with that. :)
Quote from: Terje_Norway on 21:06, 25 September 11
2.) The "BOOSTER.ROM" comes as 16K ROM. The size of the actual code seems much less. It takes less than 1K.
Based on the size of these two roms, they "could" both be fitted into one rom (It would still be over 2K free in the ROM)
Now, this is the reason why the Inicrons used the RGEN to put the Booster-routine in a ROM. Using Softbrenner you can easiely add other programs (Basic and Binary!) to that ROM. So neither the space is wasted, nor RGEN was the "wrong" tool of choice. So, what the Inicrons did, all has a deeper sense!
Quote from: TFM/FS on 21:40, 25 September 11
- It was not made with ROMGen, they just used ROMGen as tool to put a binary program into a ROM. And why shouldn't they use their own tool. Still there is no alternative to ROMGen.
Errrr, so the ROM was made with ROMGen then. I didn't say the
routine, I said the
ROM. Surely the alternative to ROMGen is to just write your own ROM code...!!!
Quote from: TFM/FS on 21:40, 25 September 11
- It must initialize twice, but the second time it doesn't really initialize. It just get's called, but it sensed, that it's job was already done. (Use an advanced !HELP command, to see the ROM RSX base address).
Errrr, so it doesn't need to do this. And as previously pointed out, this ROM knackers the |HELP command, yet another bug it has.
Quote from: TFM/FS on 21:40, 25 September 11
- Point 3 is - THE FECK - nitpicking! (You see I'm more and more into Father Ted :laugh: )
Not nitpicking, was showing you another piece of pointless and unnecessary code. Father Ted rocks. :)
Quote from: TFM/FS on 21:40, 25 September 11
- How can code that gets copied to RAM interfere with other programs? It does that when the CPC is switched ON, there IS no other code in RAM.
Because you might add more ROMs and then want to initialise them again via RSX from BASIC. Then the RAM grab could be a problem.
Quote from: TFM/FS on 21:40, 25 September 11
I appreciate that you reengenier the Booster, and I hope you will create something better. :) But I don't appreciate that you make others well done software bad. >:(
I wasn't saying this at all. The
routine is great. The
ROM is buggy and has lots of bad code that could be removed. This is what I have been saying all along.
Quote from: TFM/FS on 21:40, 25 September 11
If you want to "isolate" the ROM-Booster routine, why don't you use the Softbrenner ROM, that was used to create it. Just get that piece of code back, instead of disassembling the RGEN framework. ;) So good luck with that. :)
Thank you for the information but I've already disassembled it, and just as well really because I got to see for myself how badly organised and redundant most of the code in the ROM is. I therefore feel if you use Softbrenner to add more programs to the ROM you'll just end up putting good code onto bad foundations.
Come on guys, keep it easy and relax..
Quote from: TFM/FS on 21:40, 25 September 11
If you want to "isolate" the ROM-Booster routine, why don't you use the Softbrenner ROM, that was used to create it. Just get that piece of code back, instead of disassembling the RGEN framework. ;) So good luck with that. :)
I've tried this and the file it extracts is only half the story. The ROM does lots of really strange things when booting up...!
I've just spent 3 hours disassembling the ROM, and I can assure you it's got lots of unnecessary and weird buggy code.
Nice idea, but really badly implemented. The work continues :)
Ok, I've extracted it. What a pain that was, but understand how it works now.
Neat method Inicron, but lots of pointless code. Maybe it's there to be red herrings?
@redbox: if you are able to disassemble it, understand it, and eventually document it ; it could be a nice addition to the community if you could add it onto the wiki !
Quote from: norecess on 14:34, 26 September 11
@redbox: if you are able to disassemble it, understand it, and eventually document it ; it could be a nice addition to the community if you could add it onto the wiki !
Of course - will do exactly that when I've finished with it :)
Actually, looking more into it, I think the developer built some tables and some conditional routines to aid in the creation of the ROM - the values could be changed so they could experiment with it. When it was finished, these were kept rather than optimising it.
I'd rather write a clearer example so that you can see actually how it's done - and it's this version I would share with everyone :)
It's got an interesting patch that appears to detect and initialise AMSDOS (or whatever is in ROM 7) independently. I assume this is because a ROM in position 15 (where BOOSTER has to go) does something to position 7 (disc OS ROM) - is this correct?
When CPC gets started, the ROM 0 will be initialized. Most of the times, ROM 0 is BASIC.
BASIC will then initialize all the ROMs, starting from ROM 15 to ROM 1, then finally execute himself.
I believe that BOOSTER will initialize ROMs from 31 to 16, then will accumulate space required for each of them in RAM and end the initialization process.
Was booster 464 compatible? Don't forget that the 464 (The classic one at least, not sure about the Plus) only initialised ROMs 7 to 0, not 15 to 0. Also, they may be initialising ROM 7 first, then doing the others.
Bryce.
@norecess - I think it's the OS that walks the ROMs, not BASIC, but I see what you're saying.
@Bryce - I think you're right here because I skipped this code and the AMSDOS ROM didn't initialise. The reason for the order is unclear, but I'm getting there!
The BASIC will actually call KL ROM WALK (in firmware) to initialize all ROMs.
It's shocking how much urban legends I read here ;)
The CPC initializes the ROMs in the following order 15, 14, 13, ... 2, 1 and 0. As easily can be seen by the sign-on messages of the single ROMs. And BASIC alway displays its sign on string at the end.
The Inicron Booster ROM and routine is still not understood here. Obviously! It's less than 1 KB code. The routine that initializes the ROMs 31, 30... 17 and 16 is actually very small. And yes it uses parts of the CPC-OS, why not? Why to invent the wheel again?
Years ago I did a disassembly of the Booster ROM and the corresponding routine and it took me minutes to understand it. Sorry I don't want to talk too loud here, but seemingly there's no English docs about ROMs ?? I would contribute docs here, but all I have is written in German.
Quote from: TFM/FS on 19:51, 26 September 11
Years ago I did a disassembly of the Booster ROM and the corresponding routine and it took me minutes to understand it. Sorry I don't want to talk too loud here, but seemingly there's no English docs about ROMs ?? I would contribute docs here, but all I have is written in German.
That's okay, I understand German. Can you post the docs please.
And can anyone tell me what does pressing SPACE when resetting the CPC do when you've got the BOOSTER ROM installed[nb]My real CPC is at work and I can't emulate it in WinAPE...[/nb]? I think it probably stops it from scanning positions 16-31, but I'd like confirmation of this.
QuoteIt's shocking how much urban legends I read here
We are all still learning, hey. :D
Quote from: norecess on 13:07, 27 September 11
We are all still learning, hey. :D
If we stop learning, then we're dead :o