Date : Sun, 11 Jan 2009 13:23:09 +0000
From : jgh@... (Jonathan Graham Harston)
Subject: My sideways ram utils
Sprow wrote:
> Seriously impressed by the tidy source code!
It's always a dilemma letting people see your own source code, but
how will people learn if they don't see? To this end some time ago
I stuck my head above the parapet and put together a list of coding
and commenting examples at http://mdfs.net/jgh/Progs/Examples.htm
Phill Harvey-Smith wrote:
> Constructive comments welcome :)
--> While not enforced by anything, the version string should
be of the form:
ether "x.yz" or "x.yz (dd Mmm yyyy)"
for example:
EQUS "RamUtils",0 ; Title string
EQUS "0.90 (12 Jan 2009)" ; Version string
.Copyright
EQUB 0
EQUS "(C)2008 Ramoth Software"
EQUB 0
Then you get nice neat listings, like this:
=>*rmlist
No. Position Name Version
1 FFFF8000 TERMINAL 1.00 (C)1984 Acorn
2 FFFC8000 BASIC 4.00 (C)1984 Acorn
3 FFFB8000 Edit 1.00 (C)1984 Acorn
4 FFFA8000 ViewSheet B.10 (C)1984 Acornsoft
5 FFF98000 DFS 2.24 (C)1985 Acorn
6 FFF9B8E0 Mouse 1.00 (12 Mar 2006) (C)J.G.Harston
7 FFF88000 Acorn ANFS 4.25 4.25 (C)1986 Acorn
8 FFF78000 HADFS 5.50 (15 May 2007) (C)J.G.Harston
9 FFF7BE4A NullKeyboard 0.12 (01 Aug 1998) (C)JGH
10 FFF7BE75 SoftRTC 0.10 (23 Nov 1992) (C)JGH
11 FFF68000 GoMMC 1.00 (25 May 2006) (C)2004-2006 Zeridajh
12 FFF58000 VIEW 4.00 (C)JGH & Acornsoft
13 FFF48000 Z80 BASIC 1.25 (24 Mar 2006) (C)J.G.Harston
14 FFF38000 DisAssem 1.05 (31 Jul 1998) (C)1990-98 J.G.Harston
15 FFF18000 Acorn ADFS 1.53 (C)1984
--> Within displayed messages, 'version' should abbreviated to 'v',
not 'V', viz RamUtils v0.90. However, almost all messages should
display versions as a pure number, viz:
=>*HELP
RamUtils 0.90
--> On entry to a ROM, X always holds the ROM number, which is also
held in &F4, so there is no need to preserve X, as it can be restored
directly from &F4 on exit, viz:
.ServiceEndHandled
PLA ; Pull Y
TAY
LDA &F4 ; Restore X
PLA ; Drop A
LDA #0 ; Claim the call
RTS
--> Routine DoReset: be warned that on MOS 5.xx (Compact), a power-on
reset (caused by resetting the VIA) wipes the RAM banks!
--> ROM type 1 is Turbo6502, and there's been general acceptance of
my use of ROM type 7 as PDP11.
--> Service call &12 is /select/ a filing system, not initialise a
filing system.
--> &A8-&AF aren't reserved for OS command use, they're reserved for
any command use.
--
J.G.Harston - jgh@... - mdfs.net/User/JGH
BBC IDE Hard Drive Interface - http://mdfs.net/Info/Comp/BBC/IDE