Jump to content
Sign in to follow this  
tjb

Six Forks Assembler and Linker

Recommended Posts

Anybody ever own this product from Six Forks Software? I was reminded of this today as I was looking through a 1986 Analog issue. Anyone know if there is a disk image of it available?

 

Thanks,

tjb

Share this post


Link to post
Share on other sites

I have it. In fact the fellow who developed it gave me all the source to it as well as all his notes. I've made a couple of modifications to the assembler and linker. I'll scan the manual and post up a disk image here soon.

  • Like 1

Share this post


Link to post
Share on other sites

No. I think what I'm going to do is just host it on my ftp server for anyone to download.

Share this post


Link to post
Share on other sites

Maybe someone can convert the manual to plain text for size.

Share this post


Link to post
Share on other sites

This image contains the original Six Forks assembler and linker (SFASM.COM and SFLINK.COM). SFA.COM is modified such that you can press ESC to return to DOS rather than having to hit RESET or reboot.

 

SFL.COM requires either a 130XE or upgraded 800XL. It uses banked ram to allow for the creation of larger binary files.

 

I don't seem to be able to locate the original distribution diskette, so the sample program is not included.

 

I believe SFA/SFL.COM also do not require the PACKID file as outlined in the manual. In the age of hard drives, I found it to be a nuisance.

sixforks.atr

Edited by Alfred
  • Like 2

Share this post


Link to post
Share on other sites

Google "Atari Six Forks Assembler" and you'll find the PDF as well as some other info about it.

 

-Larry

  • Like 1

Share this post


Link to post
Share on other sites

Hi there, MrFish!

It's a chance that Alfred is a Name of AL/65 Assembler creator...

Share this post


Link to post
Share on other sites

 

What's his name Alfred?

 

I don't remember today. His first name IIRC is Alfred, oddly enough. He would be about 75 years old now. I know I googled him a few months back so I knew it then, maybe his last name will come to me later. I know I have a bunch of handwritten notes on the asm/linker around here somewhere, not sure if his name is on them though. I only ever spoke to him once, and that's more than twenty years ago now.

Share this post


Link to post
Share on other sites

I don't remember today. His first name IIRC is Alfred, oddly enough. He would be about 75 years old now. I know I googled him a few months back so I knew it then, maybe his last name will come to me later. I know I have a bunch of handwritten notes on the asm/linker around here somewhere, not sure if his name is on them though. I only ever spoke to him once, and that's more than twenty years ago now.

 

Hmmm... interesting coincidence if his name is Alfred as you say. I'm interested in knowing so I can credit him on my website -- where I've put the Six Forks material. I appreciate your help either way.

Share this post


Link to post
Share on other sites

 

Hmmm... interesting coincidence if his name is Alfred as you say. I'm interested in knowing so I can credit him on my website -- where I've put the Six Forks material. I appreciate your help either way.

 

Alfred Hume. That's the guy's name.

  • Like 1

Share this post


Link to post
Share on other sites

This post won't be of any interest to you cross-assembler/WUDSN coders, so you can quit reading now, haha.

 

I am slowly working on upgrading the Six Forks Assembler & Linker to give them some new features and expand their usefulness. For those who want to code on the Atari rather than use a cross-assembler, Six Forks isn't bad. I used Mac/65 for years and it's great, but as projects get larger, editing becomes more cumbersome and even with the screen off, it can take a long time to run an assembly. Eventually even Mac/65 runs out of symbol space.

 

Six Forks has its limits as well. On a stock machine, you can only create about a 10K binary in a single linker pass. The manual explains how to use one of the features that Six Forks supports to work around this. If you have an XE, I have created a version of the linker that can build object files up to around 40K or so. Six Forks assembles and links itself.

 

Anyway, if there's any interest, I'll post the occasional ATR with the updates. In preparation for migrating the Basic XE and Action! source code to Six Forks, tonight I've upgraded the assembler to handle 512 labels, and the linker to handle 768 external references, as well as created both XL and XE versions. I need to fix a bug and then the XE version will also work on an 800 with Axlon expanded ram.

 

Future changes will be to add some new directives to aid in building eproms, and adding 65C02 and 65816 support. Larger memory support will be added to the linker so that it can generate a full 64K binary.

  • Like 6

Share this post


Link to post
Share on other sites

This disk contains my current updates to Six Forks:

 

SFA - Normal Assembler, 200 label capacity, about 15K text buffer

SFAXL - 512 label capacity, text buffer reduced to about 13K

SFAXE - 512 labels, about 50K buffer

 

SFLXL - 768 external ordinals, about 14K buffer

SFLXE - 768 external ordinals, about 64k buffer

 

The XE versions are limited to 3 banks of expanded ram due to the capacity field only being a word sized variable and the binary to decimal routine only handles 16 bits. In a future update I'll patch in my 24 bit conversion routines and then both programs will use all the banks of the XE. The large text buffer of the XE assembler isn't meant to be used for all code, but to give room for macros and include files in future updates. With all 4 XE banks on my system, the linker has about an 80K buffer, which should yield around 52K of binary output. So there is still some work to do to be able to generate a full 64K EPROM file.

 

Edit: The XE versions ought to work on an 800 with Axlon ram. I haven't tested that much, but they should work.

LatestSixf.atr

Edited by Alfred
  • Like 3

Share this post


Link to post
Share on other sites

SFAXE is bugged. I forgot to update the linker file to move two of the XE enabled routines out of the window, so if the source file is bigger than about 16K it'll crash. I'm fixing it to get rid of the separate XL/XE versions, will post a new ATR then. The XE linker is fine.

  • Like 2

Share this post


Link to post
Share on other sites

Here's an updated ATR with a fixed SFAXE. I also changed my mind and enabled all four XE banks on the XE versions. Also a minor update to the ram test code to avoid it randomly thinking the machine is an 800. Under SpartaDos 3.2 the buffer sizes for both assembler and linker run around 80K. At the end, when either displays the holder bytes available, add 65536 if using the XE version. The number displayed is what the non-XE version has available to it.

LatestSixf.atr

  • Like 3

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...