BASIC disassembly

Talk about programming CreatiVision (except games programming). Projects of homebrew hardware are also welcome.
User avatar
carlsson
Posts: 507
Joined: Fri Jun 13, 2008 7:39 am
Location: Västerås, Sweden

BASIC disassembly

Post by carlsson » Wed Dec 08, 2010 9:46 am

I have had a closer look at the BASIC cartridge (VTech 1983 release), in hope to find some JSR ($xxxx) or similar entry, possibly finding a way to extend BASIC with a machine code routine of your own. Unfortunately I haven't found any such entry.

However I found some interesting text strings:

Base address + 0x0743 : PEEK(
Base address + 0x1FD0: STA XPOWER
Rest of the BASIC keywords begin at base address + 0x2E97.

It seems the character ROM (?) starts at base + 0x1FFF with space, followed by exclamation mark, quote, hash mark and so on. I thought Creativision had a character ROM in the machine, but seemingly not? Every character definition is eight bytes, but it looks like the eighth byte is ignored as the very last character is 7E, 7E, 7E, 7E, 7E, 7E, 7E, F0 but the filled block on screen does not have a F0 pattern at the bottom.

Perhaps we can add to this thread all known bugs and workarounds in Basic, like the ones mentioned in the Wizzdom newsletters. Also if someone would make a full disassembly and find something interesting.
User avatar
MADrigal
Site Admin
Posts: 1189
Joined: Sun Sep 15, 2013 1:00 pm
Contact:

Re: BASIC disassembly

Post by MADrigal » Sun Sep 18, 2011 8:46 am

The BIOS includes its own character set, which is for use with videogames (except a few videogames which might have their own charset)

As far as I remember, 2 character sets are also included in the TMS9929 internal ROM. One is 8x8 pixels, the other is 8x6 pixels.

Basic uses its own character set, that's 8 bytes/character, at address 2000. The 1st bit is always 00 (empty row).
User avatar
Kurt_Woloch
Posts: 16
Joined: Thu Jun 12, 2008 8:00 pm
Location: Wien
Contact:

Re: BASIC disassembly

Post by Kurt_Woloch » Thu Mar 28, 2013 1:32 pm

Sorry to contradict here, but as far as I know, the TMS9929 doesn't have an internal ROM. The character set has to be loaded into video RAM by the main CPU before it can be used. And I think the BIOS is the only ROM in the Creativision containing characters.
User avatar
carlsson
Posts: 507
Joined: Fri Jun 13, 2008 7:39 am
Location: Västerås, Sweden

Re: BASIC disassembly

Post by carlsson » Thu Mar 28, 2013 1:39 pm

Yes, we found the BIOS character set but it doesn't quite contain all the symbols as used by BASIC so the BASIC cartridge must contain at least some additional symbols not found in the BIOS, or perhaps a full 512 byte (wow!) character set that is copied in its entirety like I started with on the Reversi game before I was pointed to the BIOS character set.
User avatar
Mobsie
Posts: 708
Joined: Fri Jun 13, 2008 10:38 am
Location: Weinheim, Germany

Re: BASIC disassembly

Post by Mobsie » Sun Jun 02, 2013 12:13 pm

Soon we have finish the COMPLETE Basic Source Code, then is possible to add some missing basic commands.
We also change the way vtech store the basic-listing in the VDP-RAM. Some people ask for better basic because want write some little apps.
User avatar
@username@
Posts: 320
Joined: Tue Oct 22, 2013 6:59 pm
Location: Scotland

Re: BASIC disassembly

Post by @username@ » Thu Nov 14, 2013 8:54 pm

carlsson wrote:Yes, we found the BIOS character set but it doesn't quite contain all the symbols as used by BASIC so the BASIC cartridge must contain at least some additional symbols not found in the BIOS, or perhaps a full 512 byte (wow!) character set that is copied in its entirety like I started with on the Reversi game before I was pointed to the BIOS character set.
A present from my goldfish ...

Code: Select all

7000 : --------
7001 : --------
7002 : --------
7003 : --------
7004 : --------
7005 : --------
7006 : --------
7007 : --------
7008 : --------
7009 : ---XX---
700A : ---XX---
700B : ---XX---
700C : ---XX---
700D : --------
700E : ---XX---
700F : ---XX---
7010 : --------
7011 : --X--X--
7012 : --X--X--
7013 : --X--X--
7014 : --------
7015 : --------
7016 : --------
7017 : --------
7018 : --------
7019 : --X--X--
701A : -XXXXXX-
701B : --X--X--
701C : --X--X--
701D : -XXXXXX-
701E : --X--X--
701F : --------
7020 : --------
7021 : ---XX---
7022 : --XXXXX-
7023 : -X-XX---
7024 : --XXXX--
7025 : ---XX-X-
7026 : -XXXXX--
7027 : ---XX---
7028 : --------
7029 : -XX---X-
702A : -XX--X--
702B : ----X---
702C : ---X----
702D : --X--XX-
702E : -X---XX-
702F : --------
7030 : --------
7031 : ---XX---
7032 : --X--X--
7033 : --X--X--
7034 : --XXX---
7035 : -X--X-X-
7036 : -X---X--
7037 : --XXX-X-
7038 : --------
7039 : ---XX---
703A : ----X---
703B : ---X----
703C : --X-----
703D : --------
703E : --------
703F : --------
7040 : --------
7041 : ---X----
7042 : --X-----
7043 : -X------
7044 : -X------
7045 : -X------
7046 : --X-----
7047 : ---X----
7048 : --------
7049 : ----X---
704A : -----X--
704B : ------X-
704C : ------X-
704D : ------X-
704E : -----X--
704F : ----X---
7050 : --------
7051 : --------
7052 : -X-XX-X-
7053 : ---XX---
7054 : -XXXXXX-
7055 : ---XX---
7056 : -X-XX-X-
7057 : --------
7058 : --------
7059 : ---XX---
705A : ---XX---
705B : -XXXXXX-
705C : ---XX---
705D : ---XX---
705E : --------
705F : --------
7060 : --------
7061 : --------
7062 : --------
7063 : ---XX---
7064 : ---XX---
7065 : ----X---
7066 : ---X----
7067 : --X-----
7068 : --------
7069 : --------
706A : --------
706B : --------
706C : --XXXX--
706D : --------
706E : --------
706F : --------
7070 : --------
7071 : --------
7072 : --------
7073 : --------
7074 : --------
7075 : --------
7076 : ---XX---
7077 : ---XX---
7078 : --------
7079 : --------
707A : ------X-
707B : -----X--
707C : ----X---
707D : ---X----
707E : --X-----
707F : -X------
7080 : --------
7081 : --XXXX--
7082 : -XX---X-
7083 : -XX--XX-
7084 : -XX-X-X-
7085 : -XXX--X-
7086 : -XX---X-
7087 : --XXXX--
7088 : --------
7089 : ---XX---
708A : --XXX---
708B : ---XX---
708C : ---XX---
708D : ---XX---
708E : ---XX---
708F : --XXXX--
7090 : --------
7091 : --XXXX--
7092 : -XX---X-
7093 : ------X-
7094 : -----XX-
7095 : ---XX---
7096 : -XX-----
7097 : -XXXXXX-
7098 : --------
7099 : --XXXX--
709A : -X---XX-
709B : -----XX-
709C : ----XX--
709D : -----XX-
709E : -X---XX-
709F : --XXXX--
70A0 : --------
70A1 : ----XX--
70A2 : ---XXX--
70A3 : --XX-X--
70A4 : -XX--X--
70A5 : -XXXXXX-
70A6 : -----X--
70A7 : -----X--
70A8 : --------
70A9 : -XXXXXX-
70AA : -XX-----
70AB : -XXXXX--
70AC : ------X-
70AD : ------X-
70AE : -XX---X-
70AF : --XXXX--
70B0 : --------
70B1 : ---XXXX-
70B2 : --XX----
70B3 : -XX-----
70B4 : -XXXXX--
70B5 : -XX---X-
70B6 : -XX---X-
70B7 : --XXXX--
70B8 : --------
70B9 : -XXXXXX-
70BA : -----XX-
70BB : ----XX--
70BC : ---XX---
70BD : --XX----
70BE : --XX----
70BF : --XX----
70C0 : --------
70C1 : --XXXX--
70C2 : -XX---X-
70C3 : -XX---X-
70C4 : --XXXX--
70C5 : -XX---X-
70C6 : -XX---X-
70C7 : --XXXX--
70C8 : --------
70C9 : --XXXX--
70CA : -XX---X-
70CB : -XX---X-
70CC : --XXXXX-
70CD : ------X-
70CE : -----X--
70CF : -XXXX---
70D0 : --------
70D1 : --------
70D2 : --------
70D3 : ---XX---
70D4 : ---XX---
70D5 : --------
70D6 : ---XX---
70D7 : ---XX---
70D8 : --------
70D9 : ---XX---
70DA : ---XX---
70DB : --------
70DC : ---XX---
70DD : ----X---
70DE : ---X----
70DF : --X-----
70E0 : --------
70E1 : ----X---
70E2 : ---X----
70E3 : --X-----
70E4 : -X------
70E5 : --X-----
70E6 : ---X----
70E7 : ----X---
70E8 : --------
70E9 : --------
70EA : --------
70EB : --XXXX--
70EC : --------
70ED : --XXXX--
70EE : --------
70EF : --------
70F0 : --------
70F1 : ---X----
70F2 : ----X---
70F3 : -----X--
70F4 : ------X-
70F5 : -----X--
70F6 : ----X---
70F7 : ---X----
70F8 : --------
70F9 : --XXXX--
70FA : -XX---X-
70FB : -X----X-
70FC : ----XX--
70FD : ---XX---
70FE : --------
70FF : ---XX---
7100 : --------
7101 : --------
7102 : --X---X-
7103 : -X-XX-X-
7104 : -X-X-XX-
7105 : -X-XXXX-
7106 : --X-----
7107 : ---XXXX-
7108 : --------
7109 : ---XX---
710A : --XX-X--
710B : -XX---X-
710C : -XX---X-
710D : -XXXXXX-
710E : -XX---X-
710F : -XX---X-
7110 : --------
7111 : -XXXXX--
7112 : -XX---X-
7113 : -XX---X-
7114 : -XXXXX--
7115 : -XX---X-
7116 : -XX---X-
7117 : -XXXXX--
7118 : --------
7119 : --XXXX--
711A : -XX---X-
711B : -XX-----
711C : -XX-----
711D : -XX-----
711E : -XX---X-
711F : --XXXX--
7120 : --------
7121 : -XXXX---
7122 : -XX--X--
7123 : -XX---X-
7124 : -XX---X-
7125 : -XX---X-
7126 : -XX--X--
7127 : -XXXX---
7128 : --------
7129 : --XXXXX-
712A : -XX-----
712B : -XX-----
712C : -XXXXX--
712D : -XX-----
712E : -XX-----
712F : --XXXXX-
7130 : --------
7131 : --XXXXX-
7132 : -XX-----
7133 : -XX-----
7134 : -XX-XX--
7135 : -XX-----
7136 : -XX-----
7137 : -XX-----
7138 : --------
7139 : --XXXX--
713A : -XX---X-
713B : -XX-----
713C : -XX--XX-
713D : -XX---X-
713E : -XX---X-
713F : --XXXXX-
7140 : --------
7141 : -XX---X-
7142 : -XX---X-
7143 : -XX---X-
7144 : -XXXXXX-
7145 : -XX---X-
7146 : -XX---X-
7147 : -XX---X-
7148 : --------
7149 : --XXXX--
714A : ---XX---
714B : ---XX---
714C : ---XX---
714D : ---XX---
714E : ---XX---
714F : --XXXX--
7150 : --------
7151 : --XXXX--
7152 : ---XX---
7153 : ---XX---
7154 : ---XX---
7155 : ---XX---
7156 : -X-XX---
7157 : --XX----
7158 : --------
7159 : -XX---X-
715A : -XX--X--
715B : -XX-X---
715C : -XXX----
715D : -XX-X---
715E : -XX--X--
715F : -XX---X-
7160 : --------
7161 : -XX-----
7162 : -XX-----
7163 : -XX-----
7164 : -XX-----
7165 : -XX-----
7166 : -XXX----
7167 : --XXXXX-
7168 : --------
7169 : -XX---X-
716A : -XXX-XX-
716B : -XX-X-X-
716C : -XX-X-X-
716D : -XX---X-
716E : -XX---X-
716F : -XX---X-
7170 : --------
7171 : -XX---X-
7172 : -XXX--X-
7173 : -XXX--X-
7174 : -XX-X-X-
7175 : -XX--XX-
7176 : -XX--XX-
7177 : -XX---X-
7178 : --------
7179 : --XXXX--
717A : -XX---X-
717B : -XX---X-
717C : -XX---X-
717D : -XX---X-
717E : -XX---X-
717F : --XXXX--
7180 : --------
7181 : -XXXXX--
7182 : -XX---X-
7183 : -XX---X-
7184 : -XX---X-
7185 : -XXXXX--
7186 : -XX-----
7187 : -XX-----
7188 : --------
7189 : --XXXX--
718A : -XX---X-
718B : -XX---X-
718C : -XX---X-
718D : -XX-X-X-
718E : -XX--X--
718F : --XXX-X-
7190 : --------
7191 : -XXXXX--
7192 : -XX---X-
7193 : -XX---X-
7194 : -XXXXX--
7195 : -XX-X---
7196 : -XX--X--
7197 : -XX---X-
7198 : --------
7199 : --XXXXX-
719A : -XX-----
719B : -XX-----
719C : --XXXX--
719D : ------X-
719E : ------X-
719F : -XXXXX--
71A0 : --------
71A1 : -XXXXXX-
71A2 : ---XX---
71A3 : ---XX---
71A4 : ---XX---
71A5 : ---XX---
71A6 : ---XX---
71A7 : ---XX---
71A8 : --------
71A9 : -XX---X-
71AA : -XX---X-
71AB : -XX---X-
71AC : -XX---X-
71AD : -XX---X-
71AE : -XX---X-
71AF : --XXXX--
71B0 : --------
71B1 : -XX---X-
71B2 : -XX---X-
71B3 : -XX---X-
71B4 : -XX---X-
71B5 : --XX-X--
71B6 : --XX-X--
71B7 : ---XX---
71B8 : --------
71B9 : -XX---X-
71BA : -XX---X-
71BB : -XX---X-
71BC : -XX-X-X-
71BD : -XX-X-X-
71BE : -XXX-XX-
71BF : -XX---X-
71C0 : --------
71C1 : -XX---X-
71C2 : -XX---X-
71C3 : --XX-X--
71C4 : ----X---
71C5 : --XX-X--
71C6 : -XX---X-
71C7 : -XX---X-
71C8 : --------
71C9 : -XX---X-
71CA : -XX---X-
71CB : -XX---X-
71CC : --XX-X--
71CD : ---XX---
71CE : ---XX---
71CF : ---XX---
71D0 : --------
71D1 : -XXXXXX-
71D2 : -----XX-
71D3 : ----XX--
71D4 : ---XX---
71D5 : --XX----
71D6 : -XX-----
71D7 : -XXXXXX-
71D8 : --------
71D9 : --XXXX--
71DA : --XX----
71DB : --XX----
71DC : --XX----
71DD : --XX----
71DE : --XX----
71DF : --XXXX--
71E0 : --------
71E1 : --------
71E2 : -X------
71E3 : --X-----
71E4 : ---X----
71E5 : ----X---
71E6 : -----X--
71E7 : ------X-
71E8 : --------
71E9 : --XXXX--
71EA : ----XX--
71EB : ----XX--
71EC : ----XX--
71ED : ----XX--
71EE : ----XX--
71EF : --XXXX--
71F0 : --------
71F1 : ---XX---
71F2 : --XXXX--
71F3 : -X-XX-X-
71F4 : ---XX---
71F5 : ---XX---
71F6 : ---XX---
71F7 : ---XX---
71F8 : --------
71F9 : -XXXXXX-
71FA : -XXXXXX-
71FB : -XXXXXX-
71FC : -XXXXXX-
71FD : -XXXXXX-
71FE : -XXXXXX-
71FF : -XXXXXX-
Maybe keep your hex editor open for the full 20 seconds next time :)
User avatar
carlsson
Posts: 507
Joined: Fri Jun 13, 2008 7:39 am
Location: Västerås, Sweden

