Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.sys.apple2 > #28179 > unrolled thread
| Started by | roger.shimada@gmail.com |
|---|---|
| First post | 2016-07-09 20:42 -0700 |
| Last post | 2016-07-19 23:28 -0500 |
| Articles | 5 on this page of 25 — 12 participants |
Back to article view | Back to comp.sys.apple2
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]
| From | Michael J. Mahon <mjmahon@aol.com> |
|---|---|
| Date | 2016-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]
| From | "Michael 'AppleWin Debugger Dev'" <michael.pohoreski@gmail.com> |
|---|---|
| Date | 2016-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]
| From | D Finnigan <dog_cow@macgui.com> |
|---|---|
| Date | 2016-07-19 22:35 +0000 |
| Subject | Assembler 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]
| From | Michael J. Mahon <mjmahon@aol.com> |
|---|---|
| Date | 2016-07-19 23:28 -0500 |
| Subject | Re: 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]
| From | Michael J. Mahon <mjmahon@aol.com> |
|---|---|
| Date | 2016-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