Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.sys.apple2.programmer > #5603 > unrolled thread
| Started by | kegs@provalid.com (Kent Dickey) |
|---|---|
| First post | 2020-06-17 23:39 -0500 |
| Last post | 2021-06-15 08:09 -0700 |
| Articles | 13 — 9 participants |
Back to article view | Back to comp.sys.apple2.programmer
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
| From | kegs@provalid.com (Kent Dickey) |
|---|---|
| Date | 2020-06-17 23:39 -0500 |
| Subject | Merlin32 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]
| From | olivier.zardini@cooperteam.eu |
|---|---|
| Date | 2020-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]
| From | Steven Hirsch <snhirsch@gmail.com> |
|---|---|
| Date | 2020-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]
| From | kegs@provalid.com (Kent Dickey) |
|---|---|
| Date | 2020-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]
| From | Andrew Roughan <andrew.roughan@writeme.com> |
|---|---|
| Date | 2020-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]
| From | Andy McFadden <thefadden@gmail.com> |
|---|---|
| Date | 2020-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]
| From | kelvin@pro-kegs.uucp (Kelvin Sherlock) |
|---|---|
| Date | 2020-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]
| From | Andy McFadden <thefadden@gmail.com> |
|---|---|
| Date | 2020-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]
| From | kelvin@pro-kegs.uucp (Kelvin Sherlock) |
|---|---|
| Date | 2020-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]
| From | Michael J. Mahon <mjmahon@aol.com> |
|---|---|
| Date | 2020-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]
| From | Andy McFadden <thefadden@gmail.com> |
|---|---|
| Date | 2020-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]
| From | Bill Chatfield <billchatfield1@gmail.com> |
|---|---|
| Date | 2021-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]
| From | fadden <fadden@fadden.com> |
|---|---|
| Date | 2021-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