Re: BASIC disassembly

Post by carlsson » Thu Nov 14, 2013 9:58 pm

Which address is 7000? The charset in BIOS (note: not the Basic cartridge!) starts at $F880 according to my notes.

For that matter, I never disassembled the Basic cartridge looking for a charset, as my homebrew would not depend on the Basic cartridge anyway.
User avatar
@username@
Posts: 320
Joined: Tue Oct 22, 2013 6:59 pm
Location: Scotland

Re: BASIC disassembly

Post by @username@ » Thu Nov 14, 2013 10:13 pm

carlsson wrote:Which address is 7000? The charset in BIOS (note: not the Basic cartridge!) starts at $F880 according to my notes.

For that matter, I never disassembled the Basic cartridge looking for a charset, as my homebrew would not depend on the Basic cartridge anyway.
I suggest you look at how a 12k ROM loads. Sorry about the splashing, my goldfish won't go back in the bowl :)

Also, and here's a kicker - there's a huge clue in the program entry point for ALL BASICs - 7200 - oh and guess what - the first thing it does is copy those to the VDP!

Code: Select all

ROM:7200		 BEQ	 loc_725A
ROM:7202		 LDX	 #$FF
ROM:7204		 STX	 $34F
ROM:7207		 STX	 $350
ROM:720A		 TXS
ROM:720B		 INX
ROM:720C		 STX	 $353
ROM:720F		 JSR	 $FD86
ROM:7212		 JSR	 sub_7218
ROM:7215		 JMP	 loc_7245
ROM:7218
ROM:7218 ; =============== S U B R O U T I N E =======================================
ROM:7218
ROM:7218
ROM:7218 sub_7218:				 ; CODE	XREF: ROM:7212p
ROM:7218					 ; ROM:loc_725Ap ...
ROM:7218		 LDX	 #$C6 ;	'Æ'
ROM:721A		 LDA	 #0
ROM:721C		 JSR	 $FE1F
ROM:721F		 LDX	 #0
ROM:7221
ROM:7221 loc_7221:				 ; CODE	XREF: sub_7218+10j
ROM:7221		 LDA	 $7000,X
ROM:7224		 JSR	 $FD82
ROM:7227		 INX
ROM:7228		 BNE	 loc_7221
ROM:722A
ROM:722A loc_722A:				 ; CODE	XREF: sub_7218+19j
ROM:722A		 LDA	 $7100,X
ROM:722D		 JSR	 $FD82
ROM:7230		 INX
ROM:7231		 BNE	 loc_722A
ROM:7233		 LDA	 #$80 ;	'€'
ROM:7235		 LDX	 #$D3 ;	'Ó'
ROM:7237		 JSR	 $FE1F
ROM:723A		 LDY	 #$20 ;	' '
ROM:723C
ROM:723C loc_723C:				 ; CODE	XREF: sub_7218+2Aj
ROM:723C		 LDA	 #$20 ;	' '
ROM:723E		 JSR	 $FD82
ROM:7241		 DEY
ROM:7242		 BNE	 loc_723C
ROM:7244		 RTS
ROM:7244 ; End of function sub_7218
ROM:7244
Now - do you need me to explain 6502 too?
User avatar
@username@
Posts: 320
Joined: Tue Oct 22, 2013 6:59 pm
Location: Scotland

