Copy Link
Add to Bookmark
Report

Ictari Issue 50

eZine's profile picture
Published in 
Ictari
 · 21 Aug 2020

  


ICTARI USER GROUP ISSUE 50 October 1997

___ ______ ___ _________ _________ ___
\__\ \ __\ \ \__ \______ \ \ _____\ \__\
___ \ \ \ __\ _____\ \ \ \ ___
\ \ \ \ \ \ \ ____ \ \ \ \ \
\ \ \ \_____ \ \____ \ \__\ \ \ \ \ \
\ \ \ \ \ \ \ \ \ \ \ \
\__\ \_______\ \______\ \________\ \__\ \__\

* m a g a z i n e *

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
I C T A R I U S E R G R O U P
G Greenway, 8 Denmark Road, Reading, Berks, RG1 5PA. 0118 756668
http://www.elis.demon.co.uk/ictari/ictari.htm
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

INDEX FOR ISSUE 50
==================

ASSEMBLY Chapter on the MFP and PSG

C Rich Text Format to HTML converter

HISOFT BASIC Calculator desk accessory

GFA CRC checksum routines

MISC TOS documentation project
Atari hardware guide

-------------------------------------------------------------------

EDITORIAL
=========

Sigh, another late issue, again, it's the pressure of work, and I've
been slightly ill. Well, issue fifty's not *quite* the landmark I hoped
it would be, but it has its moments. I was only able to make it to the
London Goodman's Atari show quite late, I only caught the last hour, but
it looked as if things had been quite busy. -Some exhibitors had sold
vast quantities of stock, and were almost demanding more shows for next
year. -Luckily it looks as if they'll all get their wish. The Atari
scene looks far from dead, but there is now a real DIY spirit. -Most of
the new software coming out is being released as shareware by individual
programmers, and this will have to be nurtured. Here's where ICTARI
comes in, even if later issues start to become rather thin this group
has produced a wealth of information of interest to programmers, all
that needs to be done is to distribute it. It looks as if the battle is
slowly being won, the first twenty issues of ICTARI are now available at
two FTP sites:

ftp://nic.funet.fi/pub/atari/mags/ictari

ftp://src.doc.ic.ac.uk/pub/atari/umich/Magazines/Diskmags/Ictari

and there are links to these from the ICTARI pages. The site has been
featured in ST-Applications again, but the postal address for ICTARI
wasn't listed. (I'll have to write a few letters.) The good news is that
the last two issues are now on an ST-Club disk, the wider distribution
ICTARI gets the better. Tell your friends ! Soon the issues uploaded to
the FTP sites will overlap with those on my Demon pages. -All fifty
issues will be available. If I can create a complete HTML table of
contents with a proper searchable index with links to compressed copies
of *all* the issues then the ST programming world will end up with a
resource really worth having. Don't hold your breath, but the excellent
UDO program should be up to the task. Thanks again to all the
contributors, the late submissions were really worth the wait. I just
hope you all think this issue was worth waiting for ! Anyway, hi to our
new member !

Have Fun,
Giles.

-------------------------------------------------------------------

CORRESPONDENCE
==============
To: Contributors
From: Giles Greenway
Re: e-mail

Thanks again to Theo Ross and Mathew Bacon for their BASIC
contributions. There will be more of these next month, there were plenty
of them ! I hate to gripe, put please make sure that there's decent
segmentation on UUENCODED and MIME e-mails, poor old Oasis2/ICE can get
a bit stuck. It's not too much of a problem, and besides, if wasn't for
the odd stuck mailbox I wouldn't have found out how good Gary Priest's
POPWatch program is. Every cloud has a silver lining... Thanks also to
Jeremy Smith for his RTF convertor. I pointed him in the direction of
the RTF FAQs in previous issues, so we can expect suitably improved
versions in future. It's good to see ICTARI being used to create new and
useful software.

-------------------------------------------------------------------

To: All
From: Giles Greenway
Re: The TOS Book

Things would be much easier if more Atari documentation was
available. (You can still try to get the Atari Compendium on CD ROM.)
Thomas Much and Gotz Hoffart have started work on a freeware altenative
(in English) called the TOS Book. A copy is on this month's disk in
ST-Guide format. As you will see, it's far from complete. This is where
*you* come in. If you make regular use of some obscure part of the
operating system then you can share your knowledge with the rest of the
Atari community. A HTML version (yep, they're using good old UDO
again...) is available at:

http://www.uni-karlsruhe.de/~Thomas.Much/

I know I keep putting URLs in ICTARI, but the 'net has proved very
useful and fun. It's certainly given ICTARI a new lease of life. I
recommend you all get connected. Anyway, the TOS Book; -what are *you*
doing to participate ?!

