6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sun Nov 24, 2024 3:43 am

All times are UTC




Post new topic Reply to topic  [ 8 posts ] 
Author Message
PostPosted: Sat Jan 14, 2012 12:04 am 
Offline

Joined: Fri Aug 30, 2002 2:05 pm
Posts: 347
Location: UK
Which is reassembleable and bit correct can be found on this page.

Lee.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun Jan 15, 2012 10:24 am 
Offline

Joined: Tue Jul 05, 2005 7:08 pm
Posts: 1043
Location: near Heidelberg, Germany
Cool that's great work (haven't looked into the details, but looks like lot of comments)

Just one thing - ROM routines have some kind of "standard" names, like BSOUT for $FFD2 and so on, same for the variable names. It would be great if that were done as well.

André


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu Jan 19, 2012 5:25 pm 
Offline
User avatar

Joined: Wed Sep 03, 2003 6:53 pm
Posts: 153
Location: Long Island, NY
I have a similar disassembly available on my Web site...a project I had worked on many years ago. Scroll down to the bottom of the Commodore section. It reassables using TASM and is also binary compatible.

http://www.classiccmp.org/cini/systems.htm

_________________
Rich Cini
Build Master and maintainer of the Altair32 Emulation project
http://cini.classiccmp.org
http://altair32.classiccmp.org


Top
 Profile  
Reply with quote  
PostPosted: Wed Nov 02, 2016 5:02 pm 
Offline
User avatar

Joined: Wed Nov 02, 2016 4:53 pm
Posts: 2
Location: Sweden
Looking for other kernal disassembly, RichCini is probably nice if you know all those alias:es for every address since they list all the aliases but not the addresses it's hard for a beginner to find their way especially when trying to follow code disassembled from another program.

I was looking for $F27A right now and found it was called CHROUT, also gound a few JSR CHROUT (BCHOUT, MSG, FLNMLP, IOERMS9, LOCLOOP) but there's no "CHROUT" label anywhere so it seems it would assemble if you'd try that.
Vector table last is difficult as there are no addresses - which is what you'd find in raw code.

So if anyone has another disassembly I'd love to have a look at it.


Top
 Profile  
Reply with quote  
PostPosted: Mon Nov 07, 2016 8:53 pm 
Offline
User avatar

Joined: Wed Sep 03, 2003 6:53 pm
Posts: 153
Location: Long Island, NY
Hi --

The two files (ramvars.inc and krnlrom.asm) are source files and won't have the target addresses in them (other than in the comments). You can use the Table Assembler (or probably other 6502 cross-assemblers) to produce a list file which will have the addresses.

Commodore had a vector table at the end of the ROM and you'll notice that the call to CHROUT actually calls through an indirect JMP to the vector pointer in RAM page 3 (see Line 300). That allows you to redirect the output routine (and was likely used by 3rd party software too). So, calling CHROUT from a user program actually passed from $FFD2 to the address in $0326 which would be $F27A (ICHROT, line 3780).

The locations starting with "I" are the "internal" addresses called by these vectored routines. Again, most of this was to avoid name collisions when reassembling with TASM.

Hope this helps.

_________________
Rich Cini
Build Master and maintainer of the Altair32 Emulation project
http://cini.classiccmp.org
http://altair32.classiccmp.org


Top
 Profile  
Reply with quote  
PostPosted: Tue Nov 08, 2016 3:59 pm 
Offline
User avatar

Joined: Wed Nov 02, 2016 4:53 pm
Posts: 2
Location: Sweden
It's great work done, I missed some things when trying to use it for disassembly/understand code.

I bet it's very handy being able to assemble the kernal rom from this code, when wanting to make a custom one for example.
The type of disassembly I needed was more for reference, but I managed to work it out, wouldn't have been possible without this.

For the C64 I have used this, it's very handy:
http://www.pagetable.com/c64rom/c64rom_en.html


Top
 Profile  
Reply with quote  
PostPosted: Wed Nov 09, 2016 4:08 pm 
Offline
User avatar

Joined: Wed Sep 03, 2003 6:53 pm
Posts: 153
Location: Long Island, NY
e5frog wrote:
It's great work done, I missed some things when trying to use it for disassembly/understand code.

I bet it's very handy being able to assemble the kernal rom from this code, when wanting to make a custom one for example.
The type of disassembly I needed was more for reference, but I managed to work it out, wouldn't have been possible without this.

For the C64 I have used this, it's very handy:
http://www.pagetable.com/c64rom/c64rom_en.html


Thanks very much. It took a long time to create. Updated asm file is attached with location marks added to the comments. The list file is 320k so it's not posting properly.


Attachments:
krnlrom.asm [140.67 KiB]
Downloaded 182 times

_________________
Rich Cini
Build Master and maintainer of the Altair32 Emulation project
http://cini.classiccmp.org
http://altair32.classiccmp.org


Last edited by RichCini on Thu Nov 10, 2016 6:35 pm, edited 1 time in total.
Top
 Profile  
Reply with quote  
PostPosted: Wed Nov 09, 2016 4:12 pm 
Offline
User avatar

Joined: Wed Sep 03, 2003 6:53 pm
Posts: 153
Location: Long Island, NY
e5frog wrote:
It's great work done, I missed some things when trying to use it for disassembly/understand code.

I bet it's very handy being able to assemble the kernal rom from this code, when wanting to make a custom one for example.
The type of disassembly I needed was more for reference, but I managed to work it out, wouldn't have been possible without this.

For the C64 I have used this, it's very handy:
http://www.pagetable.com/c64rom/c64rom_en.html


Attachments:
File comment: Rename the file to ramvars.inc
ramvars.txt [11.96 KiB]
Downloaded 182 times

_________________
Rich Cini
Build Master and maintainer of the Altair32 Emulation project
http://cini.classiccmp.org
http://altair32.classiccmp.org
Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 8 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 63 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: