=========================================================================
 
INFO-ATARI16 Digest         Thu, 30 Nov 89       Volume 89 : Issue 728
 
Today's Topics:
                              Cold Start
         diabling on board RAM (was: Mem upgrade (was:None))
                    Diff between TOS 1.0 and 1.2?
                     High density Floppies on ST
                      MAC pd/shareware EMULATORS
                   Soz C V1.2 Upgrade help required
                             ST/STE ROMs
                ST Environment variables. Help wanted.
                     Uniterm 2.0e redialing hell
----------------------------------------------------------------------
 
Date: 30 Nov 89 12:03:38 GMT
From: eru!luth!sunic!mcsun!unido!tub!tmpmbx!netmbx!hase@bloom-beacon.mit.edu
 (Hartmut Semken)
Subject: Cold Start
Message-ID: <3880@netmbx.UUCP>
 
In article <4642@blake.acs.washington.edu> themod@blake.acs.washington.edu
 (Chris Hinton) writes:
>  Help!  I have search high and low, through every manual I could lay my
>grubby paws on, and yet I can find no documentation on how to perform a
>cold start from software.  If some kind soul out there can send me code
>(C or Assembly preferable) I would be most appreciative.
 
Alan Pratt (@atari) poste one program a while back.
 
As far as I recall, it made the BUERR vector point to the same place,
the RESET vector points to and then started to write 0L to any RAM
adress from the first longword behind the program code (start of BSS?)
up to 4M+1. Writing to this adress will cause a BUSERR, and BUSERR
points to the coldstart routine (pointed to by RESET)...
 
Any virus (or ramdisk) will die fromm the NULLs :-)
 
hase
 
 
--
Hartmut Semken, Lupsteiner Weg 67, 1000 Berlin 37 hase@netmbx.UUCP
Dennis had stepped up into the top seat whet its founder had died of a
lethal overdose of brick wall, taken while under the influence of a
Ferrari and a bottle of tequila. (Douglas Adams; the long dark teatime...)
 
------------------------------
 
Date: 30 Nov 89 12:11:04 GMT
From: eru!luth!sunic!mcsun!unido!tub!tmpmbx!netmbx!hase@bloom-beacon.mit.edu
 (Hartmut Semken)
Subject: diabling on board RAM (was: Mem upgrade (was:None))
Message-ID: <3881@netmbx.UUCP>
 
In article <24494@cup.portal.com> Bob_BobR_Retelle@cup.portal.com writes:
>j.harris asks, about the DataFree memory upgrade board:
>As for the problems locating the proper resistors to lift, I'm afraid I
>can't offer any help.  I don't remember seeing a Revision C board.  I know
>it's a long, long distance call, but it might be best to call DataFree and
>see what they say about it...
 
Probably, You are searching for the resistors to remove to disable half
of the on board RAM.
You have to remove just one resistor, the one in the RAS line (without
RAS a RAM will stay in Tristate forever).
RAS is pin 4 (four) of the 41 256 chips on the board and pin 3 (three)
of the megabit chips.
The RAS of the 256 chips must be disconnected from the MCU to disable
them.
 
hase
--
Hartmut Semken, Lupsteiner Weg 67, 1000 Berlin 37 hase@netmbx.UUCP
Dennis had stepped up into the top seat whet its founder had died of a
lethal overdose of brick wall, taken while under the influence of a
Ferrari and a bottle of tequila. (Douglas Adams; the long dark teatime...)
 
------------------------------
 
Date: 30 Nov 89 00:37:39 GMT
From: hpl-opus!hpnmdla!hpsad!daveba@hplabs.hp.com  (David Ballo)
Subject: Diff between TOS 1.0 and 1.2?
Message-ID: <750031@hpsad.HP.COM>
 
Although I bought my Atari 1040ST in June of 1988, it appears to have TOS 1.0
in it instead of TOS 1.2 as I had expected.  Would some knowledgeable person
kindly outline the differences between these two TOS versions?  Also, is it
worth it to upgrade to TOS 1.4 (for a hundred bucks!)?
 
Thanks,
 
Dave Ballo
HP, Signal Analysis Division R&D
 
------------------------------
 
Date: 30 Nov 89 12:22:34 GMT
From: eru!luth!sunic!mcsun!unido!tub!tmpmbx!netmbx!hase@bloom-beacon.mit.edu
 (Hartmut Semken)
Subject: High density Floppies on ST
Message-ID: <3882@netmbx.UUCP>
 
In article <1348@uvm-gen.UUCP> pegram@uvm-gen.UUCP (pegram r) writes:
>Thanks for all the info, Abacus books bite the dust again. I'll get a
Abacus Internals (or the german original, Atari ST Intern by Data
Becker) was source of my wisdom as well :-)
>HD 3.5 floppy drive and let the net know how my '85 520 likes it.
My 1985 520 ST plus likes it :-)
 
