Tools for CrossDev

Started by Nworc, 19:16, 26 January 22

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Nworc

Hi guys,

I see a discussion on CPC hardware extensions going on in parallel in a separate thread, I think they want to extend the range of hardware extensions by another one  :D  okay, just kiddin', sorry.

The question here is: which hardware-tools would you say is the minimum set that make your cross-development efficient? With that I mean, sometimes you want to check your program on the real hardware, so you need to transfer it to the CPC somehow. I don't think you have a 3 inch drive connected to your PC, save it onto the disk and walk with the disk to the CPC. So, what is your preferred way to do that?

I'm still in the process to setup / complete my cross dev environment, it's not yet efficient (or even working in the way to carry the data to the cpc).

zhulien

A computer with a modern browser as the cross dev environment (unfinished) is web-based.

Prodatron

I am using SD cards (M4 Board) or USB sticks (SYMBiFACE 3) to copy and test new stuff for the real machine. Fortunately this is only necessary, if new drivers are required for new hardware, which is not supported in the emulator. Or for some final tests.

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

Shining

I develop mostly on Windows with notepad++ and WinApe. For testing on real hardware I use mostly for cpc stuff the M4, for plus stuff the c4cpc.
To test on "real" disk my cpcs are equipped with gotek and flashfloppy firmware.
TGS is back

Download my productions at:
cpc.scifinet.org

roudoudou

Quote from: Nworc on 19:16, 26 January 22
The question here is: which hardware-tools would you say is the minimum set that make your cross-development efficient?
the M4 board is very cool, you can upload snapshot, cartridge or even ROMs with a command line tool (i use it with rasm because it can produce those files easily)

for non-ROM oriented projects and small projects => an XMEM board + Orgams is more efficient than crossdev, you really save time!
use RASM, the best assembler ever made :p

I will survive

TotO

Using the X-MEM + Orgams allowed to do ROM projects. In example, Orgams. ;D
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

roudoudou

Quote from: TotO on 01:38, 28 January 22
Using the X-MEM + Orgams allowed to do ROM projects. In example, Orgams. ;D
yeah but you slowdown a lot the process, that's why i prefer crossdev for ROM dev
use RASM, the best assembler ever made :p

I will survive

Nworc

Quote from: roudoudou
the M4 board is very cool, you can upload snapshot, cartridge or even ROMs with a command line tool

Yes, that all sounds great and I'm trying get one. That's the tricky part: you place a nice comment explaining your desire in that comment section on that website and then you just sit back and wait ... for how long?

Shining

Or you write a personal message to @Duke .
TGS is back

Download my productions at:
cpc.scifinet.org

Nworc

#9
Quote from: roudoudoufor non-ROM oriented projects and small projects => an XMEM board + Orgams is more efficient than crossdev, you really save time!

As far as I understood, XMEM board + Orgasm means to develop directly on the CPC.

I'm still a bit stuck: the M4 board will not be available for the next couple of months (due to shortage on some chips which I can understand), so I'm still looking for an alternative to the M4 board.

The Symbiface III with its great possibilites allows you to mutate your small CPC to a Cray I or II, but that's a bit too much for me.

Gotek + Flashfloppy is the way to go if you like to walk around with a memory stick.

Apart from the above: with the tons of hardware extenstions available nowadays for the CPC, isn't there one alternative to the M4 board that allows you to send your DSK via Wifi? I'm also willing to buy your old M4 board for twice the price if someone doesn't need it anymore, I just don't want to be Waiting for Godot.





roudoudou

Usifac2 Can do this (wifi+dsk) but maybe Windows only
I did not try mine yet
use RASM, the best assembler ever made :p

I will survive

Nworc

Thank you, that thing looks promising.

villain

I will not sell my M4 but if you need it for a limited time for developing purposes, then contact me.  :)

Nworc

Hey, cool, that's very kind of you but I guess that won't be neccessary - I'm already ordering this Usifac, I think that'll do.

Prodatron

#14
Quote from: Nworc on 18:08, 15 February 22I'm still a bit stuck: the M4 board will not be available for the next couple of months (due to shortage on some chips which I can understand), so I'm still looking for an alternative to the M4 board.

