Foenix IDE - Rev C
Foenix IDE - Rev C
Hi everyone,
I've started working on the new Rev C variant of the IDE.
Since I didn't want to screw up all existing programs out there, I implemented a BoardRevision switcher in the Main Window Tool Strip.
Also, someone mentioned that we should implement the DIP switches, so I started doing this too.
The new FMX kernel has a built-in basic, and the emulator is having trouble with some of the opcodes. So I'll be debugging this next.
The SD Card controller was changed for the Rev C, so I'll have to figure out a way to switch between the two modes.
I'm really not sure how much support we will need for Rev B, so if you think it's futile to support it, please let me know. I think there were less than a dozen boards built.
I've started working on the new Rev C variant of the IDE.
Since I didn't want to screw up all existing programs out there, I implemented a BoardRevision switcher in the Main Window Tool Strip.
Also, someone mentioned that we should implement the DIP switches, so I started doing this too.
The new FMX kernel has a built-in basic, and the emulator is having trouble with some of the opcodes. So I'll be debugging this next.
The SD Card controller was changed for the Rev C, so I'll have to figure out a way to switch between the two modes.
I'm really not sure how much support we will need for Rev B, so if you think it's futile to support it, please let me know. I think there were less than a dozen boards built.
- Attachments
-
- FoenixIDE-FMX.PNG (258.66 KiB) Viewed 3504 times
Re: Foenix IDE - Rev C
There have been many updates to the IDE since last week.
The FMX kernel is loaded by default, when you start the IDE. So, just press Run(F5) in the CPU Window and you will see the usual prompt. Disable "Break on IRQ" if you want to test BASIC816.
If you wouldn't mind sending me your average FPS and CPS, along with CPU type and memory, I will keep making improvements.
With application Fragger (lots of sprites and tiles), I'm getting CPS: 12MHz+ and FPS: 63, i7 7700HQ @ 2.8Ghz, with 32 GB RAM.
Release 0.3.1.2
The FMX kernel is loaded by default, when you start the IDE. So, just press Run(F5) in the CPU Window and you will see the usual prompt. Disable "Break on IRQ" if you want to test BASIC816.
If you wouldn't mind sending me your average FPS and CPS, along with CPU type and memory, I will keep making improvements.
With application Fragger (lots of sprites and tiles), I'm getting CPS: 12MHz+ and FPS: 63, i7 7700HQ @ 2.8Ghz, with 32 GB RAM.
Release 0.3.1.2
- Started to use the Multimedia Timer to improve drawing time.
- Updated the Bitmap loader to allow uploading of bin files directly anywhere in memory.
- Tied the CPU thread to the CPU Window. Not sure why this wasn't done before.
- Adjusted loading and starting of the system without re-initializing memory.
- Fixed slow GPU FPS (frames per second) when drawing tiles.
- Fixed a problem in the UploaderWindow that was resetting vectors to 0, instead of leaving existing values untouched.
- Added a Save button to the MemoryWindow, when downloading from the Foenix.
Re: Foenix IDE - Rev C
I have just release version 0.4.0.0 of the Foenix IDE. The IDE now has a Character Editor.
You can load *.bin, *.bmp and *.png files and edit them. Each character is 8 bytes and there are 256 characters.
When you are finished editing your character set, save the file as *.bin. You can then include it in your assembly code with the ".binary" 64tass command.
You can load *.bin, *.bmp and *.png files and edit them. Each character is 8 bytes and there are 256 characters.
When you are finished editing your character set, save the file as *.bin. You can then include it in your assembly code with the ".binary" 64tass command.
Re: Foenix IDE - Rev C
This is pretty awesome Dan! Good job!grenouye wrote: ↑Sat Mar 21, 2020 3:44 amI have just release version 0.4.0.0 of the Foenix IDE. The IDE now has a Character Editor.
You can load *.bin, *.bmp and *.png files and edit them. Each character is 8 bytes and there are 256 characters.
When you are finished editing your character set, save the file as *.bin. You can then include it in your assembly code with the ".binary" 64tass command.
FoenixIDE-CharacterEditor.png
Cheers
Stefany
Mistress of All Villainy
Re: Foenix IDE - Rev C
Hey Foenix Fans!
A quick update on new development of the IDE since last month. We are now at release 0.4.1.7. Of course, you can browse the Release Notes in the project Github file: https://github.com/Trinity-11/FoenixIDE
When the Virtual Joystick form has focus, pressing the keyboard keys "A","S","D" and "W" will move the joystick in the proper direction. Keys "Q" and "E" are mapped to button 1 and 2, respectively.
The CPU Window has been update to fix several issues with displaying labels and breakpoints. The labels are now shown in the margin (with a blue background). Breakpoints are shown as a big red dot, also in the margin.
The Step Over (F7) functionality has been updated to properly jump to addresses for the BRA, BRL, JMP and JML.
Added the Reset button: this is the same as the "Reset | Restart" in the Main Window.
Added the Watch button: this is the same as the "Windows " Watch List" in the Main Window.
Labels can now be added in the code, by using the overlay "L" button.
You'll also notice that the Accumulator Register now shows the B portion with a black background when the accumulator is short (8 bits).
This is a completely new window that allows developers to add Memory Addresses they are interesting in keeping an eye on without having to use the Memory Window.
The watch list is updated every second as the code runs.
You can addresses by hovering over "absolute" addresses in the CPU window or by typing them in.
Once an address is listed, the 8 bit and 16 bit values are displayed.
Clicking the Memory Window button displays the page for the address in the Memory Window.
A quick update on new development of the IDE since last month. We are now at release 0.4.1.7. Of course, you can browse the Release Notes in the project Github file: https://github.com/Trinity-11/FoenixIDE
- * Many CPU opcodes were fixed (CMP, PL* NZ issues)
* Optimized the graphics rendering - hopefully everyone gets 60 frames per second
* Improved the Step Over ability in the CPU Window
* SD Card emulation for FAT16 and FAT12
* Updated the Virtual Joystick (it also accepts ASDW for movement, instead of mouse clicks and E & Q for the buttons.
* Added a new Watch List window - which is connected to the Memory Window and the CPU Window - watches can be saved and loaded from the File Menu.
* Updated the CPU Window labels and breakpoints - you can also add labels to the code now.
* Added a random number generator at address $AF:E884, just like the real machine
When the Virtual Joystick form has focus, pressing the keyboard keys "A","S","D" and "W" will move the joystick in the proper direction. Keys "Q" and "E" are mapped to button 1 and 2, respectively.
The CPU Window has been update to fix several issues with displaying labels and breakpoints. The labels are now shown in the margin (with a blue background). Breakpoints are shown as a big red dot, also in the margin.
The Step Over (F7) functionality has been updated to properly jump to addresses for the BRA, BRL, JMP and JML.
Added the Reset button: this is the same as the "Reset | Restart" in the Main Window.
Added the Watch button: this is the same as the "Windows " Watch List" in the Main Window.
Labels can now be added in the code, by using the overlay "L" button.
You'll also notice that the Accumulator Register now shows the B portion with a black background when the accumulator is short (8 bits).
This is a completely new window that allows developers to add Memory Addresses they are interesting in keeping an eye on without having to use the Memory Window.
The watch list is updated every second as the code runs.
You can addresses by hovering over "absolute" addresses in the CPU window or by typing them in.
Once an address is listed, the 8 bit and 16 bit values are displayed.
Clicking the Memory Window button displays the page for the address in the Memory Window.
Re: Foenix IDE - Rev C
Hi,
Is there support for mouse implemented in the IDE ? I do not get break on mouse interrupt. I also do not see modification in the reg0 about the mouse interrupt. I am using the IDE with default provided Kernel, and start the kernel before load and running my program.
And is it compatible with 800x600 resolution of Vicky II ?
Is there support for mouse implemented in the IDE ? I do not get break on mouse interrupt. I also do not see modification in the reg0 about the mouse interrupt. I am using the IDE with default provided Kernel, and start the kernel before load and running my program.
And is it compatible with 800x600 resolution of Vicky II ?
Re: Foenix IDE - Rev C
Finally, the Foenix IDE has been updated to support the new Vicky II display modes. Version 0.5.0.1 now supports scrolling tiles, high-resolution and pixel doubling.
See here to download the source and binary: https://github.com/Trinity-11/FoenixIDE ... se-0.5.0.1
To see a video of the tiles and scrolling, see here:
See here to download the source and binary: https://github.com/Trinity-11/FoenixIDE ... se-0.5.0.1
To see a video of the tiles and scrolling, see here:
Re: Foenix IDE - Rev C
The mouse support in the IDE doesn't raise interrupts. The value of the X and Y positions are stored in the in Vicky addresses $AF:0702 and $AF:0704, respectively. This allowed for testing of the drawing of the mouse pointer.frenchguy wrote: ↑Mon Sep 14, 2020 1:57 pmHi,
Is there support for mouse implemented in the IDE ? I do not get break on mouse interrupt. I also do not see modification in the reg0 about the mouse interrupt. I am using the IDE with default provided Kernel, and start the kernel before load and running my program.
And is it compatible with 800x600 resolution of Vicky II ?
This was much simpler than imitating the SuperIO chip. Especially, since we need to raise 3 interrupts for each mouse movement.
Re: Foenix IDE - Rev C
Ok, thanks!grenouye wrote: ↑Wed Sep 16, 2020 1:22 amThe mouse support in the IDE doesn't raise interrupts. The value of the X and Y positions are stored in the in Vicky addresses $AF:0702 and $AF:0704, respectively. This allowed for testing of the drawing of the mouse pointer.frenchguy wrote: ↑Mon Sep 14, 2020 1:57 pmHi,
Is there support for mouse implemented in the IDE ? I do not get break on mouse interrupt. I also do not see modification in the reg0 about the mouse interrupt. I am using the IDE with default provided Kernel, and start the kernel before load and running my program.
And is it compatible with 800x600 resolution of Vicky II ?
This was much simpler than imitating the SuperIO chip. Especially, since we need to raise 3 interrupts for each mouse movement.
So I guess that mouse clicks neither raise interrupts ? In that case I will have to find a workaround
Update: I have just made a quick update to take new VickyII MCR and Bitmap Control Register into account for 800x600, and a quick test, and it works fine
You can check the ongoing work here : https://www.youtube.com/channel/UCYlxuo ... nc9if15xA/