Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.sys.apple2 > #28179 > unrolled thread

Booting the right ProDOS 8 for any Apple II

Started byroger.shimada@gmail.com
First post2016-07-09 20:42 -0700
Last post2016-07-19 23:28 -0500
Articles 5 on this page of 25 — 12 participants

Back to article view | Back to comp.sys.apple2


Contents

  Booting the right ProDOS 8 for any Apple II roger.shimada@gmail.com - 2016-07-09 20:42 -0700
    Re: Booting the right ProDOS 8 for any Apple II Michael J. Mahon <mjmahon@aol.com> - 2016-07-10 01:30 -0500
      Re: Booting the right ProDOS 8 for any Apple II roger.shimada@gmail.com - 2016-07-10 15:09 -0700
        Re: Booting the right ProDOS 8 for any Apple II Steve Nickolas <usotsuki@buric.co> - 2016-07-10 19:34 -0400
          Re: Booting the right ProDOS 8 for any Apple II Don Bruder <dakidd@sonic.net> - 2016-07-10 17:48 -0700
      Re: Booting the right ProDOS 8 for any Apple II David Schmidt <schmidtd@my-deja.com> - 2016-07-11 09:40 -0400
        Re: Booting the right ProDOS 8 for any Apple II roger.shimada@gmail.com - 2016-07-11 18:41 -0700
          Re: Booting the right ProDOS 8 for any Apple II David Schmidt <schmidtd@my-deja.com> - 2016-07-11 23:11 -0400
    Re: Booting the right ProDOS 8 for any Apple II Delfs <eeastman@gmail.com> - 2016-07-18 05:55 -0700
      Re: Booting the right ProDOS 8 for any Apple II Antoine Vignau <antoine.vignau@laposte.net> - 2016-07-18 07:34 -0700
        Re: Booting the right ProDOS 8 for any Apple II John Brooks <jbrooks@blueshiftinc.com> - 2016-07-18 09:15 -0700
        Re: Booting the right ProDOS 8 for any Apple II "Michael 'AppleWin Debugger Dev'" <michael.pohoreski@gmail.com> - 2016-07-18 10:23 -0700
          Re: Booting the right ProDOS 8 for any Apple II gids.rs@sasktel.net - 2016-07-18 11:27 -0700
            Re: Booting the right ProDOS 8 for any Apple II John Brooks <jbrooks@blueshiftinc.com> - 2016-07-19 08:46 -0700
              Re: Booting the right ProDOS 8 for any Apple II "Michael 'AppleWin Debugger Dev'" <michael.pohoreski@gmail.com> - 2016-07-19 11:07 -0700
                Re: Booting the right ProDOS 8 for any Apple II retrogear <larrygr510@gmail.com> - 2016-07-19 11:42 -0700
                  Re: Booting the right ProDOS 8 for any Apple II Antoine Vignau <antoine.vignau@laposte.net> - 2016-07-19 12:43 -0700
                    Re: Booting the right ProDOS 8 for any Apple II "Michael 'AppleWin Debugger Dev'" <michael.pohoreski@gmail.com> - 2016-07-19 13:04 -0700
                      Re: Booting the right ProDOS 8 for any Apple II Steve Nickolas <usotsuki@buric.co> - 2016-07-19 16:42 -0400
                  Re: Booting the right ProDOS 8 for any Apple II "Michael 'AppleWin Debugger Dev'" <michael.pohoreski@gmail.com> - 2016-07-19 13:09 -0700
                    Re: Booting the right ProDOS 8 for any Apple II Michael J. Mahon <mjmahon@aol.com> - 2016-07-19 16:10 -0500
                      Re: Booting the right ProDOS 8 for any Apple II "Michael 'AppleWin Debugger Dev'" <michael.pohoreski@gmail.com> - 2016-07-19 14:25 -0700
                        Assembler optimizations, was Re: Booting the right ProDOS 8 for any Apple II D Finnigan <dog_cow@macgui.com> - 2016-07-19 22:35 +0000
                          Re: Assembler optimizations, was Re: Booting the right ProDOS 8 for any Apple II Michael J. Mahon <mjmahon@aol.com> - 2016-07-19 23:28 -0500
                        Re: Booting the right ProDOS 8 for any Apple II Michael J. Mahon <mjmahon@aol.com> - 2016-07-19 23:28 -0500

Page 2 of 2 — ← Prev page 1 [2]


#28268

FromMichael J. Mahon <mjmahon@aol.com>
Date2016-07-19 16:10 -0500
Message-ID<DaednWoqePa3ChPKnZ2dnUU7-QnNnZ2d@giganews.com>
In reply to#28266
Michael 'AppleWin Debugger Dev' <michael.pohoreski@gmail.com> wrote:
> On Tuesday, July 19, 2016 at 11:42:55 AM UTC-7, retrogear wrote:
>> Look for prodos203src.zip here:
>> My disassembly work from 3 years ago. Search for label smartprt
> 
> Thanks Larry.
> 
> Line #1269 for those interested ...
> 
>          stz   A4L                      force a prodos status call
>          stz   buf                      dummy pointer
>          stz   bloknml                  # of bytes to transfer
>          stz   bloknml+1
> 
> 
> Looks like there are various single instructions scattered here and there.
> 
> i.e. Line #8510
> showfiles stz	valcnt
>          stz   topname			init top filename index.
> 
>          stz   valcnt
>          stz   valcnt
> 
> Looks like a perfect job for a MACRO so it can automatically emit the proper 6502 opcodes.
> 
> 

You want a macro smart enough to peephole optimize redundant LDA #0's away,
and to choose an unneeded register when available--more than most macros
can handle. 

