disassembled Dragon 32 ROM ?

A place to discuss everything Dragon related that doesn't fall into the other categories.
User avatar
tormod
Posts: 416
Joined: Sat Apr 27, 2013 12:06 pm
Location: Switzerland
Contact:

Re: disassembled Dragon 32 ROM ?

Post by tormod »

I updated the Makefile so that it works with lwasm from LWTOOLS. I confirmed it builds a 100% identical Dragon 32 ROM image.
Attachments
Makefile.zip
Updated for use with LWTOOLS
(363 Bytes) Downloaded 206 times
KenH
Posts: 182
Joined: Fri Oct 12, 2012 9:50 am

Re: disassembled Dragon 32 ROM ?

Post by KenH »

tormod wrote:Wow, there you go. Was this available on the internet somewhere?
Right here on this forum! It was Phill's Christmas 2011 gift ;)

viewtopic.php?f=7&t=560&p=2988#p2986

But easy to miss because of the thread's somewhat unrelated title.

The source for DragonDos and SuperDos is also there.
jedie
Posts: 655
Joined: Wed Aug 14, 2013 12:23 pm
Location: germany
Contact:

Re: disassembled Dragon 32 ROM ?

Post by jedie »

Have now done this:

Code: Select all

./6809dasm.pl org=0x8000 forceorg=0x8000 end=0xbfff d32.rom >d32.rom.asm
Then i add comments into d32.rom.asm by a Python script ( https://gist.github.com/jedie/6573808 ) and use the information from viewtopic.php?f=8&t=4365

result is here: https://gist.github.com/jedie/6573826
complete diff: https://gist.github.com/jedie/6573826/revisions
... too many ideas and too little time ... Related stuff written in Python:
Dragon 32 emulator / PyDC - Python Dragon 32 converter: https://github.com/jedie/DragonPy
DWLOAD server / Dragon-Lib and other stuff: https://github.com/6809
jedie
Posts: 655
Joined: Wed Aug 14, 2013 12:23 pm
Location: germany
Contact:

Re: disassembled Dragon 32 ROM ?

Post by jedie »

jedie wrote:result is here: https://gist.github.com/jedie/6573826
That's nice. But really nice is a full commended ROM list, like: https://github.com/jedie/DragonPy/blob/ ... BasROM.LST

Something like that doesn't exist for Dragon ROM, isn't it?

Again, the UNRAVELLED contains full commended ROM code. But this is from CoCo...

But the ROM code should be very similar, isn't it? So it makes sense to compare it and reuse the commends from the other lists, if the opcode are the same in one block?
Has someone done this in the past?
... too many ideas and too little time ... Related stuff written in Python:
Dragon 32 emulator / PyDC - Python Dragon 32 converter: https://github.com/jedie/DragonPy
DWLOAD server / Dragon-Lib and other stuff: https://github.com/6809
jedie
Posts: 655
Joined: Wed Aug 14, 2013 12:23 pm
Location: germany
Contact:

Re: disassembled Dragon 32 ROM ?

Post by jedie »

Again the Question: Has anyone a better disassembled D32 ROM ? Better one as: https://gist.github.com/jedie/6573826 ?
... too many ideas and too little time ... Related stuff written in Python:
Dragon 32 emulator / PyDC - Python Dragon 32 converter: https://github.com/jedie/DragonPy
DWLOAD server / Dragon-Lib and other stuff: https://github.com/6809
sorchard
Posts: 530
Joined: Sat Jun 07, 2014 9:43 pm
Location: Norwich UK

Re: disassembled Dragon 32 ROM ?

Post by sorchard »

Hi Jedie,

It's not exactly what you asked for but I've found my own disassembly of the D64 32K mode ROMs. I did this about 15 years ago when it seems I must have had a lot of time on my hands :D

There is also a binary comparison of the D64 32K mode ROMs versus the D32 ROMs. This file will tell you if the area of interest differs between the two machines. That said, the differences aren't that big.

Hope it's of some use.

Edit: Added D32 ROM disassembly
Attachments
D32ROMDIS.zip
(84.4 KiB) Downloaded 205 times
D64_32KROMDIS.zip
(89.31 KiB) Downloaded 231 times
Last edited by sorchard on Sat Nov 01, 2014 10:57 pm, edited 1 time in total.
Stew
User avatar
tormod
Posts: 416
Joined: Sat Apr 27, 2013 12:06 pm
Location: Switzerland
Contact:

Re: disassembled Dragon 32 ROM ?

Post by tormod »

Stew, that's great. One of the best commented disassemblies I have seen.

Jedie, did you check out Phill's disassembly?

I think there is a certain reluctance around to posting disassemblies of the ROM because of the unclear copyright situation.
zephyr
Posts: 1474
Joined: Mon Jul 21, 2008 1:18 am

Re: disassembled Dragon 32 ROM ?

Post by zephyr »

sorchard wrote: It's not exactly what you asked for but I've found my own disassembly of the D64 32K mode ROMs. I did this about 15 years ago when it seems I must have had a lot of time on my hands :D
Thanks! 8-)
jedie
Posts: 655
Joined: Wed Aug 14, 2013 12:23 pm
Location: germany
Contact:

Re: disassembled Dragon 32 ROM ?

Post by jedie »

tormod wrote:Stew, that's great. One of the best commented disassemblies I have seen.
Yes, it's very good!
i'm not yet clear how the D32 <-> D64 ROMDIFF.TXT worked.
tormod wrote:Jedie, did you check out Phill's disassembly?
Yes, but it seems that the work from stew is better ;)
tormod wrote:I think there is a certain reluctance around to posting disassemblies of the ROM because of the unclear copyright situation.
The ROMs are download able in archiv. So why not put a disassembly into the Wiki?
... too many ideas and too little time ... Related stuff written in Python:
Dragon 32 emulator / PyDC - Python Dragon 32 converter: https://github.com/jedie/DragonPy
DWLOAD server / Dragon-Lib and other stuff: https://github.com/6809
User avatar
JeeK
Posts: 67
Joined: Fri Aug 16, 2013 10:45 am
Location: Vienna, Austria
Contact:

Re: disassembled Dragon 32 ROM ?

Post by JeeK »

jedie wrote:Again the Question: Has anyone a better disassembled D32 ROM ? Better one as: https://gist.github.com/jedie/6573826 ?
Caution! Sorry, but this listing is not complete. Just an example:

Code: Select all

L_942D    lda    <$50            ; $942d: Jumped to from GIVABF routine at 8c37-8c3f - returns 16 bit value in FAC to BASIC ??
L_9431    stb    <$4f
    jmp    L_9161
L_9441    ldb    ,x
    beq    L_9418
    bmi    L_941C
L_944B    ldb    <$4f
compared to the (complete, but undocumented listing)

Code: Select all

L_942D  lda     <$50
        suba    #$80
L_9431  stb     <$4f
        ldd     <$8a
        std     <$52
        sta     <$63
        sta     <$54
        jmp     L_9161
        clr     <$54
        rts
L_9441  ldb     ,x
        beq     L_9418
        ldb     1,x
        eorb    <$54
        bmi     L_941C
L_944B  ldb     <$4f
The dragon on my side: http://klasek.at/hc/dragon/
Post Reply