Initial commit

This commit is contained in:
J.B. Langston
2017-01-04 22:40:59 -05:00
commit 7b713839a7
11 changed files with 3396 additions and 0 deletions
+32
View File
@@ -0,0 +1,32 @@
# Supermon+64 V1.2
By Jim Butterfield
## Background
Supermon64 is a machine-language monitor for the Commodore 64 written by [Jim Butterfield](https://en.wikipedia.org/wiki/Jim_Butterfield). It originally appeared as a type-in program in the [January 1983 issue of Compute Magazine](https://archive.org/details/1983-01-compute-magazine). The program was widely distributed by Commodore User's Groups and included on the [demo diskettes](http://www.zimmers.net/anonftp/pub/cbm/demodisks/c64/starter-kit.d64.gz) and tapes that Commodore provided with their hardware. An improved version, 1.2, appeared sometime later.
After working my way through Jim Butterfield's excellent [Machine Language for the Commodore 64](https://archive.org/details/Machine_Language_for_the_Commodore_Revised_and_Expanded_Edition) using his equally excellent monitor, I set out to try to find the original sources for it. For a piece of public domain software, it wasn't as easy as you'd think.
I found [this thread](http://comp.sys.cbm.narkive.com/KUAL6oqM/attn-jim-butterfiled-i-m-looking-for-supermon-64-source-code) where someone asked for the sources and Jim Butterfield himself responded. One person pointed to this [modified version](http://www.ffd2.com/fridge/programs/supermon.s) but I wanted the original. Someone else mentioned a file called SPRMON64.SDA at a now-defunct FTP site. I searched for the filename and found it in on a [gopher proxy](https://gopherproxy.meulie.net/sdf.org/1/users/rogertwo/prgs/cbm/c64/programming/).
I downloaded it and it appears to be the original source and binaries for the updated 1.2 version. Since it doesn't seem to have an official home and it's continued availability on the internet seemed precarious, I decided to give it one on GitHub.
## Contents
- [sprmon64_email.txt](sprmon64_email.txt) is the file I downloaded. It is not actually the SDA itself, but an email containing the SDA in a uuencoded attachment.
- [sprmon64.sda](sprmon64.sda) is the actual SDA that I uudecoded from the email I downloaded.
- [sprmon64.d64](sprmon64.d64) - the SDA converted to a d64 image for use in VICE or with sd2iec.
The original files extracted from the SDA:
- [supermon64.prg](supermon64.prg) is the C64 binary for Supermon 1.2.
- [supermon64 inst.prg](supermon64 inst.prg) is a C64 BASIC program that displays instructions.
- [supermon64 docs.seq](supermon64 docs.seq) is a PETSCII file containing instructions.
- [supermon64.src.seq](supermon64.src.seq) is the PETSCII source code. According to Jim's [email](http://comp.sys.cbm.narkive.com/KUAL6oqM/attn-jim-butterfiled-i-m-looking-for-supermon-64-source-code), these sources are for the [PAL Assembler](https://ist.uwaterloo.ca/~schepers/download.html) by Brad Templeton.
Converted versions of the original files:
- [supermon64 docs.txt](supermon64 docs.txt) is the PETSCII documentation converted to ASCII.
- [supermon64.src.txt](supermon64.src.txt) is the PETSCII source converted to ASCII.
- [supermon64.asm](supermon64.asm) is the source with fixed indentation and minor tweaks to get it to build successfully in [64tass](https://sourceforge.net/projects/tass64/) and [TMPx](http://style64.org/release/tmpx-v1.1.0-style). I tested the resulting program and it seems to work, but I can't guarantee it's 100% correct.
## License
Based on multiple sources, this software appears to be in the public domain. I claim no ownership.
+50
View File
File diff suppressed because one or more lines are too long
BIN
View File
Binary file not shown.
+531
View File
@@ -0,0 +1,531 @@
From KurtB02@aol.com Mon Aug 28 20:07:18 2000
Date: Sun, 27 Aug 2000 21:33:43 +0200
From: KurtB02@aol.com
Newsgroups: comp.binaries.cbm
Followup-To: comp.sys.cbm
Subject: Supermon+64 - (SPRMON64.SDA)
******************************************************
*** ***
*** comp.binaries.cbm is a moderated binaries- ***
*** only newsgroup (no discussion or ***
*** crossposting allowed) for Commodore 8-bits ***
*** ***
*** For information on comp.binaries.cbm visit ***
*** http://stockholm.ptloma.edu/comp.binaries.cbm/ ***
*** ***
*** This file is also available via FTP from ***
*** ftp://videocam.net.au/cbm/incoming ***
*** (allow time for submission to be received) ***
*** ***
******************************************************
This SDA contains the Supermon+64 machine-language monitor, a docs file,
and the source code for it.
Directory for: sprmon64.sda
==================================================
FILENAME TYPE BLKS NOW V STOWAGE DATE
==================================================
sda232.64 p 9 --- - --------
supermon+64 p 13 12 2 crunched 01jan1980
supermon+ inst p 29 19 2 crunched 01jan1980
supermon+64 docs s 24 14 2 crunched 01jan1980
supermon+64.src s 63 32 2 crunched 01jan1980
==================================================
Files: 4 129
begin 644 SPRMON64.SDA
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
MPD&J`8J:..PP=(!L$(]E@748Y!-%@`"-=W$`D#SC``3301@&?8X$A*+=+2`9
M!B9!@@<(*QP$:.0)[$&`9/QO?4?;<)^A48%_).`!!*A3J9;?@Y;W@P!I*D6I
M2GDLJ#CZ#_UX^`RJ?7M]*[[G?:C\S(>VOLU,?A(76.#[Y\RB\'%_"95M^BI;
M$6,"$'Q]#TC``HCX-_QC-?_"`G##'!/``EQB+=:[IDM@>\!89P"J`)3Y'^!0
M"4;#([-P)NG`"=DR=.#"`WR[(BQ``Q#X@97ZJ=?XD,_Z(2UA#\A8MT)A#ET(
M&)ZZAAK@L<C#,QA`)U3C/@*#/Q#`$SX!A2>#`<#"'[:!`@AC%BB#$A"`8,B`
M1LB#9LB#,BB$)!"`&C`"'3!!+.!"/]`!'2B#)BA#`7!!$A`@/"B!/"R!(&8"
M`12```"!J/``!`AX'A"!*###0K@#9#B'=_B&1P1`<P0!)```$8B$#\2`"```
M8D1&-(A`%B!$0H1%2D1%&!@!,GA@(Q!"(`0!``"`)LA"(B1!&$A!*.0"#5`"
M#1`#!9"`)@"`!I``"0``#D0!#A"#+D0#-A1"+D0!+A!#+D0#+A0"`%`")M2!
M)50`)A`#"2@#=LR!,F#&&&"!-FA#*5A&"]1!'510$P"`#P``*N2`+>3$)E""
M,H0`,K``8FP",13`!AB!%D@`&1A!"D2`"HC`!*B`!8C`!:0``+0`!(2`"[0`
M!=B!"[S`#$B!$SQ!"40!`%1!$12%)+B`$XB`!30!$S1%!```%F`!&9"!$SA!
M!$S`"$P!&4B`"(A`$4R$!+:%(HB`&(B#!$B!+"B!"FB``-`!'W`#"5`#&9""
M#"B#&NBH%+20$UQ*'K"K%/"3$W"0&.B2$RP1%:@3%;23$\P3%21@?8H!&^"3
M$T"0$R``%$``$(``,``#($@2%6`2%0(`````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M`````````````````````````````````@-GOS`<`!,`4`Y355!%4DU/3BL@
M24Y35/XA``"!0`<""H!X!)2I4B!*B2QY<J@1D"1'F0HE`(B!0`$@%@%&?T`P
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
M`.!#I(H@,50#/E``,<X",OP!AJ0!&.`2[VJS,LCA\S8;'PE/*4T!P=`3`/0"
M/C`!,02")#0!(Y2$+'!!(0@""7"1.BP"/O``\9[N.43O&30!$1!!.7"J'VT"
M/B``.<Y"\CB1/$)6)MI2(:I@!PH@&\D!-<F-&<H!UGXC];`C,TO3*[X,!`40
MKP$C#RJK,DL#!Y!#'+$"``(`````````````````````````````````````
M````````````````````````````````````````````````````````````
M```````````````````````````````````````````````"`V*\JA<`#@!3
M$%-54$5234].*S8T($1/0U/^(0#^0""PC,`J`@L(C"*PA,`L`O,(S"%`@#H*
M-BQ@P9HDAX`*":((B)$G0X8\=9+DB",@0I(R8:J4*9,D3PX-`M)$:1(B3Y`2
M$;`I*5"E@B!E&J*9B9,C2(4H$02$:%:D1)!P3BJ4T<7R!PP!GOCIBE%&0)U$
M600TR5.-1Y,"47S^`(.U;-6"44MFS9N+UH@@`G)$J2.@1I12YJP(R!,#B[QK
M]YZ]D4>)GY`248*41R:F%"_!@$%@AP[/$K<1%?((*%`B3XTDD83KB9*C0I(P
M03)@"9,G2Y8@.2)-5LPC3SGAZ'D)"5$E288*VI1@R68EN6+NB:D(=N\E3X3\
M=`08,>%`UPFLE?F7*1==EYD0F82$FZ<JF6@-600S*)$A.6R1848@IXD3QNNA
ME\CR(0J76*)`"ZT-""-I'S)&F8N0E/*IK)`B$-@A&>K*PPULL,%+AS0$7BLK
M8[@.N&6/?0YH`@4"4$84B62.&@8!%&;(;!B44:!I"X)H>*HS<ZPRRY`>$#"L
M-VMZL,RDWA"(!0\D,.D$`WS`J@M!&FFEJQ[4<,`()TP900!9FH#`D"6D,/('
M;';I`@J!.$Z&*X^A?J*!(+(H^)"GC/[QEYOFFI@IIPKFY(D<JL@:9ENN?J+H
M#&IVV*RF>%9*D%\((=D!09H`PZ!V81!X81JB!:J,,A*2.V1^&<B@:J.XY94"
M!210RJYX!2''#76]BHF+/,*H5`0%9%"68K\*BH>N#$HJ0P$IE&J74A4$A9AK
M-ZK(J%"41.Z':T`)"!6:F\-=1H><Q<H5XWLT*KLA@6.E(&2FKRI!@#B2UDF5
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
MRG8:(RL&T@1YNB.NH5@IZ*_0HQHA8@,)(RDJBQK+5)P^T"_;X40YV9F;`2U>
M,SC0<P"N(2%R9AYJ(P``````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M`````````````````````````````````````````````````@.AY#`^`"``
M4P]355!%4DU/3BLV-"Y34D/^(0"X$?A#@`IL(%0(*%.E0)026?+D4"/`A@4!
M*9)D$1"B2H5*.&(DB9(A$C1X4`34,*+#Y`\P`H)4B5.E3`4!)@P(,.+$@=4?
MB&2!@@2C0I9"3KQ("&,$6Y0")@0E"6,&2YD@E2P5D>#$`)88.3)$R=4BA+TJ
M02))2Q+"68]@$X+UR+6@U(006')$:-0BC`TL::(T6R'!@`E[,T*DJ1$E7`L#
M9HS]4.%%,`0CAKH$"9--.AD5ZC(-R1&G0B(HWOEER)(C2I;Z\OE5JE'K/6\!
M6/(4"),G0G3#]C#$R!#?7X8(2>*$R67;5H9DSQ,(CO:@2I80R3,KMF<E2'G9
M-DQ@J6(@2##GV;J/G^Y;494*0>+[MF&N2_3.QTMO)T\=.@.L\^(@AIC]L/CJ
M@L;>VN6^6\K8A8S+*.OJLEG&.@LL&B&%AF:8P:B*@DNAR8H\2CZYY2'"2*"$
M@M,A((@:FBZC"F?`$2*J*,J.*!F0.JH:(Z+!<:N""M*J2:=6W/HA@Z2L&B6.
M&$+*>(\,TGY"$A!"L,2+"C*(H9P<0CJB')O.8L65/"+`FH4"*KIFAB"LP"*,
M)/+B)H<@'!XYG7)NNJ.J`<I!I(88@HCFB`32SB>G;X[(H!1%@0$AC+#_R*&0
M:V8((U882KG(EADB'B*#O!;)(9*#S=X4A$@>$86?&:+*^(A*D=6G:;+:L,JM
MJC#"02!)#!`C&P<LT#:$>`8HPX54B$+IV1BP]2&BO=`H:`&7.Q`HIVZ++0NC
MA06M>]^F8C#8+GHS"*.&BKTEMP,!Q##`)8G>$,/6$R(-J-*YKL@IAI+3376!
M4CHM2*)]4L@AW5H;1AK=[6#U.3\4(AT,8Y0QG8T`,21P]-BTKAG%CG@+"*&$
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
M8`@P`PVF^1TC40G0<7RC,1734'?77QS'-QJM-"8"````````````````````
3`````````````````````````'
`
end
BIN
View File
Binary file not shown.
File diff suppressed because one or more lines are too long
+285
View File
@@ -0,0 +1,285 @@
S U P E R M O N + 64
In the following discussion, keyboard
input in designated by brackets.
<this is what you type>
SUPERMON+ is a new version of
'SUPERMON' the reason for the new
version is to provide identical
commands to those of the built-in
monitor of the commodore 128.
The most visible changes from earlier
versions of SUPERMON are:
--decimal or binary input allowed;
--disk status and commands (@);
--looser (easier) syntax.
NUMBER CONVERSION
<$2000>
$2000
+8192
&20000
%10000000000000
In the above example the user
has asked for the numeric
equivalents to hexadecimal 2000.
The reply shows the value in hex
($), in decimal (+), in octal (&)
and in binary (%).
The user could ask for a number
to be converted from any of these
bases by giving the appropriate
prefix.
IMPORTANT NOTE --
At any time in the following text,
you may enter any number in any
base and conversion will be done
for you.
Example:
<m +4096>
Will cause a memory display from
decimal address 4096. In the
display, the hex address ($1000)
will be shown. Similarly,
<+2048 lda#%10000000>
Will be converted to assemble:
"a $0400 lda #$80"
If you don't give a prefix, the
monitor will assume hexadecimal.
REGISTER DISPLAY
<r>
pc sr ac xr yr sp
; 0000 01 02 03 04 05
Displays the register values
saved when SUPERMON+ was entered.
Values may be changed by typing
over the display followed by a
return character.
pc - program counter
sr - status register
ac, xr, yr - a, x, and y
registers
sp - stack pointer
<m 200 209>
>0200 4d 20 32 30 30 20 32 30: m 200 20
>0208 39 00 00 04 00 04 00 04: 9.......
Display memory from 0200 hex to
0209 hex. Display is in lines of
8, so addresses $200 to $20f are
shown. If only one address is
used then 12 lines (96 locations)
will be shown. If no address is
given display will go from the
last address. Equivalent ASCII
characters are shown in reverse
at the right. Values are changed
by typing over the display
followed by a return character.
EXIT TO BASIC
<x>
Return to BASIC READY mode. When
you wish to return to SUPERMON+,
command "SYS 8".
SIMPLE ASSEMBLER
<a 2000 lda #+18>
(changes to:)
a 2000 a9 12 lda #$12
a 2002 ..next instruction
In the above example the user
started assembly at 2000 hex. The
first instruction was load a
register with immediate 18
decimal. In following lines the
user need not type the "a" and
address. The simple assembler
prompts with the next address. To
exit the assembler type a return
after the the address prompt.
Previous lines may be changed by
typing over the right hand part.
<d 2000 2004>
. 2000 a9 12 lda #$12
. 2002 9d 00 80 sta $8000,x
Disassembles instructions from
2000 to 2004 hex. If one address
is given, 20 bytes will be
disassembled. If no address,
start from the last used address.
Code may be reassembled by moving
the cursor back and typing over
the right hand part.
FILL MEMORY
<f 1000 1100 ff>
fills the memory from 1000 hex to
1100 hex with the byte ff hex.
GO (RUN)
<g 1000>
Go to address 1000 hex and begin
running code. If no address is
given, the address from the <pc>
register is used.
JUMP (SUBROUTINE)
<j 1000>
Call address 1000 hex and begin
running code. Return to the
monitor.
HUNT MEMORY
<h c000 d000 'read>
Hunt thru memory from c000 hex to
d000 hex for the ascii string
"read" and print the address
where it is found. A maximum of
32 characters may be used.
<h c000 d000 20 d2 ff>
Hunt memory from c000 hex to d000
hex for the sequence of bytes
20 d2 ff and print the address. A
maximum of 32 bytes may be used.
FILE HANDLING
LOAD
<l>
Load any program from cassette #1.
<l "ram test">
Load from cassette #1 the program
named "ram test".
<l "ram test",08>
Load from disk (device 8) the
program named "ram test". This
command leaves basic pointers
unchanged.
SAVE
<s "program name",01,0800,0c80>
Save to cassette #1 memory from
0800 hex up to but not including
0c80 hex and name it
"program name".
<s "0:program name",08,1200,1f50>
Save to disk drive #0 memory from
1200 hex up to but not including
1f50 hex and name it
"program name".
TRANSFER MEMORY
<t 1000 1100 5000>
Transfer memory in the range 1000
hex to 1100 hex and start storing
it at address 5000 hex.
COMPARE MEMORY
<c 1000 1100 5000>
Compare memory in the range 1000
hex to 1100 hex with memory
starting at address 5000 hex.
DISK OPERATIONS
CHECK DISK
<@>
Get disk status message
<@9>
Get disk unit 9 status message
<@,$0>
Get drive 0 directory
<@,s0:temp>
Scratch file 'temp' from disk
OUTPUT TO PRINTER
Call SUPERMON+ from basic with:
<open 4,4:cmd 4:sys 8>
All commands will go the printer.
When complete, return to basic
with "x" and command:
<print#4:close 4>
SUMMARY
$ , + , & , % number conversion
g go (run)
j jump (subroutine)
l load from tape or disk
m memory display
r register display
s save to tape or disk
x exit to basic
a simple assembler
d disassembler
f fill memory
h hunt memory
t transfer memory
c compare memory
@ disk status/command
Supermon will load itself into the top
of memory...wherever that happens to
be on your machine. Be sure to note
the SYS command which links SUPERMON
to the Commodore. It may be used to
reconnect the monitor if it is
accidentally disconnected by use of
the run-stop/restore keys.
+1392
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
File diff suppressed because one or more lines are too long
+1104
View File
File diff suppressed because it is too large Load Diff