-- 
-michael - NadaNet 3.1 and AppleCrate II:  http://michaeljmahon.com

[toc] | [prev] | [next] | [standalone]


#28269

From"Michael 'AppleWin Debugger Dev'" <michael.pohoreski@gmail.com>
Date2016-07-19 14:25 -0700
Message-ID<12e582f7-61f8-4a6a-826f-29d446d9ded6@googlegroups.com>
In reply to#28268
On Tuesday, July 19, 2016 at 2:10:09 PM UTC-7, Michael J. Mahon wrote:

> You want a macro smart enough to peephole optimize redundant LDA #0's away,
> and to choose an unneeded register when available--more than most macros
> can handle. 
> 

Ideally, yes, but considering the 6502 assemblers are pretty dumb with optimizations (as far as I know they don't do any) manually emitting the best instructions in all the locations is probably needed. :-/

I guess there will probably be a few flavors then:

i.e.
    STZ0 ; LDA #0, STA addr
    STZ1 ;         STA addr

[toc] | [prev] | [next] | [standalone]


#28270 — Assembler optimizations, was Re: Booting the right ProDOS 8 for any Apple II

FromD Finnigan <dog_cow@macgui.com>
Date2016-07-19 22:35 +0000
SubjectAssembler optimizations, was Re: Booting the right ProDOS 8 for any Apple II
Message-ID<dog_cow-1468967730@macgui.com>
In reply to#28269
Michael 'AppleWin Debugger Dev' wrote:
> On Tuesday, July 19, 2016 at 2:10:09 PM UTC-7, Michael J. Mahon wrote:
> 
>> You want a macro smart enough to peephole optimize redundant LDA #0's
>> away,
>> and to choose an unneeded register when available--more than most macros
>> can handle. 
>> 
> 
> Ideally, yes, but considering the 6502 assemblers are pretty dumb with
> optimizations (as far as I know they don't do any) 

Nor should they, I daresay.

[toc] | [prev] | [next] | [standalone]


#28273 — Re: Assembler optimizations, was Re: Booting the right ProDOS 8 for any Apple II

FromMichael J. Mahon <mjmahon@aol.com>
Date2016-07-19 23:28 -0500
SubjectRe: Assembler optimizations, was Re: Booting the right ProDOS 8 for any Apple II
Message-ID<iO-dnbEK_K5gYBPKnZ2dnUU7-UvNnZ2d@giganews.com>
In reply to#28270
D Finnigan <dog_cow@macgui.com> wrote:
> Michael 'AppleWin Debugger Dev' wrote:
>> On Tuesday, July 19, 2016 at 2:10:09 PM UTC-7, Michael J. Mahon wrote:
>> 
>>> You want a macro smart enough to peephole optimize redundant LDA #0's
>>> away,
>>> and to choose an unneeded register when available--more than most macros
>>> can handle. 
>>> 
>> 
>> Ideally, yes, but considering the 6502 assemblers are pretty dumb with
>> optimizations (as far as I know they don't do any) 
> 
> Nor should they, I daresay.

I agree, but cleverly designed macros can actually convert an assembler
into a simple compiler. I've used the (annoyingly weak) Merlin macro
capability to create assemblers for the Floating Point Engine and even an
old word-oriented decimal machine (the Burroughs B220). 

But I agree that converting ProDOS is not the appropriate situation for
such an extension.

A good programmer can exploit opportunities to eliminate the use of 65C02
instructions at little or no cost in time or space, sometimes locally
rewriting code in the process. 

In the case of ProDOS, it is not particularly tightly written, so saving
space (and even time) while eliminating the 65C02 dependencies seems
feasible. 

I've written a lot of 6502 code, and I rarely find a situation where I
could do much better with 65C02 extensions. 
-- 
-michael - NadaNet 3.1 and AppleCrate II:  http://michaeljmahon.com

[toc] | [prev] | [next] | [standalone]


#28274

FromMichael J. Mahon <mjmahon@aol.com>
Date2016-07-19 23:28 -0500
Message-ID<iO-dnbYK_K5gYBPKnZ2dnUU7-UtQAAAA@giganews.com>
In reply to#28269
Michael 'AppleWin Debugger Dev' <michael.pohoreski@gmail.com> wrote:
> On Tuesday, July 19, 2016 at 2:10:09 PM UTC-7, Michael J. Mahon wrote:
> 
>> You want a macro smart enough to peephole optimize redundant LDA #0's away,
>> and to choose an unneeded register when available--more than most macros
>> can handle. 
>> 
> 
> Ideally, yes, but considering the 6502 assemblers are pretty dumb with
> optimizations (as far as I know they don't do any) manually emitting the
> best instructions in all the locations is probably needed. :-/

Any optimizations would need to be coded into the macros, but I agree that
most 6502 macro assemblers are relatively weak. 

But you can do simple things, like setting a variable to the location
counter after the LDA/STA, and making the LDA conditional on the variable
not equal to the starting location counter. 

That way, consecutive "STZs" will only generate one LDA #0. 

But I agree that careful hand optimization is the way to go in this case. 

In many cases, there's already a zero register nearby in the code path. 

> I guess there will probably be a few flavors then:
> 
> i.e.
>     STZ0 ; LDA #0, STA addr
>     STZ1 ;         STA addr
> 

-- 
-michael - NadaNet 3.1 and AppleCrate II:  http://michaeljmahon.com

[toc] | [prev] | [standalone]


Page 2 of 2 — ← Prev page 1 [2]

Back to top | Article view | comp.sys.apple2


csiph-web