[comp.sys.apple2] High level language "fools"

unknown@ucscb.UCSC.EDU (The Unknown User) (12/15/90)

In article <10621@ucrmath.ucr.edu> rhyde@ucrmath.ucr.edu (randy hyde) writes:
>Ten years ago no one would think of writing an application in anything
>other than assembly language.  Then we graduated a bunch of fools who
>knew only "C" or Pascal.  That's when writing (egads!) games in "C"

	I know you may be exaggerating, but I will presume you were being
serious.  At UCSC, one of the beginning CE/CIS classes all CE/CIS
(computer engineering or computer and information sciences majors, the
latter being totally software and MUCH MUCH MUCH less stringent and MUCH MUCH
easier than computer engineering... No offense to any UCSC CIS people who may
be reading this.. I at one time thought of switching to CIS!) majors must
take is an assembly language programming class.

	It's in 8088 on PCs... One thing I will say about the PCs was
that doing interrupt stuff sure is damn easy! You just do a little BIOS
call and change an address to your new routine... (I would HOPE it's
that easy on the GS, but you have to go through the toolbox, don't you??
Someone please inform me)..

	Basically what I'm trying to say is that I would be all computer
majors have to take at least one class in assembly.

>BTW: I am doing something about this.  I got so fed up with the lack of
>assembly language talent that I started teaching the subject at UC Riverside
>and Cal Poly Pomona.

	Are you teaching it in 6502 on the Apple II?! Now that'd be a class
to take!!!
-- 
/Apple II(GS) Forever! unknown@ucscb.ucsc.edu MAIL ME FOR INFO ABOUT CHEAP CDs\
|WRITE TO ORIGIN ABOUT ULTIMA VI //e and IIGS! Mail me for addresses, & info. | 
\   "Dammit Bev, is it you inside or is it the clown?" -IT by Stephen King    /

rhyde@ucrmath.ucr.edu (randy hyde) (12/16/90)

>> all computer majors have to take at least one class in assembly.

This is the case at most universities today.  Alas, the classes are
rarely taught by "enlightened" instructors.  I begged for the job at
UCR because I was tired of listening to the instructor begin the class
with "You'll never use this stuff again because assembly is obsolete,
but it's required so we'll fumble our way through it."  Furthermore,
after this *ONE* class which turned the students completely off, they
rarely get the chance to use assembly again.  I, for one, have been
attempting to reverse that trend.  I require my operating system
students to use assembly language, I require my software engineering
students to use assembly language, and I require my microcomputer
lab students to use assembly language.  The only place where I wimp out
is in my compiler class.  There I let the students generate three-address
style code in "C" rather than assembly.  Compilers is sufficiently
complex that I don't need the added complexity of weak assembly language
students on top of every thing else.

>> Are you teaching it in 6502..?