-------------------------------------------------------------------

To: HiSoft BASIC users
From: Giles Greenway
Re: HiSoft BASIC mailing list

I've had a few queries about why ICTARI doesn't seem to support
HiSoft BASIC. ICTARI will support *any* language on the ST if it gets
the contributions, just look at this issue for proof. There'll be more
HiSoft stuff next issue as well. In the meantime, Paul Jones, author of
the HiSoft BASIC column in Atari Computing has set up a mailing list.
ICTARI readers with e-mail can send mail to:

majordomo@spodden.zetnet.co.uk

with the message "subscribe hisoft-basic". Enjoy !

-------------------------------------------------------------------

To: All
From: Stephen Bruce
Re: Atari SC1435 monitor input (again)

Since last issue I've sourced a second hand cable for my monitor which
was originally designated as a Phillips cable, but it does the job so I
must assume they are the same. I've reverse engineered this (very
quickly as I'm late in sending this) and I think I've sussed the
connections. I believe they are as follows:

1 2 3 4 5 1 - Blue
------------------------------- 2 - Green
\ o o o o o / 3 - Red
\ / 4 - Ground
\ o o o o / 5 - Ground
------------------------- 8 - Horiz & Vert Sync.
6 7 8 9

This puzzles me a little, as I expected separate lines for the
horizontal and vertical sync, but they appear to be combined. Is this
technically possible or have I made a mistake (I only spent five minutes
on this). I'm interested in knowing as I reckon I could link my
Playstation/C64/Amiga to the same monitor for gamesplaying while my
partner watches telly.

Thanks to Giles Greenway and Charlie Ayres for their help so far, and in
advance to those who are about to offer info on the sync thing.

----------------------------------------------------------------------

To: Jason J Railton
From: Stephen Bruce
Re: Slingshot Demo

I tried the slingshot demo and thought it was cool. My partner came in
while I was mucking about with it and the conversation went like this:

Partner:"What are you playing?"
Me: "An early demo of a game."
P: "Where did you get that?"
Me: "Off the disk that came in this morning."
P: "That was on your disk? The one you get every month? I thought
it was something you'd bought, it looks better than anything else
I've seen from there!"

Despite explanations of how complex some of the other stuff I'd shown
her was (e.g. the 3D maze demos) compared to parallax scrolling, she
held her ground and maintained this was one of the best looking things
she had seen on the Atari and was far in advance of Buzzsaw (which had
me hooked for a few days). So there you go, you've impressed my woman !

-------------------------------------------------------------------

From: Levien van Zon (via e-mail: lvzon@bio.vu.nl)
To: Ritche Andrews
Re: Scrolling in windows

Theoretically one could do scrolling in a GEM window pretty fast and
smooth, although it would require some hacks...

Fast scrolling of an entire window contents is easy: You'll just have to
bypass the GEM rectangle list and make sure that the window is on top
when scrolling. The window contents to be scrolled should be stored in
an offscreen bitmap (either an EdDI offscreen bitmap or a normal block
of memory). You can than use the VDI vro_cpyfm() function or your own
blitting routine to copy the bitmap's contents into the window's
workarea. Also make sure your workarea is on a word boundary (x
coordinate dividable by sixteen) and has an even word width, as this
will speed up blitting quite a bit.

This procedure may become somewhat more complicated if you also want to
use the scrollbars, because these are pretty slow. You can minimize
scrollbar delay by creating your own scrollbars, either using direct
mouse checking (nasty, window must be on top) or GEM events (better, but
also slightly slower).

On slow blitting systems the above aproach might not be very smooth. In
this case you could also try using double buffering by using two
instances of the GEM screen and swapping the logical screen base after
the blit is finished, although this a nasty trick and might not work
when other applications also want to write to the screen. You may try
locking the screen to prevent this. I have never tried double buffering,
nor have I seen it being done.

If you want a nice clean GEM app I would recommend just using an
offscreen bitmap and maybe fast blitting routines (The VDI routines are
pretty fast but do a plane-by-plane copy, which is hideous and slows
things down. Compare with NVDI software blitting, which does all planes
at once.) and your own scrollbars (if needed). And always ajust your
window position and width. This way you can still use the rectangle list
and retain some speed.

Hope this helps,


-=Levien (lvzon@bio.vu.nl)

-------------------------------------------------------------------

To: Jason J. Railton
From: Giles Greenway
Re: The PSG

