C128 Developers Kit

Started by Neglectoru, April 23, 2007, 03:00 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

StyleCHM

Quote from: airship on February 07, 2008, 01:12 AM
On the same visit, Henri Rubin demonstrated his Amiga 3000 for us, pulling down separate screens running AmigaDOS, Unix, and MS-DOS (on a Bridgeboard). It was the coolest computer-related thing I have ever seen.

Heheheh, I have an Amiga 3000 with a bridgeboard :D

BigDumbDinosaur

Quote from: bacon on February 06, 2008, 06:13 PM
AFAIK Commodore used a cross-assembler on a VAX. The DevKit was made to work like and use the same source code format as the VAX cross-assembler but it was not used internally at Commodore; it was meant for outside C128 developers who didn't have access to a large computer. So RAMDOS was most likely developed on the VAX just like the C128 KERNAL, which would explain the size of the file.

You are correct.  I used to receive assembly language source on paper from Fred Bowen, and at the top was always the big fred@vax.cbm signature.

The HCD assmbler was fully MOS Technology compliant with enhancements and really very powerful.  Unfortunately, on the 128, the symbol table was built in RAM1, necessitating endless INDFET and INDSTA calls.  Those calls are slow due to all the bank-switching they do (which is why BASIC 7.0 is so slow), and it showed during assembly of a large program.  On my Lt. Kernal system, I could see periods where there was no disk access going on, which meant that some serious compute-bound grunting was taking place.  I'm suprised smoke wasn't blowing out the back of the 128D, since it had a cooling fan.

Ironically, the C-64 MADS assembler running on a 128 in 64 mode with the 2 MHz clock going (possible with the Lt. Kernal, which didn't have timing issues like serial bus access would) was nearly 50 percent faster than the HCD assembler running on the 128 side at 2 MHz.  The disk activity LED was nearly continuously on through out the assembly.  The only problem with the 64 assembler was that it didn't have as much room to buiild a symbol table, which if combined with a lot of macros, usually caused assembly to go "tilt."  That ultimately forced me to go back to the HCD assembler as my programs got bigger and bigger.
x86?  We ain't got no x86.  We don't need no stinking x86!

BigDumbDinosaur

Quote from: hannenz on February 05, 2008, 08:26 PM
i must admit, i semm not to know too much about the MOS standard, shame on me. i thought it just covers the spelling of the mnemonics and addressmodes, LDA ($xx),Y for example, but didn't know that it covers macros and higher level assembler syntax as well. I'll do my homework and start off google right after i have finished these lines.
Thanks for the comments on unnamed labels, now things start to get more and more clear

See if you can find a copy of 6502 Assembly Language Programming by Lance A. Leventhal (ISBN 0-07-881216-X), in which there is discussion of the MOS Technology assembler syntax.  This book is quite dated (the original edition, if I recall, was from 1979—I have the 1986 second edition here) but is a standard work that I have used for years.  Dr. Leventhal wrote a very thorough exposition on good 6502 programming practice, as well as detailed discussion of each instruction, and included some references to support chips (e.g., the 6522 VIA and 6551 ACIA).  The original publisher was Osborne-McGraw Hill in the USA.

The most significant enhancement that Hedley Davis added to his assembler was support for long labels and symbols.  The original MOS standard allowed six characters in labels, which in a large program, becomes very constricting.  The HCD assembler supported up to 32 characters with underscore, allowing you to specificy something like horribly_long_symbol_entry in your code.  That may be part of why the assembler is so damned slow.
x86?  We ain't got no x86.  We don't need no stinking x86!