Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.sys.apple2.programmer > #5603 > unrolled thread

Merlin32 Documentation

Started bykegs@provalid.com (Kent Dickey)
First post2020-06-17 23:39 -0500
Last post2021-06-15 08:09 -0700
Articles 13 — 9 participants

Back to article view | Back to comp.sys.apple2.programmer


Contents

  Merlin32 Documentation kegs@provalid.com (Kent Dickey) - 2020-06-17 23:39 -0500
    Re: Merlin32 Documentation olivier.zardini@cooperteam.eu - 2020-06-18 02:01 -0700
      Re: Merlin32 Documentation Steven Hirsch <snhirsch@gmail.com> - 2020-06-18 09:01 -0400
      Re: Merlin32 Documentation kegs@provalid.com (Kent Dickey) - 2020-06-18 22:35 -0500
    Re: Merlin32 Documentation Andrew Roughan <andrew.roughan@writeme.com> - 2020-06-18 13:05 +0000
    Re: Merlin32 Documentation Andy McFadden <thefadden@gmail.com> - 2020-06-20 07:51 -0700
      Re: Merlin32 Documentation kelvin@pro-kegs.uucp (Kelvin Sherlock) - 2020-06-20 22:33 -0500
        Re: Merlin32 Documentation Andy McFadden <thefadden@gmail.com> - 2020-06-20 18:00 -0700
          Re: Merlin32 Documentation kelvin@pro-kegs.uucp (Kelvin Sherlock) - 2020-06-21 17:21 -0500
      Re: Merlin32 Documentation Michael J. Mahon <mjmahon@aol.com> - 2020-06-20 20:22 -0500
      Re: Merlin32 Documentation Andy McFadden <thefadden@gmail.com> - 2020-07-10 15:51 -0700
        Re: Merlin32 Documentation Bill Chatfield <billchatfield1@gmail.com> - 2021-06-14 06:08 -0700
          Re: Merlin32 Documentation fadden <fadden@fadden.com> - 2021-06-15 08:09 -0700

#5603 — Merlin32 Documentation

Fromkegs@provalid.com (Kent Dickey)
Date2020-06-17 23:39 -0500
SubjectMerlin32 Documentation
Message-ID<77edndWcq79scnfDnZ2dnUU7-QvNnZ2d@giganews.com>
I was trying to use Merlin32, and ran into an annoyance.  So my first
question--is there documentation on how to use Merlin32?  I downloaded it
from https://github.com/apple2accumulator/merlin32, and I don't see any
documentation there (let me know if I missed it).

I used Merlin-16 on my Apple IIgs all the time, and it works fine to compile
the following short trivial program (the first example in the Merlin Pro
manual, which is available at archive.org):

*DEMO PROGRAM 1
        org     $300
BELL    equ     $fbdd
START   jsr     BELL
        rts

I put that in a file demo.s, and ran:

merlin32 . demo.s

