Foenix IDE

Description of your first forum.
User avatar
tomxp411
Posts: 10
Joined: Thu May 09, 2019 11:19 pm
Location: California, USA

Re: Foenix IDE

Post by tomxp411 » Mon May 13, 2019 8:59 pm

Thanks, Stef. I'll check it out tonight.
User avatar
techristian
Posts: 14
Joined: Mon Apr 15, 2019 1:39 am
Location: Windsor, Ontario
Contact:

Re: Foenix IDE

Post by techristian » Mon May 13, 2019 9:42 pm

Just curious. Does this system locate files the same as Commodore. In other words, the first 2 (or in the case of 16 bit the first 4 bytes are the DESTINATION ADDRESS of the file ?) In other words is the --cbm-prg flag necessary ? Totally relocatable in 65816 , but in 6502 mode ?
64tass -T -a may2019foenix.asm -L aaassem.txt --cbm-prg
Dan
User avatar
tomxp411
Posts: 10
Joined: Thu May 09, 2019 11:19 pm
Location: California, USA

Re: Foenix IDE

Post by tomxp411 » Mon May 13, 2019 11:37 pm

Actually, the 65816 has a 24 bit address bus, so it only uses 3 bytes for addressing. But the complicated part is that the CPU uses a banked address scheme, so simply specifying a 24-bit start address is inefficient, as multi-bank programs will have wasted space.

I wrote the emulator to consume HEX files, which look like this:

Start Code (: character)
Length (2 bytes)
Address (2 bytes)
Record Type (0=data, 1=end of file, 2=segment)
Data (n bytes)
Checksum (1 byte)

Normally, this is encoded in ASCII, with two hexadecimal digits per byte. But you could also encode that as binary data. If the file is prefixed with something that's not usable by the simple PRG loader (ie: the first two bytes are something like $FF FF C2 56), then the kernel would know to read record data, rather than simple binary data.
User avatar
techristian
Posts: 14
Joined: Mon Apr 15, 2019 1:39 am
Location: Windsor, Ontario
Contact:

Re: Foenix IDE

Post by techristian » Tue May 14, 2019 3:25 pm

I like working in pure Machine Language. Is there any advantage using a custom IDE over 64TASS when programming in ML ?

Dan
User avatar
stef
Posts: 64
Joined: Thu Jan 01, 1970 12:00 am
Location: Somewhere in the Universe
Contact:

Re: Foenix IDE

Post by stef » Tue May 14, 2019 5:03 pm

techristian wrote:
Tue May 14, 2019 3:25 pm
I like working in pure Machine Language. Is there any advantage using a custom IDE over 64TASS when programming in ML ?

Dan
Dan,

64Tass is the compiler, FoenixIDE is the emulator and debugger.

You need to compile your in 64Tass before you can use it in FoenixIDE.
Mistress of All Villainy
User avatar
techristian
Posts: 14
Joined: Mon Apr 15, 2019 1:39 am
Location: Windsor, Ontario
Contact:

Re: Foenix IDE

Post by techristian » Wed May 15, 2019 3:24 pm

Thanks for the clarification. I have used MPLAB X IDE before to program PIC chips...and come to think of it, yes it does test my code.
Dan
sduensin
Posts: 2
Joined: Mon Sep 02, 2019 11:13 pm

Re: Foenix IDE

Post by sduensin » Tue Sep 03, 2019 2:18 am

Hi there! New developer here, hopefully. :-) Had a couple questions...

- Will the IDE build/run on non-Windows platforms? I'm currently building a porting tool / library for 16 bit systems. So far, all supported platforms build from a Linux installation (Windows, macOS, Linux, IIgs, and almost Atari ST; Amiga on the way!). I'd love to add the C256.

- Has anyone managed to use wdctools with it? JoeyLib needs a C compiler. On the IIgs I'm using ORCA/C so I'm pretty unfamiliar with the wdc compiler.

- Is there just a general emulator without the IDE features? Maybe that'd be easier to make portable?


Thanks! I'm totally new here and am trying to get up to speed so I can ask actual useful questions. :-)

Scott
User avatar
stef
Posts: 64
Joined: Thu Jan 01, 1970 12:00 am
Location: Somewhere in the Universe
Contact:

Re: Foenix IDE

Post by stef » Tue Sep 03, 2019 3:43 am

sduensin wrote:
Tue Sep 03, 2019 2:18 am
Hi there! New developer here, hopefully. :-) Had a couple questions...

- Will the IDE build/run on non-Windows platforms? I'm currently building a porting tool / library for 16 bit systems. So far, all supported platforms build from a Linux installation (Windows, macOS, Linux, IIgs, and almost Atari ST; Amiga on the way!). I'd love to add the C256.

- Has anyone managed to use wdctools with it? JoeyLib needs a C compiler. On the IIgs I'm using ORCA/C so I'm pretty unfamiliar with the wdc compiler.

- Is there just a general emulator without the IDE features? Maybe that'd be easier to make portable?


Thanks! I'm totally new here and am trying to get up to speed so I can ask actual useful questions. :-)

Scott
Hey Scott,
I think your questions are more than relevant, However, I for one won't be able to answer, I think @PJW would be the best person to ask, also Mike which I am not sure if he is here. He has been using WDC to create the Workbench... I might have to get you on Discord.

Let's see what PJW has to say.

Welcome

Cheers

Stefany
Mistress of All Villainy
User avatar
PJW
Posts: 24
Joined: Wed Apr 24, 2019 12:44 am

Re: Foenix IDE

Post by PJW » Tue Sep 03, 2019 2:32 pm

I think grenouye might be better able to answer the questions than I could... at least in terms of how the emulator/IDE is structured. I don't think it will run cross-platform at the moment, but I don't know enough about the issue to say why or if that's still true or which library it's using that would prevent that. I've played with Mono a very little bit back in the day, but I really don't know what is and isn't supported cross-platform.

As for the assembler/compiler support. It can read raw BIN files or Intel HEX files. So any system that can produce those should be good to go. Oh, it can also work with listing files... at least the ones in the format 64TASS uses. Listing files aren't required however, they just make it easier to debug.
User avatar
grenouye
Posts: 8
Joined: Sat Apr 13, 2019 1:57 pm
Location: Halifax, NS
Contact:

Re: Foenix IDE

Post by grenouye » Wed Sep 04, 2019 12:20 am

Sorry for the lateness of my response.

Well, the IDE is currently only compiled for Windows. Since it's written in C#, someone could attempt to build it with Mono on Linux. Another possibility is to use Wine, with the .Net framework installed. But in my experience, this is painful to users. Someone else started writing a C++ implementation on Linux, but last I heard, this was abandoned. https://github.com/rdaum/c256emu

The IDE will accept .hex and .bin files that are produced by the 64tass assembler. For a given .hex, if the .lst is provided, then the comments and labels will be displayed. Otherwise, the instructions are decoded as the project is run. The beauty of the Foenix IDE is that it also emulate the graphics rendering of the machine and several of the hardware interrupts.

The IDE has a tileset editor and is capable of uploading .hex and .bin to the machine itself.

I had never heard of the WDCtools before. I think it would be great if we could support whatever file format these provide. We can also use the emulator to compare the accuracy of ours.

The IDE still requires a lot of TLC to make it more useful for C256 Foenix developers.
Post Reply