Foenix IDE - Rev C

Description of your first forum.
Post Reply
User avatar
grenouye
Posts: 31
Joined: Sat Apr 13, 2019 1:57 pm
Location: Halifax, NS
Contact:

Foenix IDE - Rev C

Post by grenouye » Tue Mar 03, 2020 3:59 am

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.
Attachments
FoenixIDE-FMX.PNG
FoenixIDE-FMX.PNG (258.66 KiB) Viewed 462 times
User avatar
grenouye
Posts: 31
Joined: Sat Apr 13, 2019 1:57 pm
Location: Halifax, NS
Contact:

Re: Foenix IDE - Rev C

Post by grenouye » Sun Mar 15, 2020 3:59 am

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
  • 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.
aniou
Posts: 1
Joined: Wed Jun 19, 2019 6:16 pm

Re: Foenix IDE - Rev C

Post by aniou » Mon Mar 16, 2020 7:49 pm

grenouye wrote:
Sun Mar 15, 2020 3:59 am
Fixed a problem in the UploaderWindow that was resetting vectors to 0, instead of leaving existing values untouched.
Yay! Thanks!
User avatar
grenouye
Posts: 31
Joined: Sat Apr 13, 2019 1:57 pm
Location: Halifax, NS
Contact:

Re: Foenix IDE - Rev C

Post by grenouye » Sat Mar 21, 2020 3:44 am

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.
FoenixIDE-CharacterEditor.png
FoenixIDE-CharacterEditor.png (30.55 KiB) Viewed 363 times
User avatar
stef
Posts: 95
Joined: Thu Jan 01, 1970 12:00 am
Location: Somewhere in the Universe
Contact:

Re: Foenix IDE - Rev C

Post by stef » Sat Mar 21, 2020 6:03 am

grenouye wrote:
Sat Mar 21, 2020 3:44 am
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.

FoenixIDE-CharacterEditor.png
This is pretty awesome Dan! Good job!

Cheers
Stefany
Mistress of All Villainy
User avatar
grenouye
Posts: 31
Joined: Sat Apr 13, 2019 1:57 pm
Location: Halifax, NS
Contact:

Re: Foenix IDE - Rev C

Post by grenouye » Thu Apr 23, 2020 12:37 am

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
  • * 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
Here are a few screenshots:
joystick.png
joystick.png (1.77 KiB) Viewed 244 times
The Virtual Joystick writes into the address $AF:E800. When the joystick is at rest, the value $9F is present.
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.

cpu-window.png
cpu-window.png (49.28 KiB) Viewed 244 times
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).

watch-list.png
watch-list.png (13.45 KiB) Viewed 244 times
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.
Post Reply