|
1 | 1 | *******************************************************************************
|
2 | 2 | * *
|
3 |
| -* BeebAsm V1.01 * |
| 3 | +* BeebAsm V1.02 * |
4 | 4 | * *
|
5 | 5 | * A portable 6502 assembler with BBC Micro style syntax *
|
6 | 6 | * *
|
7 |
| -* Rich Talbot-Watkins < [email protected]> * |
| 7 | +* Copyright (C) Rich Talbot-Watkins 2007, 2008 * |
| 8 | + |
| 9 | +* * |
| 10 | +* This program is free software: you can redistribute it and/or modify * |
| 11 | +* it under the terms of the GNU General Public License as published by * |
| 12 | +* the Free Software Foundation, either version 3 of the License, or * |
| 13 | +* (at your option) any later version. * |
| 14 | +* * |
| 15 | +* This program is distributed in the hope that it will be useful, but * |
| 16 | +* WITHOUT ANY WARRANTY; without even the implied warranty of * |
| 17 | +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * |
| 18 | +* General Public License for more details. * |
| 19 | +* * |
| 20 | +* You should have received a copy of the GNU General Public License * |
| 21 | +* along with this program, as COPYING.txt. If not, see * |
| 22 | +* <http://www.gnu.org/licenses/>. * |
8 | 23 | * *
|
9 | 24 | *******************************************************************************
|
10 | 25 |
|
@@ -38,7 +53,12 @@ functions, including SIN, COS and SQR - very useful for building lookup tables
|
38 | 53 | directly within a source file.
|
39 | 54 |
|
40 | 55 | BeebAsm is distributed with source code, and should be easily portable to any
|
41 |
| -platform you wish. |
| 56 | +platform you wish. To build under Windows, you will need to install MinGW |
| 57 | +(http://www.mingw.org), and the most basic subset of Cygwin |
| 58 | +(http://www.cygwin.org) which provides Windows versions of the common Unix |
| 59 | +commands. Ensure the executables from these two packages are in your |
| 60 | +Windows path, and BeebAsm should compile without problems. Just navigate to |
| 61 | +the directory containing 'Makefile', and enter 'make code'. |
42 | 62 |
|
43 | 63 |
|
44 | 64 |
|
@@ -342,13 +362,20 @@ CLEAR <start>, <end>
|
342 | 362 | it first.
|
343 | 363 |
|
344 | 364 |
|
345 |
| -SAVE "filename", start, end [, exec] |
| 365 | +SAVE "filename", start, end [, exec [, reload] ] |
346 | 366 |
|
347 | 367 | Saves out object code to either a DFS disc image (if one has been
|
348 |
| - specified), or to the current directory as a standalone file. 'exec' |
349 |
| - specifies the execution address of the file when saved to a disc image. A |
| 368 | + specified), or to the current directory as a standalone file. A |
350 | 369 | source file must have at least one SAVE statement in it, otherwise nothing
|
351 | 370 | will be output. BeebAsm will warn if this is the case.
|
| 371 | + |
| 372 | + 'exec' can be optionally specified as the execution address of the file when |
| 373 | + saved to a disc image. |
| 374 | + |
| 375 | + 'reload' can additionally be specified to save the file on the disc image to |
| 376 | + a different address to that which it was saved from. Use this to assemble |
| 377 | + code at its 'native' address, but which loads at a DFS-friendly address, |
| 378 | + ready to be relocated to its correct address upon execution. |
352 | 379 |
|
353 | 380 |
|
354 | 381 | PRINT
|
@@ -547,11 +574,19 @@ limits, in terms of creating a flicker-free animation, updating at 50Hz.
|
547 | 574 | (This is not to say that it's particularly impressive, but nonetheless, it
|
548 | 575 | really is pushing the hardware!!)
|
549 | 576 |
|
| 577 | +There is also a demo called "relocdemo.asm", which shows how the 'reload |
| 578 | +address' feature of SAVE can be used to write self-relocating code. This is |
| 579 | +based on the above demo, but it runs at a low address (&300). |
| 580 | + |
550 | 581 |
|
551 | 582 |
|
552 | 583 |
|
553 | 584 | 9. VERSION HISTORY
|
554 | 585 |
|
| 586 | +06/11/2008 1.02 Bugfix: now it's possible to save location &FFFF. |
| 587 | + Added 'reload address' parameter to SAVE. |
| 588 | + Properly integrated the GPL License text into the |
| 589 | + distribution. |
555 | 590 | 14/04/2008 1.01 Bugfixes: allow lower case index in abs,x or abs,y.
|
556 | 591 | Fails if file already exists in output disc image.
|
557 | 592 | Symbol names may now begin with assembler opcode names.
|
@@ -581,6 +616,6 @@ really is pushing the hardware!!)
|
581 | 616 |
|
582 | 617 | There are bound to be loads. I wrote it quickly! Please help me zap all the
|
583 | 618 | problems by reporting any bugs to me, Rich Talbot-Watkins, at
|
584 |
| - |
| 619 | +<[email protected]>, or join the forum at <http://www.retrosoftware.co.uk>. |
585 | 620 |
|
586 | 621 | Thank you!
|
0 commit comments