Author Topic: CPC Assembly Time  (Read 2107 times)

0 Members and 1 Guest are viewing this topic.

Offline zhulien

  • 6128 Plus
  • ******
  • Posts: 595
  • Country: au
    • 8bitology
  • Liked: 246
  • Likes Given: 208
CPC Assembly Time
« on: 14:43, 05 August 17 »
Hi All,

I am wondering from your largish projects, how long on a CPC does it take you to assemble?

Do you use a cross assembler or develop on the actual CPC, or perhaps a cross assembler injecting directly into an emulator?

Offline ervin

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.417
  • Country: au
    • index.php?action=treasury
  • Liked: 1110
  • Likes Given: 1322
Re: CPC Assembly Time
« Reply #1 on: 14:53, 05 August 17 »
Hi All,

I am wondering from your largish projects, how long on a CPC does it take you to assemble?

Do you use a cross assembler or develop on the actual CPC, or perhaps a cross assembler injecting directly into an emulator?

Hi zhulien.

I cross-develop in cpctelera.
Compilation takes anywhere from a few seconds up to... I don't know... maybe 30 seconds?
And higher compilation times only happen when the project has become large.
My (cancelled) entry for the CPCRetroDev 2017 Competition http://www.cpcwiki.eu/forum/programming/my-cpcretrodev-2017-entry/
FAST line drawing in CPCtelera http://www.cpcwiki.eu/forum/programming/drawing-lines-with-cpctelera-sdcc/
RUNCPC My entry for the CPCRetroDev 2015 Competition http://www.cpc-power.com/index.php?page=detail&num=12494

Offline keith56

  • ちび悪魔!
  • Supporter
  • 6128 Plus
  • *
  • Posts: 580
  • Country: jp
  • Part Ma, Part Aku... All Chibi!
    • Chibi Akumas Assembly tutorials
  • Liked: 974
  • Likes Given: 212
Re: CPC Assembly Time
« Reply #2 on: 16:36, 05 August 17 »
I use winape's assembler - and it compiles straight into a floppy disk image.
it only takes a few seconds to compile, but once it's done, I start the game via Load"Disk from basic... so it's the loading time not the compiling time that is the big hold-up for me
I often run the emulator at 200% speed to cut down the load times - and let me test the game more quickly.

I've actually used winape to compile a file for the ZX spectrum! I was able to create a spectrum compatible header in winape's assembler, and copy the code file onto a +3 formatted disk - then load it in my speccy emulator.

I've not found a solution as good as Winape for the MSX or Spectrum, it's debugger and built in compiler make CPC development as easy as I could ask.
Chibi Akumas: Comedy-Horror 8-bit Bullet Hell shooter!
Learn ARM, 8086, Z80, 6502 or 68000 with my tutorials: www.assemblytutorial.com
My Assembly programming book is available now on amazon!

Offline ronaldo

  • Dev
  • 6128 Plus
  • *****
  • Posts: 648
  • Country: es
    • Profesor Retroman
  • Liked: 941
  • Likes Given: 827
Re: CPC Assembly Time
« Reply #3 on: 17:43, 05 August 17 »
Well, we cannot compare compilation times of C source files with assembly times: it is simply unfair. C compilation times will always be slower, even if it sometimes is not noticeable. If you program in assembly, there will be almost no difference assembling your sources with CPCtelera or WinAPE, because assembling is an almost direct operation. Loading times will also be pretty similar, as CPCtelera launches WinAPE with autoload from the command line.

Then, it depends on your preference which tool is best for your work. Each tool has advantages and disadvantages. Best advice is to test tools on your own and then pick up whichever suits your needs.

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 960
  • Country: fr
    • urban exploration
  • Liked: 1345
  • Likes Given: 802
Re: CPC Assembly Time
« Reply #4 on: 19:29, 05 August 17 »
I use rasm to assemble. A full cartridge with thousand of lines, macro,compression take 1/10s to make.

use RASM, the best assembler ever made :p

I will survive

Offline Ast

  • 6128 Plus
  • ******
  • Posts: 1.131
  • Country: fr
    • Amstrad cpc Website of Ast/iMPACT
  • Liked: 1047
  • Likes Given: 760
Re: CPC Assembly Time
« Reply #5 on: 00:48, 06 August 17 »
I only work on real hardware, Cpc old & Cpc plus with orgams z80 assembler rom.
It takes approximatively up to 5 seconds to assemble 6000 lines of code.
« Last Edit: 00:52, 06 August 17 by Ast »
_____________________

Ast/iMP4CT. "By the power of Grayskull, i've the power"

http://amstradplus.forumforever.com/index.php
http://impdos.wikidot.com/
http://impdraw.wikidot.com/

All friends are welcomed !

