Megalextoria
Retro computing and gaming, sci-fi books, tv and movies and other geeky stuff.

Home » Digital Archaeology » Computer Arcana » Apple » Apple II » Apple II Plus ROM Disassembly
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Switch to threaded view of this topic Create a new topic Submit Reply
Apple II Plus ROM Disassembly [message #393078] Sun, 19 April 2020 21:57 Go to next message
Anonymous
Karma:
Originally posted by: James Davis

Ladies & Gentlemen:

I finally got it done!

If you want to see it, send me a private email, requesting which format (7z or zip) you want it in, with your return email address.

=============================
Apple II Plus ROM Disassembly
=============================

Apple II Plus ROM Disassembly.7z [478KB]
Apple II Plus ROM Disassembly.zip [898KB]

=============================

APPLE2.ROM

APPLE2.ROM.csv
APPLE2.ROM.csv = Apple II Plus ROM Disassembly [Exported CSV]

APPLE2.ROM.dis65
APPLE2.ROM.dis65 = Apple II Plus ROM Disassembly - !

APPLE2.ROM.html
APPLE2.ROM.html = Apple II Plus ROM Disassembly [Exported HTML]

APPLE2.ROM.sym65
APPLE2.ROM.sym65 = Apple2Plus Symbols [Needs work]

APPLE2.ROM.txt
APPLE2.ROM.txt = Apple II Plus ROM Disassembly [Exported Text]

SGStyle.css

=============================

To Andy McFadden:

Do you want to put it up on your website?

James Davis
Re: Apple II Plus ROM Disassembly [message #393081 is a reply to message #393078] Mon, 20 April 2020 01:27 Go to previous messageGo to next message
Anonymous
Karma:
Originally posted by: fadden

On Sunday, April 19, 2020 at 6:57:25 PM UTC-7, James Davis wrote:
> To Andy McFadden:
>
> Do you want to put it up on your website?

Sure! I can add the project to https://6502disassembly.com/a2-f8rom/ or https://6502disassembly.com/a2-applesoft/ .
Re: Apple II Plus ROM Disassembly [message #393089 is a reply to message #393081] Mon, 20 April 2020 18:37 Go to previous messageGo to next message
barrym95838 is currently offline  barrym95838
Messages: 130
Registered: April 2013
Karma: 0
Senior Member
I am much more interested in locating a detailed source listing for Integer
BASIC, so that I could try my hand at fiddling around and adding some
commands to it, like DATA READ CHR$ HOME HGR HGR2 HPLOT DRAW XDRAW ...
maybe even WOZ floats?

Mike B.
Re: Apple II Plus ROM Disassembly [message #393090 is a reply to message #393089] Mon, 20 April 2020 21:59 Go to previous messageGo to next message
sicklittlemonkey is currently offline  sicklittlemonkey
Messages: 570
Registered: October 2012
Karma: 0
Senior Member
On Tuesday, 21 April 2020 08:37:22 UTC+10, barrym95838 wrote:
> I am much more interested in locating a detailed source listing for Integer
> BASIC, so that I could try my hand at fiddling around and adding some
> commands to it, like DATA READ CHR$ HOME HGR HGR2 HPLOT DRAW XDRAW ...
> maybe even WOZ floats?
>
> Mike B.

I came across this the other day.
https://github.com/cmosher01/Apple-II-Source/blob/master/src /system/intbasic/intbasic.m4

Not fully commented, but at least it has some labels and is ready to assemble.

Cheers,
Nick.
Re: Apple II Plus ROM Disassembly [message #393094 is a reply to message #393090] Mon, 20 April 2020 23:31 Go to previous messageGo to next message
barrym95838 is currently offline  barrym95838
Messages: 130
Registered: April 2013
Karma: 0
Senior Member
On Monday, April 20, 2020 at 6:59:07 PM UTC-7, Nick Westgate wrote:
> https://github.com/cmosher01/Apple-II-Source/blob/master/src /system/intbasic/intbasic.m4

Thanks Nick. There's another one out there that's pretty nicely
commented but full of macros, and I couldn't hang because macros
have a tendency to trigger a nasty headache, just like 8xxx and
x86 assembly languages do (with or without macros).

Mike B.
Re: Apple II Plus ROM Disassembly [message #393095 is a reply to message #393094] Tue, 21 April 2020 00:14 Go to previous messageGo to next message
Anonymous
Karma:
Originally posted by: fadden

On Monday, April 20, 2020 at 8:31:35 PM UTC-7, barrym95838 wrote:
> On Monday, April 20, 2020 at 6:59:07 PM UTC-7, Nick Westgate wrote:
>> https://github.com/cmosher01/Apple-II-Source/blob/master/src /system/intbasic/intbasic.m4
>
> Thanks Nick. There's another one out there that's pretty nicely
> commented but full of macros, and I couldn't hang because macros
> have a tendency to trigger a nasty headache, just like 8xxx and
> x86 assembly languages do (with or without macros).

The one I have a link to is https://www.callapple.org/docs/ap2/special/integerbasic.pdf . In PDF form it's not something you can drop into an assembler, but it does have commentary. (I haven't looked for the Merlin source file.)
Re: Apple II Plus ROM Disassembly [message #393096 is a reply to message #393095] Tue, 21 April 2020 03:02 Go to previous messageGo to next message
barrym95838 is currently offline  barrym95838
Messages: 130
Registered: April 2013
Karma: 0
Senior Member
On Monday, April 20, 2020 at 9:14:24 PM UTC-7, fadden wrote:
>
> The one I have a link to is https://www.callapple.org/docs/ap2/special/integerbasic.pdf . In PDF form it's not something you can drop into an assembler, but it does have commentary. (I haven't looked for the Merlin source file.)

That's the one with the nice comments and the nasty macros I found earlier!

Here's another link to what looks like the same thing, but in plain text:

http://www.easy68k.com/paulrsm/6502/INTLST.TXT

Mike B.
Re: Apple II Plus ROM Disassembly [message #393097 is a reply to message #393081] Tue, 21 April 2020 03:08 Go to previous messageGo to next message
Anonymous
Karma:
Originally posted by: James Davis

It is more than that. It is the whole ROM image from $B000~$FFFF, about 20 KB.

"fadden" wrote in message news:5ca31e82-f471-42a8-8fa6-ca70384c662a@googlegroups.com...

On Sunday, April 19, 2020 at 6:57:25 PM UTC-7, James Davis wrote:
> To Andy McFadden:
>
> Do you want to put it up on your website?

Sure! I can add the project to https://6502disassembly.com/a2-f8rom/ or https://6502disassembly.com/a2-applesoft/ .
Re: Apple II Plus ROM Disassembly [message #393098 is a reply to message #393096] Tue, 21 April 2020 03:42 Go to previous messageGo to next message
Anonymous
Karma:
Originally posted by: James Davis

Here is a Big List of Sources:

ftp://public.asimov.net/pub/apple_II/images/games/collection s/Int.Basic.Pdos8.2mg.zip

http://3.buric.co/int48.dsk.gz

http://www.callapple.org/docs/ap2/special/integerbasic.pdf

http://www.easy68k.com/paulrsm/6502/INTLST.TXT
https://web.archive.org/web/20080514120321/http://linux.cis. monroeccc.edu:80/~paulrsm/6502/INTLST.TXT

Zellyn's intbasic.asm Webpage:
https://github.com/zellyn/goapple2/blob/master/source/redboo k/intbasic.asm

List from Jan 2018:
============================================================ ==========
Apple II ROMs {FTP Sources, HTTP Sources, & Information}
============================================================ ==========
============================================================ ==========
Apple II ROMs {FTP Sources}
============================================================ ==========
../ = ftp://ftp.apple.asimov.net/pub/apple_II/emulators/rom_images /
--------------------------------- or ---------------------------------
../ = ftp://public.asimov.net/pub/apple_II/emulators/rom_images/
============================================================ ==========
../13-sector-disk-ii-roms.txt
../13-sector-disk-ii-roms.zip <--[Source: (Asimov Network) /emulators/rom_images/ & Apple2_ROMs.zip]
../apl2a100.zip <--[Source: (Asimov Network) /emulators/rom_images/ & Apple2_ROMs.zip]
../Apple 3.5 Floppy Disk Drive Interface Card ROM.bin
../APPLE Computer and Peripheral Card Roms Collection.zip
../Apple Disk II 13 Sector Interface Card ROM P5 - 341-0009.bin
../Apple Disk II 13 Sector Interface Card ROM P6 - 341-0010.bin
../Apple Disk II 16 Sector Interface Card ROM P5 - 341-0027.bin
../Apple Disk II 16 Sector Interface Card ROM P6 - 341-0028.bin
../Apple II ROMs.zip <--[Source: (Asimov Network) /emulators/rom_images/ & Apple2_ROMs.zip]
../Apple II Interface 341-0299-B ROM 2716.bin
../Apple II Memory Expansion ROM_341-0344A.bin
../Apple II ROMs.zip <--[Source: (Asimov Network) /emulators/rom_images/ & Apple2_ROMs.zip]
../Apple II Super Serial Card ROM - 341-0065-A.bin
../Apple IIe IIc Firmware SourceCode.zip
../apple.rom
../apple_2_roms.txt
../apple_2c_original_rom.zip <--[Source: (Asimov Network) /emulators/rom_images/ & Apple2_ROMs.zip]
../apple_2e_unenhanced_rom.zip <--[Source: (Asimov Network) /emulators/rom_images/ & Apple2_ROMs.zip]
../apple_ii_rom.zip <--[Source: (Asimov Network) /emulators/rom_images/ & Apple2_ROMs.zip]
../apple_ii+_rom.zip <--[Source: (Asimov Network) /emulators/rom_images/ & Apple2_ROMs.zip]
../apple_iic_rom.zip <--[Source: (Asimov Network) /emulators/rom_images/ & Apple2_ROMs.zip]
../apple_iie_rom.zip <--[Source: (Asimov Network) /emulators/rom_images/ & Apple2_ROMs.zip]
../APPLE_IIe_ROM_KRK.txt
../APPLE_IIe_ROM_KRK.zip <--[Source: (Asimov Network) /emulators/rom_images/ & Apple2_ROMs.zip]
../APPLE_IIe_ROM_KRK1.zip <--[Source: (Asimov Network) /emulators/rom_images/ & Apple2_ROMs.zip]
../APPLE_IIe_ROM_KRK2.zip <--[Source: (Asimov Network) /emulators/rom_images/ & Apple2_ROMs.zip]
../APPLE2_.ROM
../apple2_roms.zip <--[** Main Source (of these files)!]
../apple2o.rom
../INTBASIC ROMs.zip
------------------------------------------------------------ ----------
ftp://public.asimov.net/pub/apple_II/emulators/misc/a2a1emul -v5_1 (Wozanium Pack Source Code and Rom File Suitable for A2
Emulators).zip
============================================================ ==========
============================================================ ==========
Apple II ROMs {HTTP Sources}
============================================================ ==========
============================================================ ==========
Apple II ROMs {Information}
============================================================ ==========
39 Files: (ZIP-Files: 21 of 24; Misc.Other: 18)
============================================================ ==========
13-sector-disk-ii-roms.txt <--[Source: (Asimov Network) /emulators/rom_images/]
13-sector-disk-ii-roms.zip <--[Source: (Asimov Network) /emulators/rom_images/ & Apple2_ROMs.zip]
apl2a100.zip <--[Source: (Asimov Network) /emulators/rom_images/ & Apple2_ROMs.zip]
Apple II ROMs.zip <--[Source: (Asimov Network) /emulators/rom_images/ & Apple2_ROMs.zip]
Apple II Interface 341-0299-B ROM 2716.bin
Apple II Memory Expansion ROM_341-0344A.bin
Apple II ROMs.zip <--[Source: (Asimov Network) /emulators/rom_images/ & Apple2_ROMs.zip]
Apple II Super Serial Card ROM - 341-0065-A.bin
apple.rom
apple_2_roms.txt
apple_2c_original_rom.zip <--[Source: (Asimov Network) /emulators/rom_images/ & Apple2_ROMs.zip]
apple_2e_unenhanced_rom.zip <--[Source: (Asimov Network) /emulators/rom_images/ & Apple2_ROMs.zip]
apple_ii_rom.zip <--[Source: (Asimov Network) /emulators/rom_images/ & Apple2_ROMs.zip]
apple_ii+_rom.zip <--[Source: (Asimov Network) /emulators/rom_images/ & Apple2_ROMs.zip]
apple_iic_rom.zip <--[Source: (Asimov Network) /emulators/rom_images/ & Apple2_ROMs.zip]
apple_iie_rom.zip <--[Source: (Asimov Network) /emulators/rom_images/ & Apple2_ROMs.zip]
APPLE_IIe_ROM_KRK.txt
APPLE_IIe_ROM_KRK.zip <--[Source: (Asimov Network) /emulators/rom_images/ & Apple2_ROMs.zip]
APPLE_IIe_ROM_KRK1.zip <--[Source: (Asimov Network) /emulators/rom_images/ & Apple2_ROMs.zip]
APPLE_IIe_ROM_KRK2.zip <--[Source: (Asimov Network) /emulators/rom_images/ & Apple2_ROMs.zip]
APPLE2_.ROM
------------------------------------------------------------ ----------
Apple2_ROMs.zip <--[** Source: (Asimov Network) /emulators/rom_images/]
------------------------------------------------------------ ----------
apple2o.rom
apple3.zip
Apple3ROM.bin
appleiigs_rom01.zip
gsrom01.zip
gsrom03.zip
INTBASIC ROMs.zip
Research-A modified F8 ROM (CTRL-RESET and '-' goto monitor), Screen Address Calculator, Cassette Port AD Converter.zip
ROMKRK.txt
ROMS.ZIP
ROMS.ZIP.TXT
Videx Videoterm Character ROM German.bin
Videx Videoterm Character ROM Graphics.bin
Videx Videoterm Character ROM Inverse.bin
Videx Videoterm Character ROM Normal.bin
Videx Videoterm ROM 2.4.bin
xgs.rom
============================================================ ==========
24 ZIP-Files:
============================================================ ==========
Apple2_ROMs.zip <--[** Source: (Asimov Network) /emulators/rom_images/]
------------------------------------------------------------ ----------
Apple II ROMs.zip <--[Source: (Asimov Network) /emulators/rom_images/ & Apple2_ROMs.zip]
ROMS.ZIP
Apple II ROMs.zip <--[Source: (Asimov Network) /emulators/rom_images/ & Apple2_ROMs.zip]
APPLE Computer and Peripheral Card Roms Collection.zip
13-sector-disk-ii-roms.zip <--[Source: (Asimov Network) /emulators/rom_images/ & Apple2_ROMs.zip]
INTBASIC ROMs.zip
A2_ROMsCollection.zip
Research-A modified F8 ROM (CTRL-RESET and '-' goto monitor), Screen Address Calculator, Cassette Port AD Converter.zip
apl2a100.zip <--[Source: (Asimov Network) /emulators/rom_images/ & Apple2_ROMs.zip]
apple_ii+_rom.zip <--[Source: (Asimov Network) /emulators/rom_images/ & Apple2_ROMs.zip]
apple_2c_original_rom.zip <--[Source: (Asimov Network) /emulators/rom_images/ & Apple2_ROMs.zip]
apple_iic_rom.zip <--[Source: (Asimov Network) /emulators/rom_images/ & Apple2_ROMs.zip]
apple_ii_rom.zip <--[Source: (Asimov Network) /emulators/rom_images/ & Apple2_ROMs.zip]
apple_iie_rom.zip <--[Source: (Asimov Network) /emulators/rom_images/ & Apple2_ROMs.zip]
apple_2e_unenhanced_rom.zip <--[Source: (Asimov Network) /emulators/rom_images/ & Apple2_ROMs.zip]
appleiigs_rom01.zip
gsrom01.zip
gsrom03.zip
apple3.zip
a2a1emul-v5_1 (Wozanium Pack Source Code and Rom File Suitable for A2 Emulators).zip <--[Source: (Asimov Network) /emulators/misc/]
APPLE_IIe_ROM_KRK.zip <--[Source: (Asimov Network) /emulators/rom_images/ & Apple2_ROMs.zip]
APPLE_IIe_ROM_KRK1.zip <--[Source: (Asimov Network) /emulators/rom_images/ & Apple2_ROMs.zip]
APPLE_IIe_ROM_KRK2.zip <--[Source: (Asimov Network) /emulators/rom_images/ & Apple2_ROMs.zip]
============================================================ ==========
24 ZIP-File Path-Names [on My Computer]:
------------------------------------------------------------ ----------
C:\Users\Public\Documents\Apple Computer\Apple-II Disks\Apple II ROMs\
============================================================ ==========
Apple2_ROMs.zip <--[** Source: (Asimov Network) /emulators/rom_images/]
------------------------------------------------------------ ----------
Apple II Binary ROMs Collections\27 Apple II Binary ROMs\Apple II ROMs.zip <--[Source: (Asimov Network) /emulators/rom_images/ &
Apple2_ROMs.zip]
Apple II Binary ROMs Collections\42 Apple II Binary ROMs\ROMS.ZIP
Apple II Binary ROMs Collections\71 Apple II Binary ROMs\Apple II ROMs.zip <--[Source: (Asimov Network) /emulators/rom_images/ &
Apple2_ROMs.zip]
Apple II Binary ROMs Collections\94 Apple II Binary ROMs\APPLE Computer and Peripheral Card Roms Collection.zip
Apple II Binary ROMs Collections\Apple II Disk Drives Binary ROMs Collection\13 Sector Disk II ROMs\13-sector-disk-ii-roms.zip
<--[Source: (Asimov Network) /emulators/rom_images/ & Apple2_ROMs.zip]
Apple II Binary ROMs Collections\Apple II Integer BASIC Binary ROMs Collection\INTBASIC ROMs.zip
Apple II Binary ROMs Collections\GS WorldView Apple II Binary ROMs Collection\A2_ROMsCollection.zip
Apple II Binary ROMs Collections\Research Disk\Research-A modified F8 ROM (CTRL-RESET and '-' goto monitor), Screen Address
Calculator, Cassette Port AD Converter.zip
Apple II ROMs Collection\Apple II and II+ ROM Hybrid\apl2a100.zip <--[Source: (Asimov Network) /emulators/rom_images/ &
Apple2_ROMs.zip]
Apple II ROMs Collection\Apple II+ ROM\apple_ii+_rom.zip <--[Source: (Asimov Network) /emulators/rom_images/ & Apple2_ROMs.zip]
Apple II ROMs Collection\Apple IIc Original ROM\apple_2c_original_rom.zip <--[Source: (Asimov Network) /emulators/rom_images/ &
Apple2_ROMs.zip]
Apple II ROMs Collection\Apple IIc ROM\apple_iic_rom.zip <--[Source: (Asimov Network) /emulators/rom_images/ & Apple2_ROMs.zip]
Apple II ROMs Collection\Apple IIe ROM\apple_ii_rom.zip <--[Source: (Asimov Network) /emulators/rom_images/ & Apple2_ROMs.zip]
Apple II ROMs Collection\Apple IIe ROM\apple_iie_rom.zip <--[Source: (Asimov Network) /emulators/rom_images/ & Apple2_ROMs.zip]
Apple II ROMs Collection\Apple IIe Unenhanced ROM\apple_2e_unenhanced_rom.zip <--[Source: (Asimov Network) /emulators/rom_images/ &
Apple2_ROMs.zip]
Apple II ROMs Collection\Apple IIgs ROM 01\appleiigs_rom01.zip
Apple II ROMs Collection\Apple IIgs ROM 01\gsrom01.zip
Apple II ROMs Collection\Apple IIgs ROM 03\gsrom03.zip
Apple II ROMs Collection\Apple III ROM\apple3.zip
Apple IIe ROM Kracks Collection\Apple IIe ROM Krk 0\APPLE_IIe_ROM_KRK.zip <--[Source: (Asimov Network) /emulators/rom_images/ &
Apple2_ROMs.zip]
Apple IIe ROM Kracks Collection\Apple IIe ROM Krk 1\APPLE_IIe_ROM_KRK1.zip <--[Source: (Asimov Network) /emulators/rom_images/ &
Apple2_ROMs.zip]
Apple IIe ROM Kracks Collection\Apple IIe ROM Krk 2\APPLE_IIe_ROM_KRK2.zip <--[Source: (Asimov Network) /emulators/rom_images/ &
Apple2_ROMs.zip]
------------------------------------------------------------ ----------
Apple II ROMs Collection\Wozanium Pack\a2a1emul-v5_1 (Wozanium Pack Source Code and Rom File Suitable for A2 Emulators).zip
<--[Source: (Asimov Network) /emulators/misc/]
============================================================ ==========

"barrym95838" wrote in message news:f2721d51-1423-4a7e-a9fa-9db9772022ae@googlegroups.com...

On Monday, April 20, 2020 at 9:14:24 PM UTC-7, fadden wrote:
>
> The one I have a link to is https://www.callapple.org/docs/ap2/special/integerbasic.pdf . In PDF form it's not something you can
> drop into an assembler, but it does have commentary. (I haven't looked for the Merlin source file.)

That's the one with the nice comments and the nasty macros I found earlier!

Here's another link to what looks like the same thing, but in plain text:

http://www.easy68k.com/paulrsm/6502/INTLST.TXT

Mike B.
Re: Apple II Plus ROM Disassembly [message #393100 is a reply to message #393096] Tue, 21 April 2020 10:43 Go to previous messageGo to next message
Anonymous
Karma:
Originally posted by: fadden

On Tuesday, April 21, 2020 at 12:02:25 AM UTC-7, barrym95838 wrote:
> That's the one with the nice comments and the nasty macros I found earlier!
[...]
> http://www.easy68k.com/paulrsm/6502/INTLST.TXT

Aha. Well, this might be an opportunity for someone to "port" the disassembly to SourceGen. Then you can have 100% macro-free[*] sources in the cross-assembler of your choice.


[*] for cc65 output, macros are generated for high-ASCII string constants... it's that or dumping the bytes as raw hex.
Re: Apple II Plus ROM Disassembly [message #393101 is a reply to message #393097] Tue, 21 April 2020 10:47 Go to previous messageGo to next message
Anonymous
Karma:
Originally posted by: fadden

On Tuesday, April 21, 2020 at 12:09:13 AM UTC-7, James Davis wrote:
> It is more than that. It is the whole ROM image from $B000~$FFFF, about 20 KB.

An alternative would be to combine the existing F8ROM and Applesoft pages into a single entry. Which might not be a bad thing.
Re: Apple II Plus ROM Disassembly [message #393106 is a reply to message #393100] Wed, 22 April 2020 23:19 Go to previous messageGo to next message
Michael J. Mahon is currently offline  Michael J. Mahon
Messages: 1767
Registered: October 2012
Karma: 0
Senior Member
fadden <thefadden@gmail.com> wrote:
> On Tuesday, April 21, 2020 at 12:02:25 AM UTC-7, barrym95838 wrote:
>> That's the one with the nice comments and the nasty macros I found earlier!
> [...]
>> http://www.easy68k.com/paulrsm/6502/INTLST.TXT
>
> Aha. Well, this might be an opportunity for someone to "port" the
> disassembly to SourceGen. Then you can have 100% macro-free[*] sources
> in the cross-assembler of your choice.
>
>
> [*] for cc65 output, macros are generated for high-ASCII string
> constants... it's that or dumping the bytes as raw hex.
>

Those are some pretty nice macros, making assembly code a little more
structured. ;-)

Since I assume they recreate Woz’s hex, it also illustrates his structured
approach to assembly.

--
-michael - NadaNet 3.1 and AppleCrate II: http://michaeljmahon.com
Re: Apple II Plus ROM Disassembly [message #393107 is a reply to message #393106] Thu, 23 April 2020 01:42 Go to previous messageGo to next message
barrym95838 is currently offline  barrym95838
Messages: 130
Registered: April 2013
Karma: 0
Senior Member
On Wednesday, April 22, 2020 at 8:19:57 PM UTC-7, Michael J. Mahon wrote:
>
> Those are some pretty nice macros, making assembly code a little more
> structured. ;-)
>

I understand the attraction for some, without actually feeling the same.

>
> Since I assume they recreate Woz’s hex, it also illustrates his structured
> approach to assembly.
>

I am a Woz fan, but I have never felt the urge to apply structured coding
principles to any of his code I have attempted to analyze. To me, he is
the king of multiple entry and exit points, branching to neighboring code
fragments to save a single byte, register and flag side-effects, short
loops to save a single byte of precious ROM, and intricate overlapping
loops. Have you taken a careful look at his Woz float package? The
elementary functions are wound up tighter than an 8-day clock!

Mike B.
Re: Apple II Plus ROM Disassembly [message #393108 is a reply to message #393100] Thu, 23 April 2020 09:01 Go to previous messageGo to next message
ol.sc is currently offline  ol.sc
Messages: 211
Registered: January 2013
Karma: 0
Senior Member
Hi,

> for cc65 output, macros are generated for high-ASCII string constants... it's that or dumping the bytes as raw hex.

Just in case...

The "canonical" way to do this in ca65 is:


..macpack apple2

....
....

scrcode "My string With hibit set"


Regards,
Oliver
Re: Apple II Plus ROM Disassembly [message #393109 is a reply to message #393108] Thu, 23 April 2020 10:44 Go to previous messageGo to next message
Anonymous
Karma:
Originally posted by: fadden

On Thursday, April 23, 2020 at 6:01:07 AM UTC-7, Oliver Schmidt wrote:
> The "canonical" way to do this in ca65 is:
>
> .macpack apple2
> scrcode "My string With hibit set"

Interesting... a recursive 9-argument macro that understands multiple types of arguments. Presumably that's to let you mix string delimiter characters and control characters in, something my simple macro can't do.
Re: Apple II Plus ROM Disassembly [message #393114 is a reply to message #393101] Thu, 23 April 2020 12:29 Go to previous messageGo to next message
Anonymous
Karma:
Originally posted by: fadden

On Tuesday, April 21, 2020 at 7:47:11 AM UTC-7, fadden wrote:
> An alternative would be to combine the existing F8ROM and Applesoft pages into a single entry. Which might not be a bad thing.

I merged the F8ROM, Applesoft, and C600 boot pages into a single "Apple II ROMs" page. James Davis' Apple ][+ disassembly is linked near the top.

https://6502disassembly.com/a2-rom/

(There are redirects and links from the previous pages, so old URLs shouldn't break.)
Re: Apple II Plus ROM Disassembly [message #393344 is a reply to message #393114] Fri, 24 April 2020 02:23 Go to previous messageGo to next message
Anonymous
Karma:
Originally posted by: James Davis

On Thursday, April 23, 2020 at 9:29:30 AM UTC-7, fadden wrote:
> On Tuesday, April 21, 2020 at 7:47:11 AM UTC-7, fadden wrote:
>> An alternative would be to combine the existing F8ROM and Applesoft pages into a single entry. Which might not be a bad thing.
>
> I merged the F8ROM, Applesoft, and C600 boot pages into a single "Apple II ROMs" page. James Davis' Apple ][+ disassembly is linked near the top.
>
> https://6502disassembly.com/a2-rom/
>
> (There are redirects and links from the previous pages, so old URLs shouldn't break.)

Thanks Andy

James Davis
Re: Apple II Plus ROM Disassembly [message #393345 is a reply to message #393114] Fri, 24 April 2020 02:29 Go to previous messageGo to next message
Anonymous
Karma:
Originally posted by: James Davis

He All,

You can get it from Andy as HTML or in a Zip file at https://6502disassembly.com/a2-rom/

You can get the Seven Zip (7z) file from me by replying privately to this message, or one of my other messages, here.

James Davis
Re: Apple II Plus ROM Disassembly [message #393347 is a reply to message #393345] Fri, 24 April 2020 04:15 Go to previous messageGo to next message
Antoine Vignau is currently offline  Antoine Vignau
Messages: 1860
Registered: October 2012
Karma: 0
Senior Member
Applesoft info from the original IIe source code
av

MSB OFF
A2E EQU 1 ;set for A//e
LST On,A,V ;NO LISTINGS, SYMBOL TABLES
SBTL "Applesoft for //e"
rep 32
*
* REAL APPLESOFT II SOURCE
*
* RESURECTED BY J ARKLEY
* ON MAY 1, 1980
*
* Revised for Apple //e by
* James R. Huston
* on or about March 10, 1984
*
* Note: this source can be used to generate both
* the original Applesoft ('76-'83) and the version
* for the 1984 revision to the Apple //e ROMs (using
* A2E for conditional assembly).
*
* The tape routines were transplanted to make room
* for 80 column modifications to Applesoft. These
* enhancements include modifications to HTAB, TAB
* SPC, and comma tabbing. It has also been changed
* to work with lower case, to indent listings by one
* space, and to format the right edge of 80 column
* listings.
*
rep 32
INCLUDE ROMSOFTA
INCLUDE ROMSOFTB
INCLUDE ROMSOFTC
INCLUDE ROMSOFTD
INCLUDE ROMSOFTE
INCLUDE ROMSOFTF
INCLUDE ROMSOFTG
INCLUDE ROMSOFTI
INCLUDE ROMSOFTJ
do a2e
INCLUDE TAPE
fin
Re: Apple II Plus ROM Disassembly [message #393348 is a reply to message #393347] Fri, 24 April 2020 04:17 Go to previous messageGo to next message
Antoine Vignau is currently offline  Antoine Vignau
Messages: 1860
Registered: October 2012
Karma: 0
Senior Member
Original Disk II firmware from the IIc source code. Your code shall not reference IWM that arrived in 1982. The comments in the source code are great!
av

ds $C600-*,0 ;Disk II in slot 6
SBTL 'Disk II boot code'
PAGE
rep 40
*
* Disk II boot stuff
* jumps to slot 5 if boot fails
*
rep 40
LDX #$20
LDY #$00
STZ $03
STZ $3C
LDA #$60
TAX
DRV2ENT STX SLOTZ
STA BOOTDEV
PHY ;Y=1 IF DRIVE 2 BOOT, ELSE Y=0
LDA $C08E,X
LDA $C08C,X
PLY
LDA $C0EA,Y ;SELECT DRIVE 1 OR 2
LDA $C089,X
LDY #$50
SEEKZERO LDA $C080,X
TYA
AND #$03
ASL A
ORA SLOTZ
TAX
LDA $C081,X
LDA #$56
JSR WAIT
DEY
BPL SEEKZERO
STA $26
STA $3D
STA $41
JSR MAKTBL
EXTENT1 STZ $03
RDADR CLC
PHP
RETRY1 PLP
RDDHDR LDX SLOTZ ;RESTORE X TO $60
DEC $03 ;UPDATE RETRY COUNT
BNE RDHD0 ;BRANCH IF NOT OUT OF RETRIES
FUGIT LDA $C088,X ;SHUT OFF DISK AND QUIT!
LDA LOC1 ;Auto boot from slot6?
CMP #$C6
BNE BOOTFAIL
JMP $C500 ;Maybe slot 5 will talk to us
ds $C656-*,0 ;Keep alignment
RDHD0 PHP
RETRY DEY
BNE RDHD1
BEQ RETRY1
EXTENT BRA EXTENT1 ;Blows up if this is moved too
* * * * * * * * * * * * * * * * * * * * *
* The following code is sacred in it's *
* present form. To change it would *
* cause volcanos to errupt, the ground *
* to shake, and ProDOS not to boot! *
* * * * * * * * * * * * * * * * * * * * *
RDHD1 LDA $C08C,X
BPL RDHD1
ISMRK1 EOR #$D5
BNE RETRY
RDHD2 LDA $C08C,X
BPL RDHD2
CMP #$AA
BNE ISMRK1
NOP
RDHD3 LDA $C08C,X
BPL RDHD3
CMP #$96
BEQ RDSECT
PLP
BCC RDADR
EOR #$AD
BEQ RDATA
BNE RDADR
RDSECT LDY #$03
RDSEC1 STA $40
RDSEC2 LDA $C08C,X
BPL RDSEC2
ROL A
STA BOOTTMP
RDSEC3 LDA $C08C,X
BPL RDSEC3
AND BOOTTMP
DEY
BNE RDSEC1
PLP
CMP $3D
BNE RDADR
LDA $40
CMP $41
BADRD1 BNE RDADR
BCS RDDHDR
RDATA LDY #$56
RDAT0 STY BOOTTMP
RDAT1 LDY $C08C,X
BPL RDAT1
EOR DNIBL-$80,Y
LDY BOOTTMP
DEY
STA NBUF1,Y
BNE RDAT0
RDAT2 STY BOOTTMP
RDAT3 LDY $C08C,X
BPL RDAT3
EOR DNIBL-$80,Y
LDY BOOTTMP
STA ($26),Y
INY
BNE RDAT2
RDAT4 LDY $C08C,X
BPL RDAT4
EOR DNIBL-$80,Y
BADREAD BNE BADRD1
LDY #$00
DENIBL LDX #$56
DENIB1 DEX
BMI DENIBL
LDA ($26),Y
LSR NBUF1,X
ROL A
LSR NBUF1,X
ROL A
STA ($26),Y
INY
BNE DENIB1
* * * * * * * * * * * * * * * * *
* Code beyond this point is not *
* sacred... It may be perverted *
* in any manner by any pervert. *
* * * * * * * * * * * * * * * * *
INC $27
INC $3D
LDA $3D
CMP $0800
LDX BOOTDEV
BCC BADREAD
JMP $0801
DS $C700-*,0 ;Last byte must be 0
Re: Apple II Plus ROM Disassembly [message #393349 is a reply to message #393348] Fri, 24 April 2020 04:18 Go to previous messageGo to next message
Antoine Vignau is currently offline  Antoine Vignau
Messages: 1860
Registered: October 2012
Karma: 0
Senior Member
Some dates and the original IIe F8 source code
av

SBTL "Auto-Start Monitor ROM"
********************************
*
* APPLE II
* MONITOR II
*
* COPYRIGHT 1978, 1981, 1984 BY
* APPLE COMPUTER, INC.
*
* ALL RIGHTS RESERVED
*
* S. WOZNIAK 1977
* A. BAUM 1977
* JOHN A NOV 1978
* R. AURICCHIO SEP 1981
* E. BEERNINK 1984
*
APPLE2E EQU 1 ;COND ASSM/RRA0981
*
********************************
ORG F8ORG
OBJ $2000
*******************************
*
* Zero Page Equates
*
LOC0 EQU $00 ;vector for autost from disk
LOC1 EQU $01
WNDLFT EQU $20 ;left edge of text window
WNDWDTH EQU $21 ;width of text window
WNDTOP EQU $22 ;top of text window
WNDBTM EQU $23 ;bottom+1 of text window
CH EQU $24 ;cursor horizontal position
CV EQU $25 ;cursor vertical position
GBASL EQU $26 ;lo-res graphics base addr.
GBASH EQU $27
BASL EQU $28 ;text base address
BASH EQU $29
BAS2L EQU $2A ;temp base for scrolling
BAS2H EQU $2B
H2 EQU $2C ;temp for lo-res graphics
LMNEM EQU $2C ;temp for mnemonic decoding
V2 EQU $2D ;temp for lo-res graphics
RMNEM EQU $2D ;temp for mnemonic decoding
MASK EQU $2E ;color mask for lo-res gr.
CHKSUM EQU $2E ;temp for opcode decode
FORMAT EQU $2E ;temp for opcode decode
LASTIN EQU $2F ;temp for tape read csum
LENGTH EQU $2F ;temp for opcode decode
COLOR EQU $30 ;color for lo-res graphics
MODE EQU $31 ;Monitor mode
INVFLG EQU $32 ;normal/inverse(/flash)
PROMPT EQU $33 ;prompt character
YSAV EQU $34 ;position in Monitor command
YSAV1 EQU $35 ;temp for Y register
CSWL EQU $36 ;character output hook
CSWH EQU $37
KSWL EQU $38 ;character input hook
KSWH EQU $39
PCL EQU $3A ;temp for program counter
PCH EQU $3B
A1L EQU $3C ;A1-A5 are Monitor temps
A1H EQU $3D
A2L EQU $3E
A2H EQU $3F
A3L EQU $40
A3H EQU $41
A4L EQU $42
A4H EQU $43
A5L EQU $44
MACSTAT EQU $44 ;machine state for break
A5H EQU $45
ACC EQU $45 ;Acc after break (destroys A5H)
XREG EQU $46 ;X reg after break
YREG EQU $47 ;Y reg after break
STATUS EQU $48 ;P reg after break
SPNT EQU $49 ;SP after break
RNDL EQU $4E ;random counter low
RNDH EQU $4F ;random counter high
*
PICK EQU $95 ;CONTROL-U character
*
IN EQU $0200 ;input buffer for GETLN
*
* Page 3 vectors
*
BRKV EQU $03F0 ;vectors here after break
SOFTEV EQU $03F2 ;vector for warm start
PWREDUP EQU $03F4 ;THIS MUST = EOR #$A5 OF SOFTEV+1
AMPERV EQU $03F5 ;APPLESOFT & EXIT VECTOR
USRADR EQU $03F8 ;Applesoft USR function vector
NMI EQU $03FB ;NMI vector
IRQLOC EQU $03FE ;Maskable interrupt vector
*
LINE1 EQU $0400 ;first line of text screen
MSLOT EQU $07F8 ;current user of $C8 space
*
DO TEST
ELSE
IOADR EQU $C000
FIN
*
KBD EQU $C000
SLOTCXROM EQU $C006 ;enable slots 1-7
INTCXROM EQU $C007 ;swap out slots for firmware
KBDSTRB EQU $C010
RD80VID EQU $C01F
TAPEOUT EQU $C020
SPKR EQU $C030
TXTCLR EQU $C050
TXTSET EQU $C051
MIXCLR EQU $C052
MIXSET EQU $C053
LOWSCR EQU $C054
HISCR EQU $C055
LORES EQU $C056
HIRES EQU $C057
SETAN0 EQU $C058
CLRAN0 EQU $C059
SETAN1 EQU $C05A
CLRAN1 EQU $C05B
SETAN2 EQU $C05C
CLRAN2 EQU $C05D
SETAN3 EQU $C05E
CLRAN3 EQU $C05F
TAPEIN EQU $C060
PADDL0 EQU $C064
PTRIG EQU $C070
*
IRQ EQU C3ORG+$FA ;IRQ entry in $C3 page
IRQFIX EQU C3ORG+$17C ;Restore state at IRQ
*
XHEADER EQU C3ORG+$267
XREAD EQU C3ORG+$2D1
WRITE2 EQU C3ORG+$2AA
*
CLRROM EQU $CFFF
BASIC EQU $E000
BASIC2 EQU $E003
*
PLOT LSR A ;Y-COORD/2
PHP ;SAVE LSB IN CARRY
JSR GBASCALC ;CALC BASE ADR IN GBASL,H
PLP ;RESTORE LSB FROM CARRY
LDA #$0F ;MASK $0F IF EVEN
BCC RTMASK
ADC #$E0 ;MASK $F0 IF ODD
RTMASK STA MASK
PLOT1 LDA (GBASL),Y ;DATA
EOR COLOR ; XOR COLOR
AND MASK ; AND MASK
EOR (GBASL),Y ; XOR DATA
STA (GBASL),Y ; TO DATA
RTS
*
HLINE JSR PLOT ;PLOT SQUARE
HLINE1 CPY H2 ;DONE?
BCS RTS1 ; YES, RETURN
INY ; NO, INCR INDEX (X-COORD)
JSR PLOT1 ;PLOT NEXT SQUARE
BCC HLINE1 ;ALWAYS TAKEN
VLINEZ ADC #$01 ;NEXT Y-COORD
VLINE PHA ; SAVE ON STACK
JSR PLOT ; PLOT SQUARE
PLA
CMP V2 ;DONE?
BCC VLINEZ ; NO, LOOP.
RTS1 RTS
*
CLRSCR LDY #$2F ;MAX Y, FULL SCRN CLR
BNE CLRSC2 ;ALWAYS TAKEN
CLRTOP LDY #$27 ;MAX Y, TOP SCRN CLR
CLRSC2 STY V2 ;STORE AS BOTTOM COORD
; FOR VLINE CALLS
LDY #$27 ;RIGHTMOST X-COORD (COLUMN)
CLRSC3 LDA #$00 ;TOP COORD FOR VLINE CALLS
STA COLOR ;CLEAR COLOR (BLACK)
JSR VLINE ;DRAW VLINE
DEY ;NEXT LEFTMOST X-COORD
BPL CLRSC3 ;LOOP UNTIL DONE.
RTS
*
GBASCALC PHA ;FOR INPUT 00DEFGH
LSR A
AND #$03
ORA #$04 ;GENERATE GBASH=000001FG
STA GBASH
PLA ;AND GBASL=HDEDE000
AND #$18
BCC GBCALC
ADC #$7F
GBCALC STA GBASL
ASL A
ASL A
ORA GBASL
STA GBASL
RTS
*
NXTCOL LDA COLOR ;INCREMENT COLOR BY 3
CLC
ADC #$03
SETCOL AND #$0F ;SETS COLOR=17*A MOD 16
STA COLOR
ASL A ;BOTH HALF BYTES OF COLOR EQUAL
ASL A
ASL A
ASL A
ORA COLOR
STA COLOR
RTS
*
SCRN LSR A ;READ SCREEN Y-COORD/2
PHP ;SAVE LSB (CARRY)
JSR GBASCALC ;CALC BASE ADDRESS
LDA (GBASL),Y ;GET BYTE
PLP ;RESTORE LSB FROM CARRY
SCRN2 BCC RTMSKZ ;IF EVEN, USE LO H
LSR A
LSR A
LSR A ;SHIFT HIGH HALF BYTE DOWN
LSR A
RTMSKZ AND #$0F ;MASK 4-BITS
RTS
*
INSDS1 LDX PCL ;PRINT PCL,H
LDY PCH
JSR PRYX2
JSR PRBLNK ;FOLLOWED BY A BLANK
LDA (PCL,X) ;GET OPCODE
INSDS2 TAY
LSR A ;EVEN/ODD TEST
BCC IEVEN
ROR A ;BIT 1 TEST
BCS ERR ;XXXXXX11 INVALID OP
CMP #$A2
BEQ ERR ;OPCODE $89 INVALID
AND #$87 ;MASK BITS
IEVEN LSR A ;LSB INTO CARRY FOR L/R TEST
TAX
LDA FMT1,X ;GET FORMAT INDEX BYTE
JSR SCRN2 ;R/L H-BYTE ON CARRY
BNE GETFMT
ERR LDY #$80 ;SUBSTITUTE $80 FOR INVALID OPS
LDA #$00 ;SET PRINT FORMAT INDEX TO 0
GETFMT TAX
LDA FMT2,X ;INDEX INTO PRINT FORMAT TABLE
STA FORMAT ;SAVE FOR ADR FIELD FORMATTING
; (0=1 BYTE, 1=2 BYTE, 2=3 BYTE)
*
* Move code to C1-C2 because the code
* that tests for ROM in slot 3 must be in
* the F8 ROM.
*
TAX ;save ACC in X
STY BAS2L ;and Y in scrolling temp
LDY #$10 ;call = finish mnemonics
JMP GOTOCX ;off to C100
*
* Test slot 3 for a card containing ROM.
* If there is one, we'll not switch in our internal
* slot 3 firmware (for 80 columns).
* On entry Y has a high value like $F2, so the
* ROM/bus is read a bunch of times
*
TSTROM STA SLOTCXROM ;swap in slots
TSTROM0 LDX #2 ;check 2 ID bytes
TSTROM1 LDA $C305,X ;at C305 and $C307
CMP CLREOL,X ;with two bytes that are same
BNE XTST
DEX ;check next ID byte
DEX
BPL TSTROM1
DEY
BNE TSTROM0 ;if ROM ok, exit with BEQ
XTST STA INTCXROM ;swap internal ROM
RTS ;and return there
*
NOP ;line things up
*
INSTDSP JSR INSDS1 ;GEN FMT, LEN BYTES
PHA ;SAVE MNEMONIC TABLE INDEX
PRNTOP LDA (PCL),Y
JSR PRBYTE
LDX #$01 ;PRINT 2 BLANKS
PRNTBL JSR PRBL2
CPY LENGTH ;PRINT INST (1-3 BYTES)
INY ;IN A 12 CHR FIELD
BCC PRNTOP
LDX #$03 ;CHAR COUNT FOR MNEMONIC INDEX
CPY #$04
BCC PRNTBL
PLA ;RECOVER MNEMONIC INDEX
TAY
LDA MNEML,Y
STA LMNEM ;FETCH 3-CHAR MNEMONIC
LDA MNEMR,Y ; (PACKED INTO 2-BYTES)
STA RMNEM
PRMN1 LDA #$00
LDY #$05
PRMN2 ASL RMNEM ;SHIFT 5 BITS OF CHARACTER INTO A
ROL LMNEM
ROL A ; (CLEARS CARRY)
DEY
BNE PRMN2
ADC #$BF ;ADD "?" OFFSET
JSR COUT ;OUTPUT A CHAR OF MNEM
DEX
BNE PRMN1
JSR PRBLNK ;OUTPUT 3 BLANKS
LDY LENGTH
LDX #$06 ;CNT FOR 6 FORMAT BITS
PRADR1 CPX #$03
BEQ PRADR5 ;IF X=3 THEN ADDR.
PRADR2 ASL FORMAT
BCC PRADR3
LDA CHAR1-1,X
JSR COUT
LDA CHAR2-1,X
BEQ PRADR3
JSR COUT
PRADR3 DEX
BNE PRADR1
RTS
PRADR4 DEY
BMI PRADR2
JSR PRBYTE
PRADR5 LDA FORMAT
CMP #$E8 ;HANDLE REL ADR MODE
LDA (PCL),Y ;SPECIAL (PRINT TARGET,
BCC PRADR4 ; NOT OFFSET)
RELADR JSR PCADJ3
TAX ;PCL,PCH+OFFSET+1 TO A,Y
INX
BNE PRNTYX ;+1 TO Y,X
INY
PRNTYX TYA
PRNTAX JSR PRBYTE ;OUTPUT TARGET ADR
PRNTX TXA ; OF BRANCH AND RETURN
JMP PRBYTE
*
PRBLNK LDX #$03 ;BLANK COUNT
PRBL2 LDA #$A0 ;LOAD A SPACE
PRBL3 JSR COUT ;OUTPUT A BLANK
DEX
BNE PRBL2 ;LOOP UNTIL COUNT=0
RTS
*
PCADJ SEC ;0=1 BYTE, 1=2 BYTE,
PCADJ2 LDA LENGTH ; 2=3 BYTE
PCADJ3 LDY PCH
TAX ;TEST DISPLACEMENT SIGN
BPL PCADJ4 ; (FOR REL BRANCH)
DEY ;EXTEND NEG BY DECR PCH
PCADJ4 ADC PCL
BCC RTS2 ;PCL+LENGTH(OR DISPL)+1 TO A
INY ; CARRY INTO Y (PCH)
RTS2 RTS
;
; FMT1 BYTES: XXXXXXY0 INSTRS
; IF Y=0 THEN LEFT HALF BYTE
; IF Y=1 THEN RIGHT HALF BYTE
; (X=INDEX)
;
FMT1 DFB $04
DFB $20
DFB $54
DFB $30
DFB $0D
DFB $80
DFB $04
DFB $90
DFB $03
DFB $22
DFB $54
DFB $33
DFB $0D
DFB $80
DFB $04
DFB $90
DFB $04
DFB $20
DFB $54
DFB $33
DFB $0D
DFB $80
DFB $04
DFB $90
DFB $04
DFB $20
DFB $54
DFB $3B
DFB $0D
DFB $80
DFB $04
DFB $90
DFB $00
DFB $22
DFB $44
DFB $33
DFB $0D
DFB $C8
DFB $44
DFB $00
DFB $11
DFB $22
DFB $44
DFB $33
DFB $0D
DFB $C8
DFB $44
DFB $A9
DFB $01
DFB $22
DFB $44
DFB $33
DFB $0D
DFB $80
DFB $04
DFB $90
DFB $01
DFB $22
DFB $44
DFB $33
DFB $0D
DFB $80
DFB $04
DFB $90
DFB $26
DFB $31
DFB $87
DFB $9A
;
; ZZXXXY01 INSTR'S
;
FMT2 DFB $00 ;ERR
DFB $21 ;IMM
DFB $81 ;Z-PAGE
DFB $82 ;ABS
DFB $00 ;IMPLIED
DFB $00 ;ACCUMULATOR
DFB $59 ;(ZPAG,X)
DFB $4D ;(ZPAG),Y
DFB $91 ;ZPAG,X
DFB $92 ;ABS,X
DFB $86 ;ABS,Y
DFB $4A ;(ABS)
DFB $85 ;ZPAG,Y
DFB $9D ;RELATIVE
CHAR1 DFB $AC ;','
DFB $A9 ;')'
DFB $AC ;','
DFB $A3 ;'#'
DFB $A8 ;'('
DFB $A4 ;'$'
CHAR2 DFB $D9 ;'Y'
DFB $00
DFB $D8 ;'Y'
DFB $A4 ;'$'
DFB $A4 ;'$'
DFB $00
MNEML DFB $1C
DFB $8A
DFB $1C
DFB $23
DFB $5D
DFB $8B
DFB $1B
DFB $A1
DFB $9D
DFB $8A
DFB $1D
DFB $23
DFB $9D
DFB $8B
DFB $1D
DFB $A1
DFB $00
DFB $29
DFB $19
DFB $AE
DFB $69
DFB $A8
DFB $19
DFB $23
DFB $24
DFB $53
DFB $1B
DFB $23
DFB $24
DFB $53
DFB $19 ; (A) FORMAT ABOVE
DFB $A1
DFB $00
DFB $1A
DFB $5B
DFB $5B
DFB $A5
DFB $69
DFB $24 ; (B) FORMAT
DFB $24
DFB $AE
DFB $AE
DFB $A8
DFB $AD
DFB $29
DFB $00
DFB $7C ; (C) FORMAT
DFB $00
DFB $15
DFB $9C
DFB $6D
DFB $9C
DFB $A5
DFB $69
DFB $29 ; (D) FORMAT
DFB $53
DFB $84
DFB $13
DFB $34
DFB $11
DFB $A5
DFB $69
DFB $23 ; (E) FORMAT
DFB $A0
MNEMR DFB $D8
DFB $62
DFB $5A
DFB $48
DFB $26
DFB $62
DFB $94
DFB $88
DFB $54
DFB $44
DFB $C8
DFB $54
DFB $68
DFB $44
DFB $E8
DFB $94
DFB $00
DFB $B4
DFB $08
DFB $84
DFB $74
DFB $B4
DFB $28
DFB $6E
DFB $74
DFB $F4
DFB $CC
DFB $4A
DFB $72
DFB $F2
DFB $A4 ; (A) FORMAT
DFB $8A
DFB $00
DFB $AA
DFB $A2
DFB $A2
DFB $74
DFB $74
DFB $74 ; (B) FORMAT
DFB $72
DFB $44
DFB $68
DFB $B2
DFB $32
DFB $B2
DFB $00
DFB $22 ; (C) FORMAT
DFB $00
DFB $1A
DFB $1A
DFB $26
DFB $26
DFB $72
DFB $72
DFB $88 ; (D) FORMAT
DFB $C8
DFB $C4
DFB $CA
DFB $26
DFB $48
DFB $44
DFB $44
DFB $A2 ; (E) FORMAT
DFB $C8
*
PAGE
NEWIRQ EQU $C3FA ;new IRQ entry
*
OLDIRQ STA $45 ;(should never be used)
LDA $45 ;for those who save A to $45
JMP NEWIRQ ;go to interrupt handler
*
NEWBREAK STA SETSLOTCXROM ;force in slots
STA ACC ;save accumulator
*
BREAK PLP
JSR SAV1 ;SAVE REG'S ON BREAK
PLA ; INCLUDING PC
STA PCL
PLA
STA PCH
JMP (BRKV) ;BRKV WRITTEN OVER BY DISK BOOT
*
OLDBRK JSR INSDS1 ;PRINT USER PC
JSR RGDSP1 ; AND REGS
JMP MON ;GO TO MONITOR (NO PASS GO, NO $200!)
RESET CLD ;DO THIS FIRST THIS TIME
JSR SETNORM
JSR INIT
JSR SETVID
JSR SETKBD
INITAN LDA SETAN0 ; AN0 = TTL LO
LDA SETAN1 ; AN1 = TTL LO
LDY #9 ;CODE=INIT/RRA0981
JSR GOTOCX ;DO APPLE2E INIT/RRA0981
NOP ;/RRA0981
LDA CLRROM ; TURN OFF EXTNSN ROM
BIT KBDSTRB ; CLEAR KEYBOARD
NEWMON CLD
JSR BELL ; CAUSES DELAY IF KEY BOUNCES
LDA SOFTEV+1 ;IS RESET HI
EOR #$A5 ;A FUNNY COMPLEMENT OF THE
CMP PWREDUP ; PWR UP BYTE ???
BNE PWRUP ; NO SO PWRUP
LDA SOFTEV ; YES SEE IF COLD START
BNE NOFIX ; HAS BEEN DONE YET?
LDA #$E0 ; DOES SOFT ENTRY VECTOR POINT AT BASIC?
CMP SOFTEV+1
BNE NOFIX ; YES SO REENTER SYSTEM
FIXSEV LDY #3 ; NO SO POINT AT WARM START
STY SOFTEV ; FOR NEXT RESET
JMP BASIC ; AND DO THE COLD START
NOFIX JMP (SOFTEV) ; SOFT ENTRY VECTOR
******************
PWRUP JSR APPLEII
SETPG3 EQU * ; SET PAGE 3 VECTORS
LDX #5
SETPLP LDA PWRCON-1,X ; WITH CNTRL B ADRS
STA BRKV-1,X ; OF CURRENT BASIC
DEX
BNE SETPLP
LDA #$C8 ; LOAD HI SLOT +1
STX LOC0 ; SETPG3 MUST RETURN X=0
STA LOC1 ; SET PTR H
*
* Check 3 ID bytes instead of 4. Allows devices
* other than Disk II's to be bootable.
*
SLOOP LDY #5 ;Y is byte ptr
DEC LOC1
LDA LOC1
CMP #$C0 ; AT LAST SLOT YET?
BEQ FIXSEV ; YES AND IT CAN'T BE A DISK
STA MSLOT
NXTBYT LDA (LOC0),Y ; FETCH A SLOT BYTE
CMP DISKID-1,Y ; IS IT A DISK ??
BNE SLOOP ; NO, SO NEXT SLOT DOWN
DEY
DEY ; YES, SO CHECK NEXT BYTE
BPL NXTBYT ; UNTIL 3 BYTES CHECKED
JMP (LOC0) ; GO BOOT...
*
NOP
NOP
*
REGDSP JSR CROUT ;DISPLAY USER REG CONTENTS
RGDSP1 LDA #$45 ;WITH LABELS
STA A3L
LDA #$00
STA A3H
LDX #$FB
RDSP1 LDA #$A0
JSR COUT
LDA RTBL-251,X
JSR COUT
LDA #$BD
JSR COUT
LDA ACC+5,X
JSR PRBYTE
INX
BMI RDSP1
RTS
*
PWRCON DW OLDBRK
DFB $00,$E0,$45
DISKID DFB $20,$FF,$00,$FF
DFB $03,$FF,$3C
ASC 'Apple ]['
XLTBL EQU *
DFB $C4,$C2,$C1
DFB $FF,$C3
DFB $FF,$FF,$FF
*
RTBL DFB $C1,$D8,$D9 ;REGISTER NAMES FOR REGDSP:
DFB $D0,$D3 ;'AXYPS'
PREAD LDA PTRIG ;TRIGGER PADDLES
LDY #$00 ;INIT COUNT
NOP ;COMPENSATE FOR 1ST COUNT
NOP
PREAD2 LDA PADDL0,X ;COUNT Y-REG EVERY 12 USEC.
BPL RTS2D
INY
BNE PREAD2 ;EXIT AT 255 MAX
DEY
RTS2D RTS
Re: Apple II Plus ROM Disassembly [message #393357 is a reply to message #393347] Fri, 24 April 2020 12:15 Go to previous messageGo to next message
Anonymous
Karma:
Originally posted by: fadden

On Friday, April 24, 2020 at 1:15:36 AM UTC-7, Antoine Vignau wrote:
> Applesoft info from the original IIe source code

Are these various sources available online? I searched a bit but didn't find them.
Re: Apple II Plus ROM Disassembly [message #393358 is a reply to message #393357] Fri, 24 April 2020 12:41 Go to previous messageGo to next message
Antoine Vignau is currently offline  Antoine Vignau
Messages: 1860
Registered: October 2012
Karma: 0
Senior Member
From time to time, they are visible at brutaldeluxe.fr/public/ but not currently,
av
Re: Apple II Plus ROM Disassembly [message #393361 is a reply to message #393358] Fri, 24 April 2020 16:18 Go to previous messageGo to next message
Antoine Vignau is currently offline  Antoine Vignau
Messages: 1860
Registered: October 2012
Karma: 0
Senior Member
brutaldeluxe.fr/public/iie.zip for Applesoft and F8 ROM source code for the //e
av
Re: Apple II Plus ROM Disassembly [message #393371 is a reply to message #393361] Fri, 24 April 2020 21:59 Go to previous messageGo to next message
Anonymous
Karma:
Originally posted by: fadden

On Friday, April 24, 2020 at 1:18:56 PM UTC-7, Antoine Vignau wrote:
> brutaldeluxe.fr/public/iie.zip for Applesoft and F8 ROM source code for the //e

Thanks!

It's always interesting to see what was on people's minds...
Re: Apple II Plus ROM Disassembly [message #393378 is a reply to message #393361] Sun, 26 April 2020 04:34 Go to previous messageGo to next message
Anonymous
Karma:
Originally posted by: James Davis

Antoine,

It is just a disassembly of an Apple II Plus RAM/ROM image as I found it in AppleWin before they stopped using them. I have not done one for the Apple IIe, Enhanced or Unenhanced, or the Apple IIc, or IIgs, yet. [I am not even interested in IIc's or IIgs's.]

I am not concerned with duplicating what has already been printed. I use the old listings only for reference. I put my own spin on my analyses. I am not a traditionalist. Things do not have to remain the same, nor be done the same way as in the past. Andy's 6502bench SourceGen changes all the names (e.g., L1234) at the get-go, anyway. I try to make them more meaningful.

Listing without hex address and byte codes are meaningless to me.

James Davis
Re: Apple II Plus ROM Disassembly [message #393404 is a reply to message #393107] Thu, 30 April 2020 18:03 Go to previous messageGo to next message
Michael J. Mahon is currently offline  Michael J. Mahon
Messages: 1767
Registered: October 2012
Karma: 0
Senior Member
On 4/22/2020 10:42 PM, barrym95838 wrote:
> On Wednesday, April 22, 2020 at 8:19:57 PM UTC-7, Michael J. Mahon wrote:
>>
>> Those are some pretty nice macros, making assembly code a little more
>> structured. ;-)
>>
>
> I understand the attraction for some, without actually feeling the same.
>
>>
>> Since I assume they recreate Woz’s hex, it also illustrates his structured
>> approach to assembly.
>>
>
> I am a Woz fan, but I have never felt the urge to apply structured coding
> principles to any of his code I have attempted to analyze. To me, he is
> the king of multiple entry and exit points, branching to neighboring code
> fragments to save a single byte, register and flag side-effects, short
> loops to save a single byte of precious ROM, and intricate overlapping
> loops. Have you taken a careful look at his Woz float package? The
> elementary functions are wound up tighter than an 8-day clock!
>
> Mike B.

I agree that Woz's coding style is not a structured "block-oriented"
style. He was always motivated by small (but not necessarily optimally
small) code size, and was delighted by what we would call "tricky" code.
I probably should have added a smiley face to my "structured" comment!

But I presumed that this "disassembly", when re-assembled, would produce
the original ROM bytes, which would be astonishing if it were true.

So, either it's not an actual disassembly or it's a disassembly of
rather structured ROM code.

I wonder which? (I should probably look, but I'm guessing someone
already has.)

--

-michael

NadaNet 3.1 for Apple II parallel computing!
Home page: http://michaeljmahon.com

"The wastebasket is our most important design
tool--and it's seriously underused."
Re: Apple II Plus ROM Disassembly [message #393424 is a reply to message #393404] Sat, 02 May 2020 00:16 Go to previous messageGo to next message
Michael J. Mahon is currently offline  Michael J. Mahon
Messages: 1767
Registered: October 2012
Karma: 0
Senior Member
Michael J. Mahon <mjmahon@aol.com> wrote:
> On 4/22/2020 10:42 PM, barrym95838 wrote:
>> On Wednesday, April 22, 2020 at 8:19:57 PM UTC-7, Michael J. Mahon wrote:
>>>
>>> Those are some pretty nice macros, making assembly code a little more
>>> structured. ;-)
>>>
>>
>> I understand the attraction for some, without actually feeling the same.
>>
>>>
>>> Since I assume they recreate Woz’s hex, it also illustrates his structured
>>> approach to assembly.
>>>
>>
>> I am a Woz fan, but I have never felt the urge to apply structured coding
>> principles to any of his code I have attempted to analyze. To me, he is
>> the king of multiple entry and exit points, branching to neighboring code
>> fragments to save a single byte, register and flag side-effects, short
>> loops to save a single byte of precious ROM, and intricate overlapping
>> loops. Have you taken a careful look at his Woz float package? The
>> elementary functions are wound up tighter than an 8-day clock!
>>
>> Mike B.
>
> I agree that Woz's coding style is not a structured "block-oriented"
> style. He was always motivated by small (but not necessarily optimally
> small) code size, and was delighted by what we would call "tricky" code.
> I probably should have added a smiley face to my "structured" comment!
>
> But I presumed that this "disassembly", when re-assembled, would produce
> the original ROM bytes, which would be astonishing if it were true.
>
> So, either it's not an actual disassembly or it's a disassembly of
> rather structured ROM code.
>
> I wonder which? (I should probably look, but I'm guessing someone
> already has.)

Well, I took a closer look, and I see that the control macros (LOOP, WHILE,
UNTIL, IF, THEN, ELSE, etc.) are actually very low level, typically
generating a label and/or a single instruction. The net effect is not to
add structure, but just to add “syntactic sugar” (or salt, if you’re quite
familiar with assembly language ;-).

I appreciate macros when they give a descriptive name to a fiddley sequence
of pseudo ops or instructions, adapting them to the particular context.
For example, I frequently use my ALIGN macro to adjust the location counter
to a page or other boundary.

But I’ve never much appreciated “structured assembly language”, whether
implemented via macros or assembler syntax.

There’s no disputing taste. ;-)

--
-michael - NadaNet 3.1 and AppleCrate II: http://michaeljmahon.com
Re: Apple II Plus ROM Disassembly [message #393572 is a reply to message #393424] Mon, 04 May 2020 19:33 Go to previous message
barrym95838 is currently offline  barrym95838
Messages: 130
Registered: April 2013
Karma: 0
Senior Member
On Friday, May 1, 2020 at 9:16:38 PM UTC-7, Michael J. Mahon wrote:
>
> But I’ve never much appreciated “structured assembly language”, whether
> implemented via macros or assembler syntax.
>
> There’s no disputing taste. ;-)
>
> --
> -michael - NadaNet 3.1 and AppleCrate II: http://michaeljmahon.com

I have recently received some detailed notes of an Integer BASIC reverse-
engineering attempt by a 6502 guru. The notes prompt more questions than
they provide answers, but I have some excellent new information to try to
digest.

Mike B.
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: Looking for Apple ][gs Absoft A/C Basic Manual Scan
Next Topic: Electric Duet and CFFA3000
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Thu Apr 18 17:23:05 EDT 2024

Total time taken to generate the page: 0.04397 seconds