• One From The Vault: SIDMON v0.6 (VIC-20) (1K)

    From Cameron Kaiser@21:1/5 to All on Mon Nov 23 18:40:02 2020
    ******************************************************************
    *** ***
    *** 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)