Well, no-one has responded to your query about the ST's sound
generator in ICTARI 48, and I can see why ! There really isn't much
information around, I've tried several books and CD-ROMS, and I wasn't
able to come up with any examples. I've included chapter 9 from a book
by Robert C. Arp on ST assembler programming, which contains a rather
pedestrian section on the use of the PSG in a printer-buffer ! (I can
serialise the whole thing if anyone's interested, and there's a link to
it from the ICTARI WEB-pages, go to the section on the UMICH archive.)
There's a description of the PSG's actual registers in a file written by
a Dan Hollis, which is also in this issue. I've repeated the relevant
section below. There are two XBIOS calls you can use, Dosound and
Giaccess. The former uses interrupts, which you said you'd like to
avoid. Giaccess takes the new data for a register and the register's
number as arguments. If bit seven of the latter argument is clear the
current state of the register will be returned. You might like to get
hold of the Atari Compendium book or CD-ROM, which can be a bit more
helpfull. Perhaps when you're an expert on the PSG you can write
bindings for the TOS-BOOK ! Good luck, and have fun !

YM2149 Sound Chip
-------+-----+-----------------------------------------------------+----------
$FF8800|byte |Read data/Register select |R/W
| |0 Channel A Freq Low BIT 7 6 5 4 3 2 1 0|
| |1 Channel A Freq High BIT 3 2 1 0|
| |2 Channel B Freq Low BIT 7 6 5 4 3 2 1 0|
| |3 Channel B Freq High BIT 3 2 1 0|
| |4 Channel C Freq Low BIT 7 6 5 4 3 2 1 0|
| |5 Channel C Freq High BIT 3 2 1 0|
| |6 Noise Freq BIT 5 4 3 2 1 0|
| |7 Mixer Control BIT 7 6 5 4 3 2 1 0|
| | Port B IN/OUT (1=Output) -----------' | | | | | | ||
| | Port A IN/OUT ------------------------' | | | | | ||
| | Channel C Noise (1=Off) ----------------' | | | | ||
| | Channel B Noise --------------------------' | | | ||
| | Channel A Noise ----------------------------' | | ||
| | Channel C Tone (0=On) ------------------------' | ||
| | Channel B Tone ---------------------------------' ||
| | Channel A Tone -----------------------------------'|
| |8 Channel A Amplitude Control BIT 4 3 2 1 0|
| | Fixed/Variable Level (0=Fixed) -----------' | | | ||
| | Amplitude level control --------------------+-+-+-'|
| |9 Channel B Amplitude Control BIT 4 3 2 1 0|
| | Fixed/Variable Level ---------------------' | | | ||
| | Amplitude level control --------------------+-+-+-'|
| |10 Channel C Amplitude Control BIT 4 3 2 1 0|
| | Fixed/Variable Level ---------------------' | | | ||
| | Amplitude level control --------------------+-+-+-'|
| |11 Envelope Period High BIT 7 6 5 4 3 2 1 0|
| |12 Envelope Period Low BIT 7 6 5 4 3 2 1 0|
| |13 Envelope Shape BIT 3 2 1 0|
| | Continue -----------------------------------' | | ||
| | Attack ---------------------------------------' | ||
| | Alternate --------------------------------------' ||
| | Hold ---------------------------------------------'|
| | 00xx - \____________________________________ |
| | 01xx - /|___________________________________ |
| | 1000 - \|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\ |
| | 1001 - \____________________________________ |
| | 1010 - \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ |
| | 1011 - \|----------------------------------- |
| | 1100 - /|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/ |
| | 1101 - /------------------------------------ |
| | 1110 - /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/ |
| | 1111 - /|___________________________________ |
| |14 Port A BIT 7 6 5 4 3 2 1 0|
| | IDE Drive On/OFF -------------------+ | | | | | | || (F030)
| | SCC A (0=LAN, 1=Serial2) -----------' | | | | | | || (TT)
| | Monitor jack GPO pin -----------------+ | | | | | ||
| | Internal Speaker On/Off --------------' | | | | | || (F030)
| | Centronics strobe ----------------------' | | | | ||
| | RS-232 DTR output ------------------------' | | | ||
| | RS-232 RTS output --------------------------' | | ||
| | Drive select 1 -------------------------------' | ||
| | Drive select 0 ---------------------------------' ||
| | Drive side select --------------------------------'|
| |15 Port B (Parallel port) |
$FF8802|byte |Write data |W
| +-----------------------------------------------------+
| |Note: PSG Registers are now fixed at these addresses.|
| |All other addresses are masked out on the Falcon. Any|
| |writes to the shadow registers $8804-$88FF will cause|
| |bus errors. Game/Demo coders beware! |
-------+-----+-----------------------------------------------------+----------







← previous
next →
loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT