diff --git a/doc/chrcvt.sgml b/doc/chrcvt.sgml old mode 100755 new mode 100644 diff --git a/doc/index.sgml b/doc/index.sgml index eb13c9af5..c78426f2a 100644 --- a/doc/index.sgml +++ b/doc/index.sgml @@ -18,6 +18,9 @@ Describes the cc65 C compiler. + + Describes the vector font converter. + Describes the cl65 compile & link utility. @@ -36,6 +39,9 @@ Describes the od65 object-file analyzer. + + Describes the 6502 and 65C02 simulator. + Describes the sprite and bitmap utility. @@ -147,7 +153,7 @@ Topics specific to the Commodore Plus/4. - Topics specific to the Supervision Console. + Topics specific to the Watara Supervision Console. Topics specific to the Commodore VIC20. @@ -156,4 +162,3 @@ - diff --git a/doc/sim65.sgml b/doc/sim65.sgml new file mode 100644 index 000000000..f80f17c92 --- /dev/null +++ b/doc/sim65.sgml @@ -0,0 +1,125 @@ + + +
+ +sim65 Users Guide +<author><url url="mailto:polluks@sdf.lonestar.org" name="Stefan A. Haubenthal"> +<date>2016-01-05 + +<abstract> +sim65 is a simulator for 6502 and 65C02 CPUs. It allows to test target +independed code. +</abstract> + +<!-- Table of contents --> +<toc> + +<!-- Begin the document --> + +<sect>Overview<p> + + +sim65 is the only solution as part of the toolchain to execute code. The +binary needs to be compiled with <tt/--target sim6502/ or <tt/--target sim65c02/. + + +<sect>Usage<p> + +The simulator is called as follows: + +<tscreen><verb> + Usage: sim65 [options] file [arguments] + Short options: + -h Help (this text) + -v Increase verbosity + -V Print the simulator version number + -x <num> Exit simulator after <num> cycles + + Long options: + --help Help (this text) + --verbose Increase verbosity + --version Print the simulator version number +</verb></tscreen> + + +<sect1>Command line options in detail<p> + +Here is a description of all the command line options: + +<descrip> + + <tag><tt>-h, --help</tt></tag> + + Print the short option summary shown above. + + + <tag><tt>-v, --verbose</tt></tag> + + Increase the simulator verbosity. + + + <tag><tt>-V, --version</tt></tag> + + Print the version number of the utility. When submitting a bug report, + please include the operating system you're using, and the compiler + version. + + + <tag><tt>-x num</tt></tag> + + Exit simulator after num cycles. +</descrip> + + +<sect>Input and output<p> + +The simulator will read one binary file per invocation and can log some +library calls. + +Example output for the command +<tscreen><verb> +sim65 --verbose --verbose samples/gunzip65 +</verb></tscreen> +<tscreen><verb> +Loaded `samples/gunzip65' at $0200-$151F +PVWrite ($0001, $13C9, $000F) +GZIP file name:PVWrite ($0001, $151F, $0001) + +PVRead ($0000, $FFD7, $0001) +PVOpen ("", $0001) +PVRead ($0003, $1520, $6590) +PVClose ($0003) +PVWrite ($0001, $13D9, $000F) +Not GZIP formatPVWrite ($0001, $151F, $0001) + +PVExit ($01) +</verb></tscreen> + + + +<sect>Copyright<p> + +sim65 (and all cc65 binutils) are (C) Copyright 1998-2000 Ullrich von +Bassewitz. For usage of the binaries and/or sources the following conditions +do apply: + +This software is provided 'as-is', without any expressed or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +<enum> +<item> The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +<item> Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. +<item> This notice may not be removed or altered from any source + distribution. +</enum> + +</article> diff --git a/doc/smc.sgml b/doc/smc.sgml index 240c78e7b..4f3e2ace4 100644 --- a/doc/smc.sgml +++ b/doc/smc.sgml @@ -224,7 +224,7 @@ These marcos are determined to get, set and change arguments of instructions: <label id="Change branch"> <tag><tt>SMC_ChangeBranch label, destination (, register)</tt></tag> - Used to modify the destination of a branch instruction. If the adress offset + Used to modify the destination of a branch instruction. If the address offset exceeds the supported range of 8-bit of the 6502, a error will be thrown. Example: @@ -296,7 +296,7 @@ SMC GetK, { LDX #SMC_Value } <tag><tt>SMC_TransferLowByte label, value (, register)</tt></tag> Does the same as '<tt>SMC_TransferValue</tt>' but should be used for - low-bytes of adresses for better readability. + low-bytes of addresses for better readability. Example: <tscreen><verb> @@ -312,7 +312,7 @@ SMC LoadData, { LDA $2000 } <tag><tt>SMC_LoadLowByte label (, register)</tt></tag> Does the same as '<tt>SMC_LoadValue</tt>' but should be used for low-bytes - of adresses for better readability. + of addresses for better readability. Example: <tscreen><verb> @@ -329,7 +329,7 @@ SMC LoadData, { LDA $2000 } <tag><tt>SMC_StoreLowByte label (, register)</tt></tag> Does the same as '<tt>SMC_StoreValue</tt>' but should be used for low-bytes - of adresses for better readability. + of addresses for better readability. Example: <tscreen><verb> @@ -352,7 +352,7 @@ SMC StoreCollisionData, { STY $2200 } <tag><tt>SMC_TransferHighByte label, value (, register)</tt></tag> Loads and stores the given value via the named register to the high-byte - adress portion of an SMC-instruction. + address portion of an SMC-instruction. Example: <tscreen><verb> @@ -370,7 +370,7 @@ PlayOtherSound: <label id="Load high-byte"> <tag><tt>SMC_LoadHighByte label (, register)</tt></tag> - Loads the high-byte part of an SMC-instruction adress to the given register. + Loads the high-byte part of an SMC-instruction address to the given register. Example: <tscreen><verb> @@ -387,7 +387,7 @@ SMC GetVolume { LDA $3200,x } <label id="Store high-byte"> <tag><tt>SMC_StoreHighByte label (, register)</tt></tag> - Stores the high-byte adress part of an SMC-instruction from the given + Stores the high-byte address part of an SMC-instruction from the given register. Example: @@ -407,7 +407,7 @@ SMC GetSoundData, { LDA Level1Base+Sound, y } </verb></tscreen> - <label id="Transfer single adress"> + <label id="Transfer single address"> <tag><tt>SMC_TransferAddressSingle label, address (, register)</tt></tag> Transfers the contents of the given address via the given register to the @@ -428,7 +428,7 @@ SMC GetChar, { LDA SMC_AbsAdr, x } </verb></tscreen> - <label id="Transfer adress"> + <label id="Transfer address"> <tag><tt>SMC_TransferAddress label, address</tt></tag> Loads contents of given address to A/X and stores the result to SMC @@ -559,11 +559,11 @@ allowing reuse of some instructions. 8: SMC FirstIncHighByte, { SMC_OperateOnHighByte inc, StoreAccuFirstSection } ; code will be overwritten to 'beq RestoreCode' (*) 9: ... 10: SMC_TransferOpcode FirstIncHighByte, OPC_BEQ , x ; change code marked above with (*) -11: SMC_TransferValue FirstIncHighByte, #(restoreCode - RestoreCodeBranchBaseAdr-2), x ; set relative adress to 'RestoreCode' +11: SMC_TransferValue FirstIncHighByte, #(restoreCode - RestoreCodeBranchBaseAdr-2), x ; set relative address to 'RestoreCode' 12: ... 13: restoreCode: 14: SMC_TransferOpcode FirstIncHighByte, OPC_INC_abs , x ; restore original code... -15: SMC_TransferValue FirstIncHighByte, #(<(StoreToFirstSection+2)), x ; (second byte of inc contained low-byte of adress) +15: SMC_TransferValue FirstIncHighByte, #(<(StoreToFirstSection+2)), x ; (second byte of inc contained low-byte of address) 16: ... </verb></tscreen>