• Ragsdale Forth assembler history

    From Johann Klasek - swap last two domainparts@johann+usenet@at.klasek.invalid to comp.lang.forth on Wed Jul 29 21:50:45 2026
    From Newsgroup: comp.lang.forth

    Hi folks,

    sometimes ago (2012) I did some re-work on a 65C02 assembler derived
    from the well known Ragsdale Assembler published in c't magazin,
    1984/01, p. 72, "65C02 Assembler in FORTH".

    The aim was to support WDC commands (not just those from Rockwell). In
    addition to a number of performance improvements (which were due to shortcomings in the Ragsdale code), several new features were
    introduced: certain structure commands, as well as loop or conditional
    blocks, can now (using the word `FAR') span code sections of more than
    127 bytes.
    Recently, in 2026, a number of further changes were made to improve
    runtime performance.

    https://klasek.at/forth/ also covers a number of other Forth topics,
    though the main focus there is on assemblers and disassemblers.

    My test environment is a C64 Forth/79 from Performance Micro Products,
    but I don't think porting it would be a problem (at least on little-
    endian platforms).


    Happy Forth-coding

    JEEK

    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From dxf@dxforth@gmail.com to comp.lang.forth on Thu Jul 30 13:18:01 2026
    From Newsgroup: comp.lang.forth

    On 30/07/2026 7:50 am, Johann Klasek - swap last two domainparts wrote:
    Hi folks,

    sometimes ago (2012) I did some re-work on a 65C02 assembler derived
    from the well known Ragsdale Assembler published in c't magazin,
    1984/01, p. 72, "65C02 Assembler in FORTH".

    The aim was to support WDC commands (not just those from Rockwell). In addition to a number of performance improvements (which were due to shortcomings in the Ragsdale code), several new features were
    introduced: certain structure commands, as well as loop or conditional blocks, can now (using the word `FAR') span code sections of more than
    127 bytes.
    Recently, in 2026, a number of further changes were made to improve
    runtime performance.

    https://klasek.at/forth/ also covers a number of other Forth topics,
    though the main focus there is on assemblers and disassemblers.

    My test environment is a C64 Forth/79 from Performance Micro Products,
    but I don't think porting it would be a problem (at least on little-
    endian platforms).

    Interesting. While I left the 6502 behind long ago, I also had need to upgrade Cassady's 8080 assembler to Z80 and again to eZ80. I deliberately retained Intel's mnemonics (with TDL extensions) knowing Zilog's would be an expensive PITA for no demonstrable gain. Indeed Zilog themselves would have preferred to use Intel's but fearing legal action, hired a third party to devise a new set:

    https://www.retrotechnology.com/restore/TDLmonitor.html

    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Johann Klasek - swap last two domainparts@johann+usenet@at.klasek.invalid to comp.lang.forth on Fri Jul 31 11:04:08 2026
    From Newsgroup: comp.lang.forth

    dxf <dxforth@gmail.com> wrote:
    On 30/07/2026 7:50 am, Johann Klasek - swap last two domainparts wrote:
    Hi folks,

    sometimes ago (2012) I did some re-work on a 65C02 assembler derived
    from the well known Ragsdale Assembler published in c't magazin,
    1984/01, p. 72, "65C02 Assembler in FORTH".
    [..]

    Interesting. While I left the 6502 behind long ago, I also had need to upgrade
    Cassady's 8080 assembler to Z80 and again to eZ80. I deliberately retained Intel's mnemonics (with TDL extensions) knowing Zilog's would be an expensive PITA for no demonstrable gain. Indeed Zilog themselves would have preferred to
    use Intel's but fearing legal action, hired a third party to devise a new set:

    https://www.retrotechnology.com/restore/TDLmonitor.html

    Thank you, I wasn't aware of the TDL extensions at all. It's very
    interesting to have gotten an overview of the whole thing after just a
    quick glance.


    JEEk

    --- Synchronet 3.22a-Linux NewsLink 1.2