Offline zhulien

  • 6128 Plus
  • ******
  • Posts: 595
  • Country: au
    • 8bitology
  • Liked: 246
  • Likes Given: 208
Re: CPC Assembly Time
« Reply #6 on: 04:56, 08 August 17 »
I have put a POC of an HTML/8BML coding interface online here:  http://8bitology.com/z80ce.php


To be fair, it doesn't assemble itself, but uses The ORG Assembler's API but exposes it in a way that will work on CPC and Windows too.  This is a POC really but what are your thoughts on such a DEV tool that uses a fast online server to assemble code in a way that can download directly to CPC?  Is it worthwhile expanding on with project management, file management, both ability to assemble code submitted from CPC to a binary downloadable by CPC?

Online Targhan

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.268
  • Country: fr
  • Liked: 1202
  • Likes Given: 178
Re: CPC Assembly Time
« Reply #7 on: 10:01, 08 August 17 »
Why don't you simply assemble your code on PC and transfer it on CPC? I do that using the M4 (Wifi) board, and it's an absolute blast. I generate SNApshot of the memory and transfer them directly in the memory of the CPC (it even resets automatically). All this via command line of the M4 board. The best of the two worlds (CPC + cross dev)!
Targhan/Arkos

Arkos Tracker 2.0.0 now released! - Follow the news on Twitter!
Disark - A cross-platform Z80 disassembler/source converter
FDC Tool 1.1 - Read Amsdos files without the system

Imperial Mahjong
Orion Prime

Offline zhulien

  • 6128 Plus
  • ******
  • Posts: 595
  • Country: au
    • 8bitology
  • Liked: 246
  • Likes Given: 208
Re: CPC Assembly Time
« Reply #8 on: 11:00, 08 August 17 »
Why don't you simply assemble your code on PC and transfer it on CPC? I do that using the M4 (Wifi) board, and it's an absolute blast. I generate SNApshot of the memory and transfer them directly in the memory of the CPC (it even resets automatically). All this via command line of the M4 board. The best of the two worlds (CPC + cross dev)!


That sounds like a good option too.  I am looking at a solution to dev nicely on CPC though.  I used to use Pyradev (as it supports 512kb RAM) and has quite a good debugger.  How lots of cool tools are available, some are harder to use than they should be - especially some of the cross dev tools.  I have also developed using Marco Veith's CPC Emulator for DOS which was awesome.  These days though emulators seem lacking... in that they aren't supporting the cool hardware that is coming out on CPC. 


Which dev tools do you use on PC for CPC?


Don't you think CPC user/developers would find online dev tools useful for their CPCs? 




Online Targhan

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.268
  • Country: fr
  • Liked: 1202
  • Likes Given: 178
Re: CPC Assembly Time
« Reply #9 on: 11:08, 08 August 17 »
I'm not sure about online dev tools, because I work many times off-line, and it would surely hinder my productivity. Personnally, it wouldn't fit my needs.


I am using Winape for emulating, plus some scripts on my own to inject SNA (thanks to the automatization software called AutoHotKey to simulate the clicks on the interface, since Winape is "closed"). I wrote an article about that on the late Push'n'Pop, I will try to upload it to Quasar Net to make it available again.
I use SJAsmPlus for assembling, it works great.
If you want to generate SNApshots, you will need Ramlaid's tool
Ramlaid's tool (windows only).
Then, injecting the SNA directly into the CPC is a piece of cake thanks to the awesome hardware M4 Board (via Wifi), check its command-line.
Targhan/Arkos

Arkos Tracker 2.0.0 now released! - Follow the news on Twitter!
Disark - A cross-platform Z80 disassembler/source converter
FDC Tool 1.1 - Read Amsdos files without the system

Imperial Mahjong
Orion Prime

Offline arnoldemu

  • Supporter
  • 6128 Plus
  • *
  • Posts: 5.336
  • Country: gb
    • Unofficial Amstrad WWW Resource
  • Liked: 2278
  • Likes Given: 3478
Re: CPC Assembly Time
« Reply #10 on: 11:25, 08 August 17 »
These days though emulators seem lacking... in that they aren't supporting the cool hardware that is coming out on CPC. 
Arnold supports lots of hardware...

Some of the devices are more advanced in emulation than others because it does depend on which ones I can test - I need to test i/o port decoding and things like that to make it more accurate.

It doesn't emulate the m4, or the msx gfx card, but it emulates x-mass, symbiface 2, multiface 2, 4mb ram expansion and many more.

They can be activated through the devices dialog (expansion, printer and joystick).

My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

Offline Grim

  • CPC6128
  • ****
  • Posts: 202
  • Country: gp
  • La pak ba, bèf ka pasé
    • THERE IS NO GAME
  • Liked: 134
  • Likes Given: 67