Re: BASIC disassembly

Post by @username@ » Thu Nov 14, 2013 11:43 pm

carlsson wrote:I have had a closer look at the BASIC cartridge (VTech 1983 release), in hope to find some JSR ($xxxx) or similar entry, possibly finding a way to extend BASIC with a machine code routine of your own. Unfortunately I haven't found any such entry.

Base address + 0x0743 : PEEK
It's actually 0xA745 for BASIC83 or in a creativision

Code: Select all

ROM:A73D loc_A73D:                               ; CODE XREF: sub_A718+11j
ROM:A73D                 LDA     $7F59,X
ROM:A740                 EOR     #$80 ; 'Ç'
ROM:A742                 STA     $A8
ROM:A744                 RTS
ROM:A744 ; End of function sub_A718
ROM:A744
ROM:A744 ; ---------------------------------------------------------------------------
ROM:A745                 .BYTE $50 ; P
ROM:A746                 .BYTE $45 ; E
ROM:A747                 .BYTE $45 ; E
ROM:A748                 .BYTE $4B ; K
ROM:A749                 .BYTE $28
carlsson wrote: Base address + 0x1FD0: STA XPOWER
Close - really that's 0xBFD2

Code: Select all

ROM:BFD0                 .BYTE $36 ; 6
ROM:BFD1                 .BYTE  $D
ROM:BFD2 aStaXpower:     .BYTE 'STA XPOWERð',0
carlsson wrote:Rest of the BASIC keywords begin at base address + 0x2E97.
Close -ish Again it's actually miles away at 0x7e99

