• Commodore Free Magazine, Issue 82 - Part 7

    From Stephen Walsh@39:901/280 to All on Fri Aug 15 17:15:47 2014
    usehack mode now always stops keyboard input when mouse
    is outside of emulation window, even if window still has focus

    * Hyperion Entertainment Blog

    www.winuae.net/


    *************************************
    OFFICIAL AMIGAOS DOCUMENTATION WIKI
    *************************************

    The official AmigaOS Documentation Wiki has been online for a few years now
    and gone though many changes since its start.

    With new developer material, the wiki also contains previous AmigaOS
    developer documentation including the RKRMs, AmigaDOS Manual, AmigaMail articles, AutoDoc style guide and Amiga User Interface Style Guide.

    You will also find manuals for ARexx, AmigaDOS, and Workbench, along with 3rd-party software manuals such as Bars & Pipes Professional.

    If you have something to contribute to The AmigaOS Documentation Wiki
    please contact the AmigaOS Development Team and volunteer.

    wiki.amigaos.net/wiki


    *************************************
    YERZMYEY - RAVE IS ILLEGAL!
    *************************************

    Yerzmyey has released a new album called Rave is illegal! All the music
    has been created on a AMIGA 500 (using just 4 channels)

    soundcloud.com/yerzmyey


    =====================================

    *************************************
    GEOS AND WHEELS PROGRAMMING
    BASIC CODE
    By Terry Raymond
    *************************************

    Hello, I am Terry Raymond and together we will be delving into some
    articles on basic GEOS 8-bit programming, using Machine Language. Our code will also work with Wheels OS, too. To get you started I need to tell you about an update for Geo Programmer, then we will start with GEOS/Wheels
    Header file.

    THE GEO PROGRAMMER UPDATE:

    The original Geo Programmer package for programming your own apps, etc.,
    was okay - but contained a lot of bugs. If you are a well-seasoned ML programmer you will probably know about all of the workarounds for these
    bugs and this is not a problem. However, for beginners this can be the
    most difficult and frustrating part to overcome, so many just give up.

    There is hope though, as sometime around 1999 The author of the upgrade for GEOS (Maurice Randal) released Wheels OS he also upgraded the Geo
    Programmer package and with the first release fixed all original Geo
    Programmer bugs, the package was called: Concept. Concept is similar to
    Geo Programmer in that it's very limited on the size of the code, labels
    etc., etc., you can use, but one could at least code a decent 8-bit GEOS application.

    Maurice went one step further to support the CMD Super CPU and came up
    with: Concept Plus with a number of great improvements:

    1. Faster assembling and Linking times.

    2. Offers better Wheels memory management (little better than GEOS).

    3. Creates both 8-bit and 16-bit apps.

    4. Author includes in Concept package: New Macros (beyond my
    understanding).

    Concept & Concept Plus, to my understanding, are now freely distributable
    (as Maurice has left the scene now). If, however, people want to try it
    out, and have more interest in GEOS/Wheels programming then feel free to contact me.

    I would also suggest newbies get hold of the original GeoProgrammer manual
    and disks, because on the disks are the original GEOS Macros that are
    needed, but I wont go into that in this article. Now onto how to code a GEOS/Wheels File Header.

    This header is kind of similar to a standard CBM file header with of course
    a few differences for the GEOS system, it contains information about the Application, including a small Icon that is clicked on to start any GEOS Application (more on that later).

    I will mention here that I'm very new to 6502 ML and GEOS programming, but
    I will not try to teach that since I'm barely grasping that myself and learning.

    With any 6502 ML and GEOS programming that use ML Opp codes, and
    GEOS/Wheels OS uses its own unique type of routines. Also ML uses in its
    code its own Comments that usually have a semi colon like:

    ; Start of code

    This describes what each line of code is doing but sometimes hard to follow
    or understand.

    To start the Header file code:

    ;********************************
    ;My application
    ;Header file
    ;********************************

    .header ;start of Header file
    ;section
    .word 0 ;first 2 bytes - zero
    ;(after .word is a zero)
    .byte 3 ;width in bytes
    .byte 21 ;height in scanlines of

    (LEAVE 2 BLANK SPACES HERE important)
    ?Use Geopaint to create your Icon,
    then cut the image, then paste the
    image into this code HERE. More on
    this in a later article.
    (LEAVE 2 BLANK SPACES HERE important)

    .byte $83 ;Commodore file type,
    ;with bit 7 set
    .byte 6 ;GEOS file type:
    ;APPLICATION
    .byte 0 ;GEOS file structure
    ;type: SEQUENTIAL
    .word $0400 ;Start address
    .word $03ff ;Highest end address
    ;only need for
    ;Desk accessories
    .word $0400 ;init address

    ;Permanent command name (or class of
    ;file) must be 12 characters
    ;including Spaces plus Version number
    ;5 characters followed by three
    ;zero values. The final byte here is
    ;the SYSTEM byte. $40 allows this
    ;command to run on any GEOS system.
    ;(also Wheels).
    ;(REFER TO GEO PROGRAMMER USER MANUAL
    ;APPENDIX-C)

    .byte "App name V1.0",0,
    0,$00

    ; the final byte can be:
    ; $00 - Only 40 column mode
    ; (C64, C128 40 column mode)
    ; $40 - 40 and 80 column mode
    ; (both C64 and C128)
    ; $80 - GEOS 64 only
    ; $C0 - Only 80 column mode
    ; (80 column mode for C128)

    ;Twenty character author name
    ;including the Null- Terminator
    ;Change this to your own name

    .byte "Author Name ",0

    .block 20 ;Free for GEOS use ???
    .block 23 ;Free for GEOS use ???

    ;The info text including the Null-
    ;Terminator :Max 96 characters

    .byte "App's Function",$0d
    .byte "Same ",0
    .endh ;end of Header section

    BTW, the comments mentioned at the start are only for commenting in the
    code and do not use any of the System Memory for the Application etc.

    The next article we will explain the small Graphical Icon and how to create
    it etc.

    If anyone has any basic questions about GEOS (basic code) I may be able to answer some questions etc, so feel free to contact me:

    Terry L. Raymond

    email: traymond20@gmail.com

    Enjoy GEOS programming till our next article. -Terry

    FURTHER READING

    Wheels the GOES upgrade
    en.wikipedia.org/wiki/Wheels_(operating_system)

    Geos programming wiki
    commodore64.wikispaces.com/GEOS+Programming

    Geos programmers reference guide
    www.zimmers.net/geos/docs/geotech.txt

    GEOS FAQ
    www.zimmers.net/geos/GEOSFAQ.html

    Shadow m's Geos
    www.lyonlabs.org/commodore/onrequest/geos.html


    *************************************
    COMMODORE: 1 -- CHURCH: 0
    By Lenard R. Roach
    *************************************

    It will be four years this coming December 27th that "Run/Stop-Restore:
    10th Anniversary Edition" came out on the bookshelves as, I hope, a
    different way to approach Commodore computing and writing. The response to
    my collection of writings by the Commodore public has been far more
    gratifying and profitable than my two Christian publications combined.
    This does not bode well for the church but it speaks volumes about the Commodore community and how well they do support their beloved computer.
    In order to have a publication sell in the Christian world the book has to
    be endorsed or forwarded by a big name preacher or Christian ministry. My books have not. However, Mr. Parker at "Commodore Free" magazine has graciously granted me more than one interview over "Run/Stop-Restore: 10th Anniversary Edition" and even dedicated an interview for me in his
    publication on some of the programs I've written over the last twenty or so years that I've been sitting behind a Commodore keyboard. This bolstered
    sales of all my Commodore wares very well, which has brought me to a
    crossroads in my writing career ... do I continue to write books for a Christian world that doesn't know I exist, or do I change venues and write
    more for the Commodore machi

    --- MBSE BBS v1.0.01 (GNU/Linux-i386)
    * Origin: Dragon's Lair ---:- bbs.vk3heg.net -:--- (39:901/280)