Heavens no!  6502 assembly language is not a very marketable skill these
days.  Although I have the academic freedom to teach whatever I like, I
can guarantee you that it takes a considerable effort to get these students
interested in assembly language in the first place.  One of my motivations
is that there are 50 million PCs out there and that there is considerble
need (employment) for 80x86 assembly language programmers.  The 65xxx
family wouldn't cut it here.  OTOH, the second quarter of my microcomputer
lab does deal with low-end processors.  Alas, the 6502 is not low-end
enough to qualify here (we're talking 8048s and 8051s).  The third quarter
is dedicated to high-end chips like the 32000 from National (the first
quarter, which is the only one required to graduate, uses the 8088).

>> Now that would be a class to take!

I would love to teach a 65816 assembly language class.  I used to teach 6502
in many computer stores around So Cal.  Perhaps some of you have even seen
my book on 6502 assembly language.  Alas, I'd probably only get two or three
students taking such a class.  I doubt I could sell it to the university.
65816 assembly language is difficult.  The M & X bits are exceeded only by
segmentation in complexity to a beginning student (we don't *EVEN* get into
segmentation in the assembly language class).  However, anyone who can make
it through an 816 assembly language course would have to be good.

*** Randy Hyde

alfter@uns-helios.nevada.edu (SCOTT ALFTER) (12/16/90)

In article <10136@darkstar.ucsc.edu> unknown@ucscb.UCSC.EDU (The Unknown User) writes:
>	It's in 8088 on PCs... One thing I will say about the PCs was
>that doing interrupt stuff sure is damn easy! You just do a little BIOS
>call and change an address to your new routine... (I would HOPE it's
>that easy on the GS, but you have to go through the toolbox, don't you??
>Someone please inform me)..

To get an interrupt daemon up and running, just issue an
ALLOC_INTERRUPT call to the MLI, along with the address where your
daemon resides; ProDOS will then add the daemon to the routines it'll
check when the system is interrupted.  All that remains after that is
to stick a CLI in your source code to enable interrupts.

Only four interrupt drivers are supported, though; when you no longer
need a particular daemon, DEALLOC_INTERRUPT will get rid of it for
you.

More comprehensive information is in _Beneath_Apple_ProDOS_.

BTW, note that this example is for 8-bit IIs as well as the GS; I
figure this information would be of more interest than GS-specific
info.  Besides, I don't have a GS and couldn't help you with interrupt
questions on that machine.

Scott Alfter-----------------------------_/_----------------------------
                                        / v \ Apple II:
Internet: alfter@uns-helios.nevada.edu (    ( the power to be your best!
   GEnie: S.ALFTER                      \_^_/

toddpw@nntp-server.caltech.edu (Todd P. Whitesel) (12/16/90)

unknown@ucscb.UCSC.EDU (The Unknown User) writes:

>	It's in 8088 on PCs... One thing I will say about the PCs was
>that doing interrupt stuff sure is damn easy! You just do a little BIOS
>call and change an address to your new routine... (I would HOPE it's
>that easy on the GS, but you have to go through the toolbox, don't you??
>Someone please inform me)..

Patching out the interrupt vectors is really easy. I've got an init that
patches out the AppleTalk IRQ handler to work with the ZipGS _without_ needing
the AppleTalk Delay option. You make tool calls to get and set the address; in
my case I save the old address because I want to be in-between the AppleTalk
IRQ code and the system.

Here at Caltech one of the recommended course sequences for EE's and CS people
is a pair of courses which cover 80188 programming and microcontrolled system
construction -- I still have mine. The 8 mhz 80188 wasn't fast enough to do
what I wanted to do via interrupts because the Segment registers take too long
to save and restore. A 65816 would have made the software for the project a
lot easier.

Todd Whitesel
toddpw @ tybalt.caltech.edu

tsouth@techbook.com (Todd South) (12/18/90)

In article <10627@ucrmath.ucr.edu> rhyde@ucrmath.ucr.edu (randy hyde) writes:
>>> all computer majors have to take at least one class in assembly.
>
>This is the case at most universities today.  Alas, the classes are
>rarely taught by "enlightened" instructors.

So sadly true.  One can't even get correspondence courses in 6502 anymore
for government work (and we do have so systems still using 6502's).

>>> Are you teaching it in 6502..?
>
>Heavens no!  6502 assembly language is not a very marketable skill these
>days.                                             ^^^^^^^^^^
						       |
				    Keyword Alert!     >

>Although I have the academic freedom to teach whatever I like, I
>can guarantee you that it takes a considerable effort to get these students
>interested in assembly language in the first place.

IHMO, this is the result of years and years of braindead Pascal teachers
assaulting the high school kids with the structure god! :)  OTOH, I've
yet to see many high school comp teachers that really want to mold
programmers instead of academians.

>I would love to teach a 65816 assembly language class.  I used to teach 6502
>in many computer stores around So Cal.  Perhaps some of you have even seen
>my book on 6502 assembly language.  Alas, I'd probably only get two or three
>students taking such a class.  I doubt I could sell it to the university.
>65816 assembly language is difficult.  The M & X bits are exceeded only by
>segmentation in complexity to a beginning student (we don't *EVEN* get into
>segmentation in the assembly language class).  However, anyone who can make
>it through an 816 assembly language course would have to be good.
>
>*** Randy Hyde

Have you ever thought of working on a correspondence medium?  From your
(and others) past works I'm always reminded of the books that lead everyone
up to a point and then leave the person (who wants more) somewhat hanging.
Not so much you, but Gary Little comes to mind very quickly.  You ever
notice how books like "Exploring the Apple //gs" cover some really neat
stuff that the beginning //gs programmer should know, but stops when it
comes to using shadoing effectively, animation data structures, graphic
data structures (which are useful and would really work with a commercially
publishable program), showing good techniques for crossing the 64K segment
boundaries with programs and/or data structures, etc...

Too bad people like the FTA want to keep showing off/bitching about the
Apple //gs' capabilities.  They ought to write down this stuff and sell
it to types like me who don't have the time to trudge through tons of
notes before finding the right way to cross reference 3-dimensional data
structures.

Sorry for mumbling...

Todd South

-- 
--
tsouth@techbook.COM  ...!{tektronix!nosun,uunet}techbook!tsouth
Public Access UNIX at (503) 644-8135 (1200/2400) Voice: +1 503 646-8257
Public Access User --- Not affiliated with TECHbooks

flee@gnh-applesauce.cts.com (FRANK LEE) (12/23/90)

Assembly is great! I'm currently using a term program that I hand-coded in 6502
asm.

INET: flee@gnh-applesauce.cts.com
UUCP: crash!pnet01!gnh-applesauce!flee
ARPA: crash!pnet01!gnh-applesauce!flee@nosc.mil