******************************************************************
*** ***
*** 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://www.floodgap.com/comp.binaries.cbm/ ***
*** ***
*** This file is available via mailing list at ***
***
http://lists.trikaliotis.net/listinfo/comp-binaries-cbm/ ***
*** to list subscribers ***
*** Allow time for submission to be received ***
*** ***
******************************************************************
* One from the Vault is a collection of frequently requested, useful or just
plain interesting past posts sent to comp.binaries.cbm, as archived by the
moderators. If you have a request, please send it to the address in the
headers. In addition to being selected and reposted by moderation staff,
some of these postings are regularly posted on Mondays and Fridays on a
rotating schedule.
Take care when replying to these messages, as many were posted years ago.
From: Mattias Hansson <hackzoid@alfa.telenordia.se>
Reply-to: Mattias Hansson <hackzoid@alfa.telenordia.se> >X-Original-Posting-Date: Tue, 23 Feb 1999 17:54:40 +0100
[ This is the original usenet post announcing the program. It is reposted
below, slightly edited. -- Cameron Kaiser ]
SIDMON v0.6 released!
(by HackZ0id of Siders!)
I've now written a little memorymonitor
for the VIC-20. It's very simple and slow
(written in Basic) but it works!
After trying out both "tinymon" and
"punymon" (found at funet), that
both should work on an unexpanded
VIC-20 (but didn't for me), I wrote
my own little monitor this sunday
afternoon.
It provides you with the following
commands:
1) 'M' - Normal memory view (HEX)
syntax :
M XXXX [XXXX]
(list memory from first to last adress)
2) 'X' - Exit to basic!
3) 'G' - Execute a machine language
program on an address (HEX)
syntax :
G XXXX
If your program ends with a "RTS"
($60) then it will automatically return
to the monitor.
4) 'E' - Edit a memory block of 8 bytes
(one monitor row) at a certain location
(HEX)
syntax :
E XXXX
Once entered this command shows up
an row of hexvalues totally like the one
u'll see using the "M" command.
Just edit the hexvalues and press enter
to store your "row" to memory.
------------------------------
I've tried out this monitor after I wrote it
for some hours (2-3) and wrote some
raster-playing routines, a call to the
kernal for saving files of selected memory
locations, etc. It works perfectly except
thats it's kinda slow, but it's plain basic
and it converts all DEC<->HEX on the
fly so thats understandable.
Of course everything was written by entering
hexvalues, using this monitor, directly into
the memory.
This monitor should work with any expansion
to, but theres just no need for that becoz then
you can surely use another monitor with real
mnemonic capabilities etc.
NB! : One thing I found out using this monitor
was that pressing the RUN/STOP (break) -key
did sometimes clear out parts or the whole
protected MachineCode-memory, while the monitor
was running. Press the reset-switch if you have one,
or try RUN/STOP + restore (if a ML-program that
you executed hang).
The program reserves $1001-$1567 for it's own use,
the rest ($1568-$1dff on an unexpanded, except
for screen and colormem) 2199 (!) bytes are free
for you (the programmer) to use for ASM routines
ETC. Not too bad, eh?
It's GNU software so just feel free to "peek" at the
source ("list" :-) to see how it's written, if you
can learn something, by doing so :-)
HackZ0id of Siders!
__________________________________________
SIDERS statement #2 :
To release software without the sourcecode, is
as stupid as selling a computer without shematics
and a memorymap!
begin 644 sidmon.prg M`1`?$`4`F2*34TE$34].(CJ7-34L,3`T.I<U-BPR,0`O$&0`F2(N(CLZC2`Y M.3D`/A!N`$,DLL@H220L,2D`3!!X`(M#)+(B6"*G@`!=$((`BT,DLB)-(J>- M,C`P`&X0C`"+0R2R(D4BIXTS,#``?Q"6`(M#)+(B1R*GC30P,`"+$,<`F3J) M(#$P,`"H$,@`2"2RRBA))"PS+#0I.HTX-3`Z35.R2#J9`,L0T@!()++**$DD M+#@L-"DZBT@DL[$B(J>-.#4P.DU%LD@`X1#7`(L@2"2R(B(@IR!-1;)-4ZHW M`/`0W`"!2;)-4Z1-1:DX``<1Y@!(LDDZC3<U,#I-)+)()*HB("(`%!'P`(%* MLDFD2:HW`#(1^@!(LL(H2BDZC3<U,#I-)+)-)*K)*$@D+#(I`%$1!`&".HTY M.3@ZF4TD.J%!)#J+022RQR@Q,RFGC@!7$0D!@@!=$0X!C@!^$2P!2"2RRBA) M)"PS+#0I.HTX-3`Z35.R2#J9(I,B.P"8$3$!F<HH220L,RPT*3J-.3DX.DTD MLB(B`*<1-@&!2;)-4Z1-4ZHW`,410`%(LL(H22DZC3<U,#I-)+)-)*K)*$@D M+#(I`.(12@&".IFF-2E-)#J9(I$='1T='2([.HTY.3D`\1%4`8%)LDU3I$U3 MJC<`&1)>`4@DLLHH220L*"A)JTU3*:PR*:HQ+#(I.HTX-3`ZETDL2#J"`!\2 MCP&.`#P2D`%()++**$DD+#,L-"DZC3@U,#I-4[)(.ID`11*:`9X@35,`2Q*D M`8X`5A*\`DA8)+(B(@![$L8"BTA8);*Q,*](6"6SLCFG2%@DLLDHQ"A(6"4I M+#$I.HX`GA+0`HM(6"6RL3$PKTA8);.R,36G2%@DLL<H-36J2%@E*0"D$MH" MC@#%$NX"2"2R(B(Z5[(S.HM(LS(U-J=7LC$Z2"2R(C`P(@#3$O@"@56R5Z0P MJ:LQ`.42^@)6LK4H2*TH,3:N52DI`!(3_0*+5K$PITA8);)6.HTW,#`Z2"2R M2"2J2%@D.DBR2*LH5JPH,3:N52DI`"43_P*+5K(PIT@DLD@DJB(P(@`K$P(# M@@`U$R`#2%@ELC``6A,E`XO%*$A8)"FQ,*_%*$A8)"FS,3"G2%@ELL4H2%@D M*3J.`&\3*@.+2%@DLB(P(J=(6"6R,#J.`)83-`.+2%@DLK$B02*O2%@DL[(B M1B*G2%@ELBC&*$A8)"DIJS4U`)P3/@..`*034@-(LC``MA-<`X%5LL,H2"0I MI#&IJS$`S1-F`TA8)++**$@D+%4L,2DZC3@P,`#K$W`#2+)(JDA8):PH,JXH M*,,H2"0IJU4IK#0I*0#S$WH#@CJ.`!(4Y@.9(B`@("`@L*ZPKK"NL*ZPKK"N >L*ZPKB(ZC@`F%.<#GS$L,#J$,2Q))#J@,3J.````
`
end
--
Cameron Kaiser *
ckaiser@floodgap.com * posting with a Commodore 128
Floodgap Systems:
http://www.floodgap.com/
personal page:
http://www.cameronkaiser.com/
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)