The Symbiface III with its great possibilites allows you to mutate your small CPC to a Cray I or II, but that's a bit too much for me.
The SF3 currently isn't available as well.
BTW, when speaking about a "Cray I/II" both the M4 and the SF3 are using quite similiar ARM Cortex CPUs (which in both cases don't replace/accelerate the CPC but just work as an interface). "Too much" is a relative definition, both are XXXXXXX times (place a big number here) more powerful than the CPC with its 4MHz Z80.

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

norecess

Quote from: Nworc on 19:16, 26 January 22So, what is your preferred way to do that?

Not saying it's the best way to do things, but my personal workflow is to dev completely on PC and test on PC using an emulator. Then, when I finish a coding session (end of evening etc) or an important milestone, I enjoy sitting in front of the real hardware and test if things went well as expected (which means: "slow" transfert on the HxC / C4CPC).

roudoudou

Quote from: Prodatron on 01:05, 16 February 22
The SF3 currently isn't available as well.
BTW, when speaking about a "Cray I/II" both the M4 and the SF3 are using quite similiar ARM Cortex CPUs (which in both cases don't replace/accelerate the CPC but just work as an interface). "Too much" is a relative definition, both are XXXXXXX times (place a big number here) more powerful than the CPC with its 4MHz Z80.
M4 board is like a cray compared to CPC but the CPC can't see it! He's barely seing a romboard with some cool RSX, nothing related with that power
use RASM, the best assembler ever made :p

I will survive

krusty_benediction

Quote from: Nworc on 19:16, 26 January 22
Hi guys,

I see a discussion on CPC hardware extensions going on in parallel in a separate thread, I think they want to extend the range of hardware extensions by another one  :D  okay, just kiddin', sorry.

The question here is: which hardware-tools would you say is the minimum set that make your cross-development efficient? With that I mean, sometimes you want to check your program on the real hardware, so you need to transfer it to the CPC somehow. I don't think you have a 3 inch drive connected to your PC, save it onto the disk and walk with the disk to the CPC. So, what is your preferred way to do that?

I'm still in the process to setup / complete my cross dev environment, it's not yet efficient (or even working in the way to carry the data to the cpc).
In my workflow, I reduce at maximum physical interactions with the machine.I cross-dev on PC (mainly on Linux) and use Makefiles to automatize my build & try process. I focus on demo-coding only, but I'm rather confident my workflow would work for a game or a tool.
In order of importance, here are what I use:- M4 to send snapshots on CPC. No need to touch the CPC for that (each time I assemble, the stuff is executed in real time on CPC)
- HXC in USB flavor to simulate the drive with a DSK generated on the PC. Need to type run on the CPC, but I could add a ROM that automatically does it (each time I link all the things, I can quickly check the result on CPC)
- minibooster to send some information on PC for debugging purposes (I have mainly used it to send some counter information in my latest demo to improve the music syncing)
When something crashes, I mainly rely on emulator for debugging purpose. Winape with wine is the best choice at the moment. Better emulators do not still propose equivalent debugging tools.Here I'm pretty sure the best would be to have a CPC extension that is able to build a snapshot in cpc (with memory + chips register information) on request to use it on CPC and do a forensic analysis


Nworc

Quote from: Prodatron
Quote from: Nworc
    The Symbiface III with its great possibilites allows you to mutate your small CPC to a Cray I or II, but that's a bit too much for me.

BTW, when speaking about a "Cray I/II" both the M4 and the SF3 are using quite similiar ARM Cortex CPUs (which in both cases don't replace/accelerate the CPC but just work as an interface).

I didn't check and thought because of it's name "Symbiface" that it would be that CPC Trex with Symbos on it. Okay I now see that doesn't make sense. I'm sorry for that misunderstanding, I guess it's because of its similar names.

Nworc

#19
Thanks to all of you for providing insights.

Quote from: krusty_benediction link
... I focus on demo-coding only, ...

Hey, nice to hear that!, that's also my main focus. Let's do the "la rupture d'écran" and other things! :-)

Quote
When something crashes, I mainly rely on emulator for debugging purpose. Winape with wine is the best choice at the moment. Better emulators do not still propose equivalent debugging tools.Here I'm pretty sure the best would be to have a CPC extension that is able to build a snapshot in cpc (with memory + chips register information) on request to use it on CPC and do a forensic analysis

Well, with a little bit of time and knowledge such tool could be made with an Arduino. I'm using the poor man's way of just halting the CPU and switching the 1st and 2nd 64K set of the 6128 using a switch, so that forensic analysis can be made directly on the CPC using SMon.

And if you want to know where you've lost your program counter, so here it is - just look at it: (okay, with the inaccuracy of 1024 bytes)


Prodatron

Quote from: Nworc on 12:23, 16 February 22I didn't check and thought because of it's name "Symbiface" that it would be that CPC Trex with Symbos on it. Okay I now see that doesn't make sense. I'm sorry for that misunderstanding, I guess it's because of its similar names.
Similar names?Both the SF2 and SF3 are mainly ram/rom expansions (like we already had in the 80ies) + additional mass storage interfaces + mouse and RTC.The SF3 has some add-ons like wifi (like the M4 board) and mp3. Both are not replacing or accelerating the CPCs Z80, which isn't possible anyway.

The CPC Trex was a completely different thing: It was a cpc fpga clone. It included ("emulated") parts of the SF2 and had SymbOS as the boot and computer core selection system. But that was only used around 2006, about 15 years ago :)

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

HAL6128

Those principles of expansion are very old and common, even in the 80ies. I'm remembering an MSDOS expansion with an INTEL chip and some further (internal) RAM ?? (CPCRULEZ > AMSTRAD CPC > > HARDWARE > PERIPHERIQUES - INTERFACES > MSDOS board for 6128) which doesn't makes the CPC faster but just expand it. The CPC is still the same with a sidecar.
...proudly supported Schnapps Demo, Pentomino and NQ-Music-Disc with GFX

krusty_benediction

Quote from: Nworc on 13:28, 16 February 22And if you want to know where you've lost your program counter, so here it is - just look at it: (okay, with the inaccuracy of 1024 bytes)
what exactly is this stuff ? An emulated z80 ? the leds highlight some registers values ?

Nworc

Quote from: krusty_benediction
what exactly is this stuff ? An emulated z80 ? the leds highlight some registers values ?

That's a regular SMD packaged Z80 CPU mounted on an adapter frame, the SMD LEDs indicate the memory location of the last read/write access to the RAM, each LED indicates a memory block of 1K. As the program code is read at the address of the program counter from RAM/ROM, the LEDs also indicate the location of the current program counter address :-)

As the CPU is not halted, (no special program running, just a basic prompt on the screen) and the adresses of the CPU access to the RAM/ROM is constantly changing, we see multiple LEDs flashing, as the eye cannot differentiate, in fact it is only one single LED flashing at the same time. From top left to top right we see the memory range from &0000-&1FFF (RAM/ROM), so we see activity in RST &00-&38, some access to the Kernel (Low ROM) presumably the keyboard scan, and we see activity in the third last row, addresses between &B000-&BFFF, meaning access to the jump blocks and the stack.

Powered by SMFPacks Menu Editor Mod