Code: Select all

ROM:7E99                 .BYTE $47 ; G
ROM:7E9A                 .BYTE $4F ; O
ROM:7E9B                 .BYTE $54 ; T
ROM:7E9C                 .BYTE $4F ; O
ROM:7E9D                 .WORD $57B0
ROM:7E9F                 .BYTE $4C ; L
ROM:7EA0                 .BYTE $45 ; E
ROM:7EA1                 .BYTE $54 ; T
ROM:7EA2                 .WORD $8FB3
ROM:7EA4                 .BYTE $49 ; I
ROM:7EA5                 .BYTE $46 ; F
ROM:7EA6                 .WORD $66B0
ROM:7EA8                 .BYTE $50 ; P
ROM:7EA9                 .BYTE $52 ; R
ROM:7EAA                 .BYTE $49 ; I
ROM:7EAB                 .BYTE $4E ; N
ROM:7EAC                 .BYTE $54 ; T
ROM:7EAD                 .WORD $9BB0
ROM:7EAF                 .BYTE $46 ; F
ROM:7EB0                 .BYTE $4F ; O
ROM:7EB1                 .BYTE $52 ; R
ROM:7EB2                 .WORD $FEB0
ROM:7EB4                 .BYTE $4E ; N
ROM:7EB5                 .BYTE $45 ; E
ROM:7EB6                 .BYTE $58 ; X
ROM:7EB7                 .BYTE $54 ; T
ROM:7EB8                 .WORD $8BB1
ROM:7EBA                 .BYTE $45 ; E
ROM:7EBB                 .BYTE $4E ; N
ROM:7EBC                 .BYTE $44 ; D
ROM:7EBD                 .WORD $FC72
ROM:7EBF                 .BYTE $44 ; D
ROM:7EC0                 .BYTE $41 ; A
ROM:7EC1                 .BYTE $54 ; T
ROM:7EC2                 .BYTE $41 ; A
ROM:7EC3                 .WORD $16B4
ROM:7EC5                 .BYTE $52 ; R
ROM:7EC6                 .BYTE $45 ; E
ROM:7EC7                 .BYTE $53 ; S
ROM:7EC8                 .BYTE $54 ; T
ROM:7EC9                 .BYTE $4F ; O
ROM:7ECA                 .BYTE $52 ; R
ROM:7ECB                 .BYTE $45 ; E
ROM:7ECC                 .WORD $62B4
ROM:7ECE                 .BYTE $52 ; R
ROM:7ECF                 .BYTE $45 ; E
ROM:7ED0                 .BYTE $41 ; A
ROM:7ED1                 .BYTE $44 ; D
ROM:7ED2                 .WORD $5BB4
ROM:7ED4                 .BYTE $44 ; D
ROM:7ED5                 .BYTE $49 ; I
ROM:7ED6                 .BYTE $4D ; M
ROM:7ED7                 .WORD $6DB4
ROM:7ED9                 .BYTE $53 ; S
ROM:7EDA                 .BYTE $54 ; T
ROM:7EDB                 .BYTE $4F ; O
ROM:7EDC                 .BYTE $50 ; P
ROM:7EDD                 .WORD $89B3
ROM:7EDF                 .BYTE $47 ; G
ROM:7EE0                 .BYTE $4F ; O
ROM:7EE1                 .BYTE $53 ; S
ROM:7EE2                 .BYTE $55 ; U
ROM:7EE3                 .BYTE $42 ; B
ROM:7EE4                 .WORD $7B2
ROM:7EE6                 .BYTE $52 ; R
ROM:7EE7                 .BYTE $45 ; E
ROM:7EE8                 .BYTE $54 ; T
ROM:7EE9                 .BYTE $55 ; U
ROM:7EEA                 .BYTE $52 ; R
ROM:7EEB                 .BYTE $4E
ROM:7EEC                 .WORD $10B4
ROM:7EEE                 .BYTE $49 ; I
ROM:7EEF                 .BYTE $4E ; N
ROM:7EF0                 .BYTE $50 ; P
ROM:7EF1                 .BYTE $55 ; U
ROM:7EF2                 .BYTE $54 ; T
ROM:7EF3                 .WORD $65B2
ROM:7EF5                 .BYTE $52 ; R
ROM:7EF6                 .BYTE $45 ; E
ROM:7EF7                 .BYTE $4D ; M
ROM:7EF8                 .BYTE $B4 ; ¦
ROM:7EF9                 .BYTE $13
ROM:7EFA                 .BYTE $52 ; R
ROM:7EFB                 .BYTE $55 ; U
ROM:7EFC                 .BYTE $4E ; N
ROM:7EFD                 .WORD $AE78
ROM:7EFF                 .BYTE $4C ; L
ROM:7F00                 .BYTE $49 ; I
ROM:7F01                 .BYTE $53 ; S
ROM:7F02                 .BYTE $54 ; T
ROM:7F03                 .WORD $5276
ROM:7F05                 .BYTE $43 ; C
ROM:7F06                 .BYTE $4F ; O
ROM:7F07                 .BYTE $4E ; N
ROM:7F08                 .BYTE $54 ; T
ROM:7F09                 .WORD $A178
ROM:7F0B                 .BYTE $4E ; N
ROM:7F0C                 .BYTE $45 ; E
ROM:7F0D                 .BYTE $57 ; W
ROM:7F0E                 .WORD $5472
ROM:7F10                 .BYTE $43 ; C
ROM:7F11                 .BYTE $4C ; L
ROM:7F12                 .BYTE $4F ; O
ROM:7F13                 .BYTE $41 ; A
ROM:7F14                 .BYTE $44 ; D
ROM:7F15                 .WORD $487A
ROM:7F17                 .BYTE $43 ; C
ROM:7F18                 .BYTE $53 ; S
ROM:7F19                 .BYTE $41 ; A
ROM:7F1A                 .BYTE $56 ; V
ROM:7F1B                 .BYTE $45 ; E
ROM:7F1C                 .WORD $5379
ROM:7F1E                 .BYTE $43 ; C
ROM:7F1F                 .BYTE $52 ; R
ROM:7F20                 .BYTE $55 ; U
ROM:7F21                 .BYTE $4E ; N
ROM:7F22                 .WORD $C778
ROM:7F24                 .BYTE $4C ; L
ROM:7F25                 .BYTE $4C ; L
ROM:7F26                 .BYTE $49 ; I
ROM:7F27                 .BYTE $53 ; S
ROM:7F28                 .BYTE $54 ; T
ROM:7F29                 .WORD $D27D
ROM:7F2B                 .BYTE $4C ; L
ROM:7F2C                 .BYTE $50 ; P
ROM:7F2D                 .BYTE $52 ; R
ROM:7F2E                 .BYTE $49 ; I
ROM:7F2F                 .BYTE $4E ; N
ROM:7F30                 .BYTE $54 ; T
ROM:7F31                 .WORD $517E
ROM:7F33                 .BYTE $53 ; S
ROM:7F34                 .BYTE $4F ; O
ROM:7F35                 .BYTE $55 ; U
ROM:7F36                 .BYTE $4E ; N
ROM:7F37                 .BYTE $44 ; D
ROM:7F38                 .WORD $8A7B
ROM:7F3A                 .BYTE $50 ; P
ROM:7F3B                 .BYTE $4F ; O
ROM:7F3C                 .BYTE $4B ; K
ROM:7F3D                 .BYTE $45 ; E
ROM:7F3E                 .WORD $4A7C
ROM:7F40                 .BYTE $43 ; C
ROM:7F41                 .BYTE $4C ; L
ROM:7F42                 .BYTE $53 ; S
ROM:7F43                 .WORD $687C
ROM:7F45                 .BYTE $50 ; P
ROM:7F46                 .BYTE $4C ; L
ROM:7F47                 .BYTE $4F ; O
ROM:7F48                 .BYTE $54 ; T
ROM:7F49                 .WORD $767C
ROM:7F4B                 .BYTE $43 ; C
ROM:7F4C                 .BYTE $48 ; H
ROM:7F4D                 .BYTE $41 ; A
ROM:7F4E                 .BYTE $52 ; R
ROM:7F4F                 .WORD $D57C
ROM:7F51                 .BYTE $43 ; C
ROM:7F52                 .BYTE $4F ; O
ROM:7F53                 .BYTE $4C ; L
ROM:7F54                 .BYTE $4F ; O
ROM:7F55                 .BYTE $52 ; R
ROM:7F56                 .WORD $777D
ROM:7F58                 .BYTE $FF
ROM:7F59                 .BYTE $52 ; R
ROM:7F5A                 .BYTE $4E ; N
ROM:7F5B                 .BYTE $44 ; D
ROM:7F5C                 .BYTE $81
ROM:7F5D                 .BYTE $41 ; A
ROM:7F5E                 .BYTE $42 ; B
ROM:7F5F                 .BYTE $53 ; S
ROM:7F60                 .BYTE $82
ROM:7F61                 .BYTE $53 ; S
ROM:7F62                 .BYTE $47 ; G
ROM:7F63                 .BYTE $4E ; N
ROM:7F64                 .BYTE $83
ROM:7F65                 .BYTE $4E ; N
ROM:7F66                 .BYTE $4F ; O
ROM:7F67                 .BYTE $54 ; T
ROM:7F68                 .BYTE $84
ROM:7F69                 .BYTE $54 ; T
ROM:7F6A                 .BYTE $41 ; A
ROM:7F6B                 .BYTE $42 ; B
ROM:7F6C                 .BYTE $85
ROM:7F6D                 .BYTE $4C ; L
ROM:7F6E                 .BYTE $45 ; E
ROM:7F6F                 .BYTE $4E ; N
ROM:7F70                 .BYTE $86
ROM:7F71                 .BYTE $56 ; V
ROM:7F72                 .BYTE $41 ; A
ROM:7F73                 .BYTE $4C ; L
ROM:7F74                 .BYTE $87
ROM:7F75                 .BYTE $41 ; A
ROM:7F76                 .BYTE $53 ; S
ROM:7F77                 .BYTE $43 ; C
ROM:7F78                 .BYTE $88
ROM:7F79                 .BYTE $4C ; L
ROM:7F7A                 .BYTE $4F ; O
ROM:7F7B                 .BYTE $47 ; G
ROM:7F7C                 .BYTE $89
ROM:7F7D                 .BYTE $49 ; I
ROM:7F7E                 .BYTE $4E ; N
ROM:7F7F                 .BYTE $54 ; T
ROM:7F80                 .BYTE $8A
ROM:7F81                 .BYTE $45 ; E
ROM:7F82                 .BYTE $58 ; X
ROM:7F83                 .BYTE $50 ; P
ROM:7F84                 .BYTE $8B
ROM:7F85                 .BYTE $53 ; S
ROM:7F86                 .BYTE $51 ; Q
ROM:7F87                 .BYTE $52 ; R
ROM:7F88                 .BYTE $8C
ROM:7F89                 .BYTE $53 ; S
ROM:7F8A                 .BYTE $49 ; I
ROM:7F8B                 .BYTE $4E ; N
ROM:7F8C                 .BYTE $8D
ROM:7F8D                 .BYTE $43 ; C
ROM:7F8E                 .BYTE $4F ; O
ROM:7F8F                 .BYTE $53 ; S
ROM:7F90                 .BYTE $8E
ROM:7F91                 .BYTE $54 ; T
ROM:7F92                 .BYTE $41 ; A
ROM:7F93                 .BYTE $4E ; N
ROM:7F94                 .BYTE $8F
ROM:7F95                 .BYTE $4A ; J
ROM:7F96                 .BYTE $4F ; O
ROM:7F97                 .BYTE $59 ; Y
ROM:7F98                 .BYTE $91
ROM:7F99                 .BYTE $FF
ROM:7F9A                 .BYTE $4C ; L
ROM:7F9B                 .BYTE $45 ; E
ROM:7F9C                 .BYTE $46 ; F
ROM:7F9D                 .BYTE $54 ; T
ROM:7F9E                 .BYTE $24 ; $
ROM:7F9F                 .WORD $8128
ROM:7FA1                 .BYTE $52 ; R
ROM:7FA2                 .BYTE $49 ; I
ROM:7FA3                 .BYTE $47 ; G
ROM:7FA4                 .BYTE $48 ; H
ROM:7FA5                 .BYTE $54 ; T
ROM:7FA6                 .BYTE $24
ROM:7FA7                 .WORD $8228
ROM:7FA9                 .BYTE $4D ; M
ROM:7FAA                 .BYTE $49 ; I
ROM:7FAB                 .BYTE $44 ; D
ROM:7FAC                 .BYTE $24 ; $
ROM:7FAD                 .WORD $8328
ROM:7FAF                 .BYTE $53 ; S
ROM:7FB0                 .BYTE $54 ; T
ROM:7FB1                 .BYTE $52 ; R
ROM:7FB2                 .BYTE $24 ; $
ROM:7FB3                 .WORD $8428
ROM:7FB5                 .BYTE $43 ; C
ROM:7FB6                 .BYTE $48 ; H
ROM:7FB7                 .BYTE $52 ; R
ROM:7FB8                 .BYTE $24 ; $
ROM:7FB9                 .WORD $8528
ROM:7FBB                 .BYTE $FF
In my humble experience, it's usually a good idea to look for JSR etc at the correct memory address - not from 0 with a hex editor.
Last edited by @username@ on Thu Nov 14, 2013 11:47 pm, edited 1 time in total.
User avatar
carlsson
Posts: 507
Joined: Fri Jun 13, 2008 7:39 am
Location: Västerås, Sweden

Re: BASIC disassembly

Post by carlsson » Thu Nov 14, 2013 11:45 pm

Yes, please explain to me how to program the 6502. I have never quite figured out all those LDA, JSR, ORA and the rest. It is all kind of a mystery to me. Pretty please?
Post Reply