BTW, the WD1772 is specified to run at clock frequencies up to 10 MHz;
16 MHz is somewhat out of spec, but it works.
 
I'm preparing a more detailled set of instructions how to use HD
floppies with the ST. Hang on.
 
As for the formatter: here ist goes (it's so short...)
It was hacked from the example foramtter in the MWC Lexicon. it compiles
with MWC; link with -VGEMAPP to exclude the long startup (if You wish).
 
----
/* formath.c Formatter fuer High Density Disketten */
/* nur fuer angepasste Hardware! Floppycontroller und Laufwerk */
/* muessen High-Density tauglich sein! */
/* Hartmut Semken, Lupsteiner Weg 67 1000 Berlin 37 */
/* hase@netmbx.UUCP */
/* 03-SEP-89 */
#include <stdio.h>
#include <osbind.h>
#include <time.h>
 
#define SLEEPTIME 1     /* 1: Zeitschleife, 0: Taste */
#define BLANK (0xE5E5)
#define MAGIC (0x87654321L)
#define BUFSIZE (20*1024) /* Platz fuer mehr als 18 Sektoren... */
 
#define DEVICE 0        /* 0 = Floppy A, 1 = Floppy B   */
#define SIDES 2         /* je                           */
#define SECTORS 18      /* nach                         */
#define TRACKS 80       /*Belieben                      */
 
#define TOTSEC (TRACKS * SIDES * SECTORS)
 
extern int errno;
 
main()?
        int track;
        int side;
        int status;
        short *bf;
        register char reply;
        short *middle;
        char buffer[512];
 
        printf("\033E\n");
        printf("Public Domain High Density Mini Formatter\n");
        printf("von H. Semken\nDer Autor garantiert in keiner Weise fr die
 Funktion\nDieses Programmes.\nBenutzung auf eigene Gefahr.\n");
        printf("\n\n\n");
        printf("\007\033pFormatiere Diskette in Drive %c\033q\n%d Seiten\n%d Sektoren
 pro Spur\n%d Spuren\n\n", (65+DEVICE), SIDES, SECTORS, TRACKS);
        printf("Wirklich formatieren? ");
        fflush(stdout);
        if ((reply = Crawcin()) != 'y' && reply != 'Y' && reply != 'j' && reply != 'J')
 ?
                printf("Nein. Floppy nicht formatiert.\n");
                sleep(1);
                Pterm0();
        ?
        printf("Ja.\n");
        printf("Diskette einlegen; Taste drcken...");
        fflush(stdout);
        Crawcin();
        printf("\n");
        bf = malloc(BUFSIZE);
        for (track = TRACKS-1; track >= 0; track--) ?
                for (side = 0; side < SIDES; side++) ?
                        printf("Formatiere Spur %d, Seite %d", track, side);
                        fflush(stdout);
                        status = Flopfmt(bf, 0L, DEVICE, SECTORS, track, side, 1, MAGIC, BLANK);
                        if (status) ?
                                middle = bf;
                                printf("\t%d\n", status);
                                while (*middle) ?
                                        printf("\tDefekter Sektor %d\n", *middle++);
                                ?
                        ? else ?
                                printf("\tokay\r");
                        ?
                ?
        ?
        printf("\n\nAlle Spuren formatiert\n");
        printf("Initialisiere Directory\n");
        for (track = 0; track < (BUFSIZE>>1); bf[track++] = 0);
        for (track = 0; track < 2;track++) ?
                for (side = 0; side < SIDES; side++)?
                if (status = Flopwr(bf, 0L, DEVICE, 1, track, side, SECTORS)) ?
                        errno = -status;
                        perror("Write Error");
                ?
                ?
        ?
        Protobt(buffer, (long)Random(),3,0); /* Prototyp Bootsector fr
                                              * 80 * 2 * 9 Sektoren */
        /* Prototyp Bootsektor fr das neue Format anpassen */
        /* Bytes 19 und 20 enthalten die Sektoren pro Disk */
 
        /* unteres Byte von TOTSEC */
        buffer[19] = (char)(((TOTSEC>>8)<<8)~TOTSEC);
        /* oberes Byte von TOTSEC; es lebe das Intel int-Format */
        buffer[20] = (char)(TOTSEC>>8);
        buffer[24] = (char)SECTORS; /* Sektoren pro Spur */
        status = Flopwr(buffer, 0L, DEVICE, 1, 0, 0, 1);
        if (status) ?
                errno = -status;
                perror("Write Error (Bootsector)");
        ?
        status = Flopver(buffer, 0L, DEVICE, 1, 0, 0, 1);
        if (status) ?
                errno = -status;
                perror("Verify Error (Bootsector)");
        ?
        printf("Diskette in Laufwerk %c formatiert\n", (65+DEVICE));
        sleep(1);
        Pterm0();
?
 
sleep(seconds)
int seconds;
#if SLEEPTIME
?
        clock_t t;
        for(t = clock();clock() < (t + CLK_TCK*seconds););
?
#else
?
        printf("Taste druecken\n");
        fflush(stdout);
        Crawcin();
?
#endif
 
-----
Set seek rate to 6 Milliseconds for *all* drives (with *any* TOS
version; tested on Rainbow TOS, BLiTTER TOS and TO 1.0):
 
/       module name seek6
 
        .shri
 
        .globl main_
main_:
        clr.l   -(sp)
        move.w  $0x20,-(sp)
        trap    $1
        addq.l  $6,a7
        move.l  d0,_save_ssp
        move.w  $0,0x440        / 0,1,2,3 => 6,12,2,3 Milliseconds
        lea     0x46a,a0
        move.l  (a0),d0
        movea.l d0,a0
        jsr     (a0)
        move.l  _save_ssp,-(sp)
        move.w  $0x20,-(sp)
        trap    $1
        addq.l  $6,a7
        .even
_save_ssp:
        .blkl   1
 
 
hase
--
Hartmut Semken, Lupsteiner Weg 67, 1000 Berlin 37 hase@netmbx.UUCP
Dennis had stepped up into the top seat whet its founder had died of a
lethal overdose of brick wall, taken while under the influence of a
Ferrari and a bottle of tequila. (Douglas Adams; the long dark teatime...)
 
------------------------------
 
Date: 30 NOV 89 09:37:25 CST
From: Z4648252 <Z4648252%SFAUSTIN.BITNET@ricevm1.rice.edu>
Subject: MAC pd/shareware EMULATORS
Message-ID: <891130.09372440.016777@SFA.CP6>
 
    Chill out folks, not to worry.
    I'd be skeptical of the thing working anyway.  Assuming that the
'FREE MAC' is legally using Mac ROMs, it'd be an expensive project.  Just
trace the history of Magic Sac and Spectre.  Not only will there have to
be hardware development but also software driver development.
    And, as was earlier mentioned, the Magic Sac can be had for as cheap
as $40.00.  That would be a difficult product to beat for the price and
it can do a lot of good things as long as 128k roms are not required for
a particular application.
    As it is, I've the Spectre GCR and think it is worth the funds that
I saved up for to buy it.  For that money, I've gotten a professional
product that WORKS, and support from Dave Small that makes me wish that
he was in charge of Atari corp, shaping product development, but even
more importantly, CUSTOMER/DEVELOPER RELATIONS.  But, I'll stop.  I could
spend pages of typing in my defense and praise of David Small.  If he
and Fast Technologies were to team up and build their own computer, I'd
buy it in a second.
 
Larry Rymal:  |East Texas Atari 68NNNers| <Z4648252@SFAUSTIN.BITNET>
 
------------------------------
 
Date: Thu, 30 Nov 89 16:23:57
From: Rat <S61304%PRIME-A.POLY-SOUTH-WEST.AC.UK@CUNYVM.CUNY.EDU>
Subject: Soz C V1.2 Upgrade help required
 
(From "The Masked Rat Fink"   "Computing and Informatics Yr4")
 
Dear Netters,
 
Being a beginning C programmer, I have managed to coax my copy of Sozobon
Version 1.01 to compile, link and all that sort of stuff on single files.
However I have not used anything other than the supplied CC utility, to
drive all the other elements (hcc and top etc) and especially I haven't
yet managed to get 'make' to work. This has slowed to a total halt my efforts
to compile up the version 1.2 of Sozobon (supplied in source format only :-(
 
I have tried to use the make facility on the supplied files. I had my normal
Soz C work disk in the A drive and the 1.2 source in a ram disk, installed
as drive d:. I then made the source files the active window and ran the make
utility by selecting it using the right-left double click technique and then
selecting open from the desktop. But it still didn't work.
 
I would be mega obliged if someone could take the time to explain where I
went wrong, so that I can actually perform the upgrade. I have no objections
to anyone calling me a wally for getting something obvious wrong, but as far
as C is concerned I have to ask these questions! :-)
 
I do have a copy of the Gulam shell, but I haven't used it very much yet.
However I will dig it out and blow the dust off it if necessary.
 
Many thanks in advance
 
TMRF
 
PS To the authors of Sozobon, I read your request for news of anyone who was
   using your software. Well ... I'm trying to do my final year project in it,
   so I guess that I count as a user (perhaps a developer!?) of your product.
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                                                                           %
% Simon Chappell (The Masked Rat Fink)                                      %
% Computing and Informatics (Final Year), Polytechnic South West (Plymouth) %
%                                                                           %
%   "Better the pride that resides, in a citizen of the world,              %
%    than the pride that divides, when a colourful rag is unfurled."        %
%                                           - Neil Peart (RUSH)             %
%                                                                           %
% JANET      S61304@uk.ac.psw.pa                                            %
% BITNET     S61304@pa.psw.ac.uk                                            %
% INTERNET   S61304%uk.ac.psw.pa@nsfnet-relay.ac.uk                         %
%                                                                           %
%Disclaimer: I have no opinion, my wife wouldn't let me!                    %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
------------------------------
 
Date: 30 Nov 89 05:40:07 GMT
From: portal!cup.portal.com!R_Tim_Coslet@uunet.uu.net
Subject: ST/STE ROMs
Message-ID: <24581@cup.portal.com>
 
>Why didn't Atari use large ROMs for the 1040 in the first place?
 
I don't know, but my GUESS is that Atari made the same "mistake" that
the company I work for frequently makes... they underestimated the size
of the code when they specified the amount of ROM space needed while designing
the hardware, by the time they realized that they needed more ROM the hardware
was "set in stone" and could not be changed... so they got an "expert code
compression" type programmer to try to squeeze every byte out that they could
thru ANY trick possible. This is probably also part of the reason the TOS
sources are so "disorganized" and difficult to read.
 
This happened on a machine that I worked on several years ago (and was
especially bad). The system spec called for 50% unused ROM... software
estimated the code could easilly fit in <2K, so the hardware was designed
with 4K of ROM... However the first COMPLETE version of the code needed 5K!!!
That took some VERY strange recodings to squeeze 5K of code into a 4K ROM.
 
                                        R. Tim Coslet
 
Usenet: R_Tim_Coslet@cup.portal.com
BIX:    r.tim_coslet
 
------------------------------
 
Date: Thu, 30 Nov 89 16:36:50
From: Rat <S61304%PRIME-A.POLY-SOUTH-WEST.AC.UK@CUNYVM.CUNY.EDU>
Subject: ST Environment variables. Help wanted.
 
(From "The Masked Rat Fink"   "Computing and Informatics Yr4")
 
Dear Netters (again),
 
Does anyone out there feel so disposed as to explain to a poor unfortunate
about environment variables?
 
1    What are they?
2    Where are they stored?
3    What are the standard ones? (I've heard of PATH)
4    How do I use them from C (Sozobon in particular!)
5    How do I pass them to other programs?
 
I'm learning slowly but surely, but haven't yet come across this information!
May I also say that the technical articles that arrive in my mail box, through
this group are very benificial and that I have learnt much. However the flames
are just getting on my nerves! I seem to remember buying my ST for what it
could do at that exact instance when I handed over my hard earned cash, not
because I expected Atari to issue loads of wonderful add-ons (such as an
'Atari to PC missile :-) but because it was cheap, powerful and most importantly
it had megs of software available at either reasonable or negligable prices
(as well as all that scrummy p.d. and freeware!!).
 
Thanks in advance,
 
TMRF (Getting down off soapbox now! :-)
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                                                                           %
% Simon Chappell (The Masked Rat Fink)                                      %
% Computing and Informatics (Final Year), Polytechnic South West (Plymouth) %
%                                                                           %
%   "Better the pride that resides, in a citizen of the world,              %
%    than the pride that divides, when a colourful rag is unfurled."        %
%                                           - Neil Peart (RUSH)             %
%                                                                           %
% JANET      S61304@uk.ac.psw.pa                                            %
% BITNET     S61304@pa.psw.ac.uk                                            %
% INTERNET   S61304%uk.ac.psw.pa@nsfnet-relay.ac.uk                         %
%                                                                           %
%Disclaimer: I have no opinion, my wife wouldn't let me!                    %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
------------------------------
 
Date: Thu, 30 Nov 89 08:50:44 EST
From: David Megginson <MEGGIN%vm.epas.utoronto.ca@CORNELLC.cit.cornell.edu>
Subject: Uniterm 2.0e redialing hell
 
If you set retries to 0, Uniterm will continue to dial until it gets
an answer. If you set retries to 1, Uniterm will try the number once;
if you set it to 2, it will try the number twice; etc.
 
 
 
 
 
     David Megginson, Centre for Medieval Studies, Toronto
 
------------------------------
 
End of INFO-ATARI16 Digest V89 Issue #728
*****************************************