(I didn't "install" merlin32, just compiled it, since I don't need the
macros, and didn't want to fiddle with it much before trying it out).

But Merlin-32 barfs over this.  It seems to think there are "Link Files"
which can have ORG and DS commands (and some other opcodes) in them, and
other files, which can have code, and EQU, and cannot have ORG (based on
IsLinkFile() in a65816Link.c).

I'm guessing the minimum useful Merlin32 project is two files, with
the Link File including the assembly code, but what exactly is the syntax
I need to use?

I want to eventually compile a semi-substantial amount of code, which will
need blank areas in it, something like:

	org	$300
[ some code, but not much ]
	org	$380
[ more code ]

where I want it to just put 0's to fill in space (if any).  Can I do that with
Merlin32 in one source file?

Kent

[toc] | [next] | [standalone]


#5604

Fromolivier.zardini@cooperteam.eu
Date2020-06-18 02:01 -0700
Message-ID<56a6a515-512e-444a-9bc1-6b66a4f4f98do@googlegroups.com>
In reply to#5603
Le jeudi 18 juin 2020 06:39:18 UTC+2, Kent Dickey a écrit :
> I was trying to use Merlin32, and ran into an annoyance.  So my first
> question--is there documentation on how to use Merlin32?  I downloaded it
> from https://github.com/apple2accumulator/merlin32, and I don't see any
> documentation there (let me know if I missed it).
> Kent

    The officiel Merlin 32 page is here :

 http://www.brutaldeluxe.fr/products/crossdevtools/merlin/index.html

   Regards,

    Olivier

[toc] | [prev] | [next] | [standalone]


#5605

FromSteven Hirsch <snhirsch@gmail.com>
Date2020-06-18 09:01 -0400
Message-ID<5aCdnQwKMd4N-HbDnZ2dnUU7-c2dnZ2d@giganews.com>
In reply to#5604
On 6/18/20 5:01 AM, olivier.zardini@cooperteam.eu wrote:
> Le jeudi 18 juin 2020 06:39:18 UTC+2, Kent Dickey a écrit :
>> I was trying to use Merlin32, and ran into an annoyance.  So my first
>> question--is there documentation on how to use Merlin32?  I downloaded it
>> from https://github.com/apple2accumulator/merlin32, and I don't see any
>> documentation there (let me know if I missed it).
>> Kent
> 
>      The officiel Merlin 32 page is here :
> 
>   http://www.brutaldeluxe.fr/products/crossdevtools/merlin/index.html

I would be great to have a printable text or PDF of that document.  I tried 
printing the web page, but it renders with microscopic font sizes and is unusable.

[toc] | [prev] | [next] | [standalone]


#5609

Fromkegs@provalid.com (Kent Dickey)
Date2020-06-18 22:35 -0500
Message-ID<m62dnQJJx9Hjr3HDnZ2dnUU7-aXNnZ2d@giganews.com>
In reply to#5604
In article <56a6a515-512e-444a-9bc1-6b66a4f4f98do@googlegroups.com>,
 <olivier.zardini@cooperteam.eu> wrote:
>Le jeudi 18 juin 2020 06:39:18 UTC+2, Kent Dickey a écrit :
>> I was trying to use Merlin32, and ran into an annoyance.  So my first
>> question--is there documentation on how to use Merlin32?  I downloaded it
>> from https://github.com/apple2accumulator/merlin32, and I don't see any
>> documentation there (let me know if I missed it).
>> Kent
>
>    The officiel Merlin 32 page is here :
>
> http://www.brutaldeluxe.fr/products/crossdevtools/merlin/index.html
>
>   Regards,
>
>    Olivier

Thanks for the quick reply!  This version works fine (for my simple starting
project), and was easier to compile.

I switched to duckduckgo.com a few years ago (when Google searches were
becoming likely to show me social media crap on technical subjects), and it's
odd that duckduckgo doesn't show the brutaldeluxe page in the top hits for
"merlin 32".  It just shows the github version.  Googling "merlin 32" does
show the brutaldeluxe site as the top hit.  This is how I got confused--I
just followed the only apparent site.  And it doesn't help that the github
site never directly references the brutaldeluxe site (at least not that I
can see).  I didn't realize it was a 3rd party fork since I wasn't really
paying attention.

Kent

[toc] | [prev] | [next] | [standalone]


#5606

FromAndrew Roughan <andrew.roughan@writeme.com>
Date2020-06-18 13:05 +0000
Message-ID<rcfoq4$b7q$1@dont-email.me>
In reply to#5603
Kent Dickey <kegs@provalid.com> wrote:
> I want to eventually compile a semi-substantial amount of code, which will
> need blank areas in it, something like:
> 
> 	org	$300
> [ some code, but not much ]
> 	org	$380
> [ more code ]
> 
> where I want it to just put 0's to fill in space (if any).  Can I do that with
> Merlin32 in one source file?

I wouldn’t expect 0’s in the output just by changing an ORG. I would expect
to have to use DS to define space to end up with 0’s.

Regards
Andrew




[toc] | [prev] | [next] | [standalone]


#5613

FromAndy McFadden <thefadden@gmail.com>
Date2020-06-20 07:51 -0700
Message-ID<bd762b0a-8086-41b3-b933-2e2fccb63237o@googlegroups.com>
In reply to#5603
On Wednesday, June 17, 2020 at 9:39:18 PM UTC-7, Kent Dickey wrote:
> But Merlin-32 barfs over this.  It seems to think there are "Link Files"
> which can have ORG and DS commands (and some other opcodes) in them, and
> other files, which can have code, and EQU, and cannot have ORG (based on
> IsLinkFile() in a65816Link.c).

The updated Merlin 32 has a number of bug fixes and enhancements, but also has this bug, which renders it unusable for SourceGen.  I could add an explicit link file like I do for ca65, but Merlin isn't supposed to work this way (IMHO).

The relevant bug is https://github.com/apple2accumulator/merlin32/issues/35

> I want to eventually compile a semi-substantial amount of code, which will
> need blank areas in it, something like:
> 
> 	org	$300
> [ some code, but not much ]
> 	org	$380
> [ more code ]
> 
> where I want it to just put 0's to fill in space (if any).  Can I do that with
> Merlin32 in one source file?

Merlin has syntax for page alignment ("ds \"), but not for other boundaries.  There might be some cleverness possible with a macro?

The ACME cross-assembler has an explicit "!align" directive.

[toc] | [prev] | [next] | [standalone]


#5615

Fromkelvin@pro-kegs.uucp (Kelvin Sherlock)
Date2020-06-20 22:33 -0500
Message-ID<rcm5ji$tmf$1@dont-email.me>
In reply to#5613
DS \ applies at the END of the file, regardless of where it's placed.
However, you could do something like this:

  org $300
  ...
  ds $380-*
  ...

-------
ProLine: kelvin@pro-kegs

[toc] | [prev] | [next] | [standalone]


#5616

FromAndy McFadden <thefadden@gmail.com>
Date2020-06-20 18:00 -0700
Message-ID<96fc6c56-67e7-4ebb-b9a3-1ff1af8b9c95o@googlegroups.com>
In reply to#5615
On Saturday, June 20, 2020 at 4:20:20 PM UTC-7, Kelvin Sherlock wrote:
> DS \ applies at the END of the file, regardless of where it's placed.

No?

  LDA $11
  DS  \
  STA $22

00000000: a511 0000 0000 0000 0000 0000 0000 0000  ................
00000010: 0000 0000 0000 0000 0000 0000 0000 0000  ................
[...]
000000f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000100: 8522 60                                  ."`

[toc] | [prev] | [next] | [standalone]


#5618

Fromkelvin@pro-kegs.uucp (Kelvin Sherlock)
Date2020-06-21 17:21 -0500
Message-ID<rco8d1$k9t$1@dont-email.me>
In reply to#5616
Ahh, you're right. That's only true of RELocatable files.

In <96fc6c56-67e7-4ebb-b9a3-1ff1af8b9c95o@googlegroups.com>
Andy McFadden <thefadden@gmail.com> writes:

>On Saturday, June 20, 2020 at 4:20:20 PM UTC-7, Kelvin Sherlock wrote:
>> DS \ applies at the END of the file, regardless of where it's placed.
>
>No?
>
>  LDA $11
>  DS  \
>  STA $22
>
>00000000: a511 0000 0000 0000 0000 0000 0000 0000  ................
>00000010: 0000 0000 0000 0000 0000 0000 0000 0000  ................
>[...]
>000000f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
>00000100: 8522 60                                  ."`

-------
ProLine: kelvin@pro-kegs

[toc] | [prev] | [next] | [standalone]


#5617

FromMichael J. Mahon <mjmahon@aol.com>
Date2020-06-20 20:22 -0500
Message-ID<P7KdnZW0LoXRK3PDnZ2dnUU7-V3NnZ2d@giganews.com>
In reply to#5613
Andy McFadden <thefadden@gmail.com> wrote:
> On Wednesday, June 17, 2020 at 9:39:18 PM UTC-7, Kent Dickey wrote:
>> But Merlin-32 barfs over this.  It seems to think there are "Link Files"
>> which can have ORG and DS commands (and some other opcodes) in them, and
>> other files, which can have code, and EQU, and cannot have ORG (based on
>> IsLinkFile() in a65816Link.c).
> 
> The updated Merlin 32 has a number of bug fixes and enhancements, but
> also has this bug, which renders it unusable for SourceGen.  I could add
> an explicit link file like I do for ca65, but Merlin isn't supposed to
> work this way (IMHO).
> 
> The relevant bug is https://github.com/apple2accumulator/merlin32/issues/35
> 
>> I want to eventually compile a semi-substantial amount of code, which will
>> need blank areas in it, something like:
>> 
>> org	$300
>> [ some code, but not much ]
>> org	$380
>> [ more code ]
>> 
>> where I want it to just put 0's to fill in space (if any).  Can I do that with
>> Merlin32 in one source file?
> 
> Merlin has syntax for page alignment ("ds \"), but not for other
> boundaries.  There might be some cleverness possible with a macro?
> 
> The ACME cross-assembler has an explicit "!align" directive.
> 

Here’s a simple Merlin macro that aligns to the next multiple of any value:

align   mac                   ; Align to 0 mod arg
            ds        *+]1-1/]1*]1-*
            eom 

-- 
-michael - NadaNet 3.1 and AppleCrate II:  http://michaeljmahon.com

[toc] | [prev] | [next] | [standalone]


#5640

FromAndy McFadden <thefadden@gmail.com>
Date2020-07-10 15:51 -0700
Message-ID<5d53d266-83cc-44e8-9fe7-92380905c6e4o@googlegroups.com>
In reply to#5613
On Saturday, June 20, 2020 at 7:51:26 AM UTC-7, Andy McFadden wrote:
> The updated Merlin 32 has a number of bug fixes and enhancements, but also has this bug, which renders it unusable for SourceGen.

FWIW, Lane Roathe's fork (https://github.com/lroathe/merlin32) is more stable.

[toc] | [prev] | [next] | [standalone]


#5834

FromBill Chatfield <billchatfield1@gmail.com>
Date2021-06-14 06:08 -0700
Message-ID<245b4e02-eb96-47f1-be37-da679565d0d6n@googlegroups.com>
In reply to#5640
https://github.com/apple2accumulator/merlin32 is now up to date, including the fix for issue 35.

[toc] | [prev] | [next] | [standalone]


#5838

Fromfadden <fadden@fadden.com>
Date2021-06-15 08:09 -0700
Message-ID<15acc7ec-da4c-40d4-96e9-597f876c670fn@googlegroups.com>
In reply to#5834
On Monday, June 14, 2021 at 6:08:08 AM UTC-7, billcha...@gmail.com wrote:
> https://github.com/apple2accumulator/merlin32 is now up to date, including the fix for issue 35.

Thanks!

[toc] | [prev] | [standalone]


Back to top | Article view | comp.sys.apple2.programmer


csiph-web