Latest version is available here. It fixes problems with IX/IY registers handling.
I realized I did not know anything about the RST instruction. Is it kind of special CALL instruction ? Does it have to be used only when dealing with interrupts ? etc. Thanks to pulkomandy who had to dig deeply around it while working on its Caprice Reloaded project, he was able to give me some precise details about it. I found our conversation so interesting that I finally decided to make a dedicated article about it. You can read the article here (also added in Articles section).
Octoate sent me words about the updated project template he did for Code::Blocks IDE (which is a free and powerful source-code editor). Sample project allows to compile SDCC Tutorial Part 3 ("Hello World"). An archive is provided with step-by-step description.
Update includes the following :
- added SDCC2Pasmo v1.3
- changed project settings (filename can be set in project properties)
- changed post-build options to use the filename of the project properties
- added pre- and post-build batch files to execute own commands before and after the build process (e.g. for compressing files and adding files to a DSK file)
- added ManageDSK with example in post-build batch file which creates a new DSK image which contains all .BIN files from the bin/Release directory
You can get more information about this update here. Many thanks to you Octoate !
When I got back into CPC programming in 2008, I wondered at the time how could I achieve to create a slow graphical effect (taking several VBLs) without caring about the music needing to be replayed 50 times per second. The solution of course was to use interrupts, and this is what this new article is aimed at ! (also added in Articles section).
As usual, I absolutely don't consider myself as an expert, so please if you find mistakes or have suggestions I would be glad to complete the article with your input !
For years, I used poor memory design scheme with my programs to adress the extended 64Kb of RAM - it was time to learn more about other available options. This article will let programmers understand the benefits of using &C1, &C2 and &C3 modes of the Gate Array. You can read it here (also added in Articles section).
Many thanks to Optimus for reporting me some badly generated code when dealing with AND logic-operation. You can download latest version here.
PC-CPC integrated in Phactory
PC-CPC is an Amstrad CPC emulator being developed by Demoniak. While not being 100% accurate with Amstrad CPC emulation these days, it actually replays decently Pheelone and Phreaks demos.
Internally, this software is made using C++ and WinAPI : both can be easily embedded inside a C# application. As a consequence, I decided to integrate the emulator as a plugin directly into Phactory.
So now once the final DSK file is built, it can be immediately launched under emulator, saving some precious time in the process of adding code / quick testing / adding back other code / etc.
PC-CPC usage is currently optional, there is an option in Phactory to revert back to external launch of WinAPE if required.
I still don't know where this emulator integration will end - Demoniak is currently adding new appreciated debugging features inside the emulator, so I wonder if these additional floating dialogs should be embedded as panels inside Phactory or let them untouched... more information about Phactory can be found here.
Octoate sent me words about his template-project for Code::Blocks IDE (which is a free and powerful source-code editor). Sample project allows to compile SDCC Tutorial Part 3 ("Hello World"). An archive is provided with step-by-step description. You can get more information here (also added in Articles section). Thank you Octoate !
Converting bitmap to custom format...
I went further with my own development editor lately.
First, I switched the build pipeline from PhrozenC to SDCC/SDCC2Pasmo. As a consequence, I can now use a full-featured ANSI C compiler using Maxam-style syntax for inlined assembly code. Additionally to that, it's now possible to double-click in Output Window onto a build warning / error if any to open directly the corresponding source file at right line location (like Visual Studio actually does).
Next, I decided to do major user-interface updates. As I want this tool to be completely adapted to my own needs and likes, I used a dark gray theme to relax my eyes while programming (changing default Windows theme colors was not enough to me). Also, Project Explorer (allowing resources management in project) and Output Window (mostly used to view build results) panels are now located by default at the left, with auto-hide state enabled. This allows me to focus on an extended view of the currently activated plugin (while developing, it's important to keep concentration and avoid any kind of distractions).
Finally, I did major clean-ups. I removed many custom features I specifically added to generate data for Phreaks demo (entirely written using previous version of this tool). I also removed unused features in user interface, that way it's easier for me to maintain the application.
So basically, that's it. Some screenshots are visible on product description page (click here). And oh, BTW - I also renamed the project, Phactory being waayyyy cooler than the too-much classical CPC.Net name :)