This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Hi,Which Devkit to buy?

Hi,
    I have been offered work converting some codecs onto the Cortex M0+ processor.The project will be 100% assembly language. Wiki lists a whole host of development tools:

https://en.wikipedia.org/wiki/List_of_ARM_Cortex-M_development_tools

What I am really looking for is an IDE that works in a similar or in the same manner as the PsyQ devkits (for PSX and Saturn) or, failing that, a tool similar to SNASM. I have used quite a few devkits developed inhouse by console manufacturers and I have to say that 95% of them were rubbish (the exception was the Color Gameboy development kit which was excellent).

I freely admit that I fall into the classic programmers logic in that a devkit is a hardware problem. Back at Core we had someone who setup, fixed and updated the development tools we used so every morning we just powered up PC & Console and within 45 seconds we were ready to go.

The PsyQ & SNASM devkits allowed multiple windows on arbitrary parts of memory viewed as hex, decimal or binary, the values in each register (including the SPs and the flags) were shown, debugging while looking at the source OR compiled assembly language made things easy. An unlimited number of breakpoints were allowed.

The kits could also emulate CD drives (of little value here) BUT with some modern consoles storing hex images of multiple games on a serial ROM, it would be nice to produce a view of files and subroutines (for future expansion).

In short, it was these devkits that made projects such as Tomb Raider to thrive. Along with Source Safe, 10 programmers could keep working on their own element of the game code and when the files were checked in at the end of the day, Gavin (lead programmer) took the latest versions of each programmers work and blended them.

FYI I do have a lot of experience programming consoles and computers (22 different assembly languages so far) and without a shadow of a doubt, Thumb is by far the most difficult instruction-set to masker. I am sure that Sophie Wilson DID analyse C compiled for the ARM7 but the remaining 16-bit instructions seem to run at about 10 caveats per command.

I HAVE found some very elegant speed ups which are general and I hope useful to all. The virtual RISC processors computer scientists develop new software on presume 16 registers, 15 of which can be used for general purpose storage. The ARM uses R13 for LR, R14 for SP & R15 for IP. Now, when your code reaches it's bottom level (no further CALL instructions), you can PUSH R14 (place return address on stack and store R14 to RAM (only works if you have no interrupts). It more or less means your code has to run in an IRQ or NMI but the payoff is that 15 rather than 13 general purpose registers are availbalbe.

I have converted a lot of code from the computer scientists theoretical (the CPU is likely software inside a faster machine) processor to Thumb really easily and efficinetly. Whatever yo do, you need to print out a copy of the M0/M0+ quick reference and blutac it into your eyeline as you code....

I am working hard on this based on the fact that it is so damned difficult to do ANYTING that nobody will attempt an entire project. Once it's all running I will be looking for someone to convert Doom onto the thing. With 2 CPUs on the Nano I would expect 1 CPU to handle the left half of the screen while the other renders the right half of the screen.