Finished a little bit more MCAmiga testing, especially on MorphOS and AmigaOS4 there where some serious problems. On AmigaOS4 the device view did not work at all, just crashed, reason was a bug in the AmigaDOS unit of FreePascal. I fixed that exact problem already for other platforms, and now also on AmigaOS4. On MorphOS only tiny changes are needed, mostly related to the supplied lha being a little bit different than the one on classic, but still very close. AROS was a bigger problem, the lha command here is completely different, very limited actually, for example you cannot extract a single file.
I got a hint from Charlie to use cad to unpack archives, because it supports many different formats and it’s available for at least classic and MorphOS, I found out for AROS there is also a version in contrib, that means at least Icaros even comes automatically with it. AmigaOS4 seems not to have it, at least I did not find it. It works very nicely, easy to operate, but sadly it’s only for unpacking archives, no way to pack them. That means the functionality is limited to read only access in MCAmiga. Therefore I gave xad a lower priority over the native lha/lzx programs, except on AROS because there xad is the better choice, the native lha command does not work at all.
Besides that big feature for handling archives, I added a lot of small stuff, like Shift cursor keys to select file, or Ctrl cursor keys to jump fast up and down or to first item (left) or to last item (right). Start programs with enter and wait for finish or with Shift Enter an do not wait for it, so effectively start it in a new shell.
The Source is now also available on GitHub completely. I did put it there on the first release but I forget to push the changed source. I committed locally only. But now the full source should be there, so take it an improve it and most importantly have fun with it.
For now that is already a very useful program for me, more or less finished. I do not really need more than that, maybe one day one could add an editor to it, especially an hex editor. But at the moment I don’t need it.
The requirements did not change, still Amiga 68020+, 4 MB, AmigaOS3.x, AmigaOS4 (except X5000), MorphOS 3.x, AROS i386 ABIv0, AROS ARM ABIv0, AROS x64 ABIv1 NonSMP
Working on the lha handling inside MCAmiga, would be nice to have it like in Midnight commander where you can directly browse inside archive, add, remove files, and even edit files inside.
I got it somehow to work, still with some limitations, for example, LHA you cant create an empty directory, so I create the directory with a ‘delete_me’ file inside. Also when the directory is created “merged” on adding (usually means added together with its parent directory) you cant remove it, if will stay there, even empty. But still it works already very nicely. Until now you can copy files to archive, copy file from archive, make a new directory, rename files. View and edit files (also with external tools, file is extracted to temp dir). Also introduced the Tools menu (F2) well known from midnight commander.
I did not try on AROS/MorphOS or so until now, hmm curious if all LHA versions are the same, I should try some different versions 😉
Worked a little bit on the mouse control for MCAmiga, the mouse/video unit combination makes it very easy, exactly the same mechanisms than the keyboard events. So now you can also use the mouse to click on buttons or select files. The search and jump function was already included in the last version but I did not show them in a video, so I included them here.
The second part was to activate app window functionality, that you can drag and drop a file onto one of the two panels and the program will automatically jump to that directory and file. I did give me some headache though, because initially it did not work on Classic Amiga and MorphOS, and I found out that the FreePascal workbench unit had a big bug. The syscall offset of the needed Function AddAppWindowA was wrong. Now thats fixed as well.
Download as always for all Amiga systems on the programs page.
MCAmiga work continues, move now completely works (also with the fast move when source and destination are on the same harddisk). I build in a little text viewer also with hex display which I use very often, and for editor you can define yourself which editor you want to use, ed, editpad or what else you like. Already works very nicely and I use it frequently now, and hopefully that motivates me to improve it further. 😉
There where some little changes needed to make it compile for other Amiga Systems (AROS, MorphOS, AmigaOS4) but not serious changes, but I did not try them, so be careful when using it.
Playing around with the video unit, really easy to write a norton/midnight commander style application with it. Not really seriously plan to make such app, but to be fair, Amiga is lacking a good norton/midnight commander style app which is fully controllable via keyboard (typical amiga application are more mouse centered, like dopus 4/5, filemaster and so on)
Implemented basic sorting and search function including replace, very basic but working, also the sorting close to the LibreOffice sorting, multi key sorting (up to 3 but in principle could make more, but is more than 3 really useful?) Together with the Format options this should be enough for a new LEU Version release Leu 0.08.
Fixed a little bug in Leu regarding number format. If no number format was selected the output format was one char too long, resulting in very ugly rounding errors. Already long time before I started to implement a solution to set the number format for a cell. But it was very crude and not ready to release, so I deactivated it for Leu 0.07. But this bug got me back to work. 😉 I started to implement a format settings window, a little bit inspired by the LibreOffice one. Finally its working, not perfect but already usable.
Also fixed some small problems with the color blending on selection for RTG systems (for <15bit screens it will just use a fixed color for the selection) and new now the fixed col/row will show where the selected cell is. much easier to find, especially if it is out of scroll area.
Updated Online Amiga FPC Compiler again with the latest CRT unit and also tried a bunch of console based games using CRT units, all work more or less (some need some adjustments in the code) some of them are even single file pascal source files, so can be used in the online compiler.
Someone might ask how the crt is going, and how useful this is already. I want to answer it with a little screenshot:
That is a nice little rouge-like game called DeadCold, written in FreePascal for the console. As you can see it runs and the picture looks right. (it’s not perfectly right, but somehow usable). And because a little video tells much more about how this game runs here is also a little video about it:
There are some drawing problems, especially on the messages and sometimes some of the map disappear but not bad I would say. There are also some messages about removing critter failed… but that seems some error in the game code.
The colors is badly hacked for now, and only works for AROS, I’m not sure if I can upload that this status to the official repository, I will work on it a bit more.