Re: CPC Assembly Time
« Reply #11 on: 06:58, 09 August 17 »
Don't you think CPC user/developers would find online dev tools useful for their CPCs?
It works for me. Most of my tools nowadays are written in Javascript just so that can use them on anything with a web-browser (even offline) and can quickly modify/fix them without having to re-compile the thing manually. However, the complete lack of production-ready devtools available in JS and getting them working together like you would usually do with make/batch files or with regular applications (emulators) make things a lot more ... challenging, to say the least. And also that not too many devs seem ready to give up on their antic *nix habits of doing things, will take decade of active brainwashing to change that =)

Offline keith56

  • ちび悪魔!
  • Supporter
  • 6128 Plus
  • *
  • Posts: 580
  • Country: jp
  • Part Ma, Part Aku... All Chibi!
    • Chibi Akumas Assembly tutorials
  • Liked: 974
  • Likes Given: 212
Re: CPC Assembly Time
« Reply #12 on: 11:07, 09 August 17 »
Don't you think CPC user/developers would find online dev tools useful for their CPCs?

I avoid online tools - they can disappear at any time if the developer removes them or changes them in a way you don't like... if you can't do what you need without an online tool, then you'll be stuck if it goes offline.

I download all the online docs I rely on, and only use software that works offline... in an ideal world I'd only use open source, but the software I need works on an offline XP virtual machine, then I can be pretty sure I'm going to be able to keep using it in years to come.

Arnold supports lots of hardware...
Agreed! Arnold has great support for strange things! The list of possible addons is huge!... I did all my multiplay testing with Arnold, and it worked fine when the real hardware turned up!
« Last Edit: 11:08, 09 August 17 by keith56 »
Chibi Akumas: Comedy-Horror 8-bit Bullet Hell shooter!
Learn ARM, 8086, Z80, 6502 or 68000 with my tutorials: www.assemblytutorial.com
My Assembly programming book is available now on amazon!

Offline zhulien

  • 6128 Plus
  • ******
  • Posts: 595
  • Country: au
    • 8bitology
  • Liked: 246
  • Likes Given: 208
Re: CPC Assembly Time
« Reply #13 on: 20:53, 10 August 17 »
One feature i would like to see is a memory exception feature. So at runtime the program can be halted if not reading or writing to allowed memory.

Offline arnoldemu

  • Supporter
  • 6128 Plus
  • *
  • Posts: 5.336
  • Country: gb
    • Unofficial Amstrad WWW Resource
  • Liked: 2278
  • Likes Given: 3478
Re: CPC Assembly Time
« Reply #14 on: 21:26, 10 August 17 »
One feature i would like to see is a memory exception feature. So at runtime the program can be halted if not reading or writing to allowed memory.
From a memory range you define?

A limited version is available in Arnold. You can set a memory read/write breakpoint. You can then define an address range using a mask. e.g. the computation is like this (addr AND c000)==0x04000, so this means any write to a 16KB block.

My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

Offline AMSDOS

  • Supporter
  • 6128 Plus
  • *
  • Posts: 3.939
  • Country: au
    • index.php?action=treasury
    • Programs for Turbo Pascal 3
  • Liked: 1157
  • Likes Given: 1924
Re: CPC Assembly Time
« Reply #15 on: 08:00, 20 August 17 »

Which dev tools do you use on PC for CPC?


Don't you think CPC user/developers would find online dev tools useful for their CPCs?


Sorry I would of replied earlier only I had trouble trying to find the Online Development Tools I wanted to refer to.


Personally I think it would be great if Locomotive BASIC came as an online tool, the examples I've seen are Quite BASIC and AppleSoft BASIC in JavaScript.
Quite BASIC doesn't try and copy any specific BASIC from any particular machine, earlier on though (a few years ago), I was able to take some of my Locomotive BASIC and write it for Quite BASIC, though it was quite generic and porting wasn't a hassle. My only concern with Quite BASIC is it doesn't appear the site is being maintained and I wasn't able to contact the Author.
AppleSoft BASIC in JavaScript on the other hand allows you to take an Apple BASIC program and do the same thing. I was able to easily type-in a Graphical Snowflake demo and execute it. Unsure if the Snowflakes are meant to be in Pink, though in that App I could Save the program I typed in (saves to the computer) as well as Load and unlike Quite BASIC, I could contact the author in case they were interested in that routine.


Though I just think if there was something like a Locomotive BASIC, anyone with a Web-browser could run a BASIC program without the necessary knowledge of using or setting up an emulator.
* Using the old Amstrad Languages :D   * with the Firmware :P
* I also like to problem solve code in BASIC :)   * And type-in Type-Ins! :D

Home Computing Weekly Programs
Popular Computing Weekly Programs
Your Computer Programs
Updated Other Program Links on Profile Page (Update April 16/15 phew!)
Programs for Turbo Pascal 3