Jump to content
IGNORED

Smart electronic dudes here


Gazoo

Recommended Posts

I have an original TI Extended Basic Cartridge. I want to disable the Rom on it, leaving the Grom working. Never mind why, I'll tell you later. :)

 

Ok, since you asked I'll give you a hint. It involves a Widget that selects #1 & #2 cartridges at the same time. ;)

 

 

Tell me how to do it.

 

Gazoo

 

 

Link to comment
Share on other sites

Sorry buddy you will hit a wall there. Many of the lines of code in XB use XML in XB.

[0132]               *    Equates for XMLs
[0133] 0000          SYNCHK EQU  >00               SYNCHK XML selector
[0134] 0001          FILSPC EQU  >01               Fill-space utility
[0135] 0001          PARCOM EQU  >01               PARse to a COMma selector
[0136] 0002          CSTRIN EQU  >02               Copy-string utility
[0137] 0002          RANGE  EQU  >02               RANGE selector
[0138] 0003          SEETWO EQU  >03               SEETWO XML selector
[0139] 0006          FADD   EQU  >06               Floating ADD
[0140] 0008          FMUL   EQU  >08               Floating MULtiply
[0141] 0009          FDIV   EQU  >09               Floating DIVide
[0142] 000A          FCOMP  EQU  >0A               Floating COMPare
[0143] 000B          SADD   EQU  >0B               Stack ADD
[0144] 000C          SSUB   EQU  >0C               Stack SUBtract
[0145] 0010          CSNUM  EQU  >10               Convert String to Number
[0146] 0012          CFI    EQU  >12               Convert to two byte integer
[0147] 0012          FLTINT EQU  >12               Convert floating to integer
[0148] 0020          ALSUP  EQU  >20               XML to user AssembLy SUBrouti
[0149] 0070          COMPCT EQU  >70               PREFORM A GARBAGE COLLECTION
[0150] 0071          GETSTR EQU  >71               SYSTEM GET STRING
[0151] 0072          MEMCHK EQU  >72               MEMORY check routine: VDP
[0152] 0073          XCNS   EQU  >73               Convert number to string
[0153]               * Warning Defualt changed in >0159
[0154] 0074          PARSE  EQU  >74               Parse a value
[0155] 0075          CONT   EQU  >75               Continue parsing
[0156] 0076          EXECG  EQU  >76               Execute a XB stmt or program
[0157] 0077          VPUSH  EQU  >77               Push on value stack
[0158] 0078          VPOP   EQU  >78               Pop off value stack
[0159] 0079          PGMCHR EQU  >79               GET PROGRAM CHARACTER
[0160] 007A          SYM    EQU  >7A               Find SYMBOL entry
[0161] 007B          SMB    EQU  >7B               Find symbol table entry
[0162] 007C          ASSGNV EQU  >7C               Assign VARIABLE
[0163] 007D          SCHSYM EQU  >7D               Search symbol table
[0164] 007E          SPEED  EQU  >7E               SPEED UP XML
[0165] 007F          CRUNCH EQU  >7F               Crunch an input line
[0166] 0080          CIF    EQU  >80               Convert INTEGER to FLOATING P
[0167] 0082          RTNB   EQU  >82               Return
[0168] 0083          SCROLL EQU  >83               SCROLL THE SCREEN
[0169] 0084          IO     EQU  >84               IO utility (KW table search)
[0170] 0085          GREAD  EQU  >85               READ DATA FROM ERAM
[0171] 0086          GWRITE EQU  >86               WRITE DATA TO ERAM
[0172] 0087          DELREP EQU  >87               REMOVE CONTENT FROM VDP/ERAM
[0173] 0088          MVDN   EQU  >88               MOVE DATA IN VDP/ERAM
[0174] 0089          MVUP   EQU  >89               MOVE DATA IN VDP/ERAM
[0175] 008A          VGWITE EQU  >8A               MOVE DATA FROM VDP TO ERAM
[0176] 008B          GVWITE EQU  >8B               WRITE DATA FROM GRAM TO VRAM
[0177] 008C          GREAD1 EQU  >8C               READ DATA FROM ERAM
[0178] 008E          GDTECT EQU  >8E               ERAM DETECT&ROM PAGE 1 ENABLE
[0179] 008F          SCNSMT EQU  >8F               SCAN STATEMENT FOR PRESCAN
[0180]               ***********************************************************

Most of these are for fetching values (SYM, SCHSYM, PGMCHR, RANGE) from XB in commands like CALL HCHAR(19,22,65,10)

You see this is the main reason for XB being so much faster then BASIC.

People do not remember that XB has 12K of ROM to speed up XB unlike BASIC.

XML like SPEED and SMB and GREAD1 and SCROLL and ASSGNV and PARSE and CONT and EXECG are there.

Link to comment
Share on other sites

Here is a small example of the routines I use as subroutines for RXB, but they are just shorter versions in normal XB that I borrow.

<0001>               ***********************************************************
<0002>               * RXB
<0003>               *******************************************************
<0004>               * AMS BRANCH TABLE FOR AMS ROUTINES  *    FIXED       *
<0005> D0F4 52,46           BR   AMSMAP                   *     AT         *
<0006> D0F6 52,61           BR   AMSPAS                   *    >D0F4       *
<0007> D0F8 52,7B           BR   AMSOFF                   *  PERMANENTLY   *
<0008> D0FA 52,94           BR   AMSON                    *   ADD TO THE   *
<0009> D0FC 52,D6           BR   SISRON                   *    TABLE IF    *
<0010> D0FE 53,11           BR   SISROF                   *    NEEDED.     *
<0011>               *******************************************************
<0012> D100 D6,42,B7 GLPARZ CEQ  LPARZ,@CHAT
<0013> D103 45,33           BR   ERRSYN
<0014> D105 00              RTN
<0015> D106 0F,79    STRFCH XML  PGMCHR
<0016> D108 0F,74           XML  PARSE
<0017> D10A B6              BYTE >B6
<0018> D10B 00              RTN
<0019> D10C 06,D1,06 STRGET CALL STRFCH
<0020> D10F D6,4C,65        CEQ  >65,@FAC2
<0021> D112 45,43           BR   ERRSNM      * STRING NUM MISMATCH
<0022> D114 00              RTN
<0023> D115 06,D1,06 NUMFCH CALL STRFCH
<0024> D118 D6,4C,65        CEQ  >65,@FAC2
<0025> D11B 65,43           BS   ERRSNM      * STRING NUM MISMATCH
<0026> D11D 00              RTN
<0027> D11E 0F,12    CFIFCH XML  CFI
<0028> D120 D6,54,03        CEQ  >03,@FAC+10
<0029> D123 65,A2           BS   ERRBV       * NUMERIC OVERFLOW
<0030> D125 00              RTN
<0031> D126 06,D1,56 GETNUM CALL SUBLP3
<0032> D129 D6,42,B3        CEQ  >B3,@CHAT
<0033> D12C 45,33           BR   ERRSYN
<0034> D12E 00              RTN
<0035> D12F 0F,79    NGOOD  XML  PGMCHR
<0036> D131 D6,42,80        CEQ  >80,@CHAT
<0037> D134 65,33           BS   ERRSYN         * ?
<0038> D136 06,D1,4A        CALL SNDER
<0039> D139 D6,4C,65        CEQ  >65,@FAC2
<0040> D13C 45,9A           BR   ERRBA          * BAD ARGUMENT
<0041> D13E BF,4A,00        DST  >001C,@FAC
       D141 1C
<0042> D142 BD,4E,1C        DST  @SREF,@FAC4

99/4 GPL-ASSEMBLER (Pass 3) correct                                   PAGE 0048 
EQUATES ALCS-359
<0043> D145 BD,50,0C        DST  @BYTES,@FAC6
<0044> D148 51,53           BR   SNDASS
<0045> D14A 0F,7A    SNDER  XML  SYM
<0046> D14C 0F,7B           XML  SMB
<0047> D14E 0F,77           XML  VPUSH
<0048> D150 00              RTN
<0049> D151 0F,80    CIFSND XML  CIF
<0050> D153 0F,7C    SNDASS XML  ASSGNV
<0051> D155 00              RTN
<0052> D156 06,D1,15 SUBLP3 CALL NUMFCH
<0053> D159 06,D1,1E        CALL CFIFCH
<0054> D15C 00              RTN
<0055> D15D 44,53,4B DSKSUB TEXT 'DSK#.'
       D160 23,2E
<0056> D162 0F,79    DEVNAM XML  PGMCHR            Advance program pointer
<0057> D164 0F,74           XML  PARSE             Parse to ')'
<0058> D166 B6              BYTE RPARZ
<0059> D167 D6,4C,65        CEQ  >65,@FAC2         Do we have a string?
<0060> D16A 71,9B           BS   DEV1              YES, normal execution
<0061> D16C 0F,12           XML  CFI               Convert FAC to integer
<0062> D16E D6,54,03        CEQ  >03,@FAC10        OK?
<0063> D171 65,A2           BS   ERRBV             No.
<0064> D173 CA,4B,1E        CHE  30,@FAC1          ASCII?
<0065> D176 71,80           BS   DEVASC            Yes.
<0066> D178 CA,4B,0A        CHE  10,@FAC1          Higher then 9?
<0067> D17B 65,A2           BS   ERRBV             No, error
<0068> D17D A2,4B,30        ADD  48,@FAC1          Make it ASCII.
<0069> D180 BC,54,4B DEVASC ST   @FAC1,@TEMP1      Save the number
<0070> D183 BF,0C,00 DEV0   DST  5,@BYTES          Set up for a string
       D186 05
<0071> D187 0F,71           XML  GETSTR            Get string space
<0072> D189 31,00,05        MOVE 5,G@DSKSUB,V*SREF Save the string
       D18C B0,1C,D1
       D18F 5D
<0073> D190 BC,E0,03        ST   @TEMP1,V@3(@SREF) Store the number
       D193 1C,54
<0074> D195 BD,50,0C        DST  @BYTES,@FAC6      Copy string length.
<0075> D198 BD,4E,1C        DST  @SREF,@FAC4       Copy string address.
<0076> D19B 8F,50    DEV1   DCZ  @FAC6             Is it a null string?
<0077> D19D 65,9A           BS   ERRBA             YES! Bad Argument
<0078> D19F BC,54,B0        ST   V*FAC4,@TEMP1
       D1A2 4E
<0079> D1A3 D6,51,01        CEQ  1,@FAC7
<0080> D1A6 71,83           BS   DEV0
<0081> D1A8 00              RTN
<0082>               ***********************************************************
Link to comment
Share on other sites

Sorry buddy you will hit a wall there. Many of the lines of code in XB use XML in XB.

are there.

 

No, I didn't hit a wall. As you've done many times in the past, you are responding to a question that you don't understand.

 

This has nothing to do with programming.

 

It has to do with electronics. Grom and Rom are separate electronic devices.

I want to disable the Rom in a real TI cartridge, a piece of hardware. I want the Grom in this real piece of hardware to keep functioning,

as I'm going to provide the Rom access in a different way.

 

If you don't understand the question, please don't respond with an answer that has nothing to do with the question.

 

Thanks,

 

Gazoo

Edited by Gazoo
Link to comment
Share on other sites

I have an original TI Extended Basic Cartridge. I want to disable the Rom on it, leaving the Grom working. Never mind why, I'll tell you later. :)

 

Ok, since you asked I'll give you a hint. It involves a Widget that selects #1 & #2 cartridges at the same time. ;)

 

 

Tell me how to do it.

 

Gazoo

 

 

Pull the ROM ......;-)

 

 

Perhaps you could keep the *cs line high with some pull ups attached with test clips but any value high enough not to burn up whatever is pulling it low may not be able to sustain a high signal. I guess you don't want to alter the board?

Link to comment
Share on other sites

I am so freaking sad that I lost the XB Assembly Language Source code for the ROMS!!!

 

Have you ever asked anyone for it? Maybe someone has it. I might even have it somewhere if I felt the urge to look for it.

Edited by Gazoo
Link to comment
Share on other sites

Pull the ROM ...... ;-)

 

 

Perhaps you could keep the *cs line high with some pull ups attached with test clips but any value high enough not to burn up whatever is pulling it low may not be able to sustain a high signal. I guess you don't want to alter the board?

 

Yea, not looking to hurt it. Maybe clip a lead on a chip near the pad that I can resolder or temporarily tack a resistor in place somewhere.

 

I was also thinking of unsoldering the 2 Grom stacked chips and putting them on a Grom only cart board, but that's a lot of work. :(

 

Thanks,

 

Gazoo

Link to comment
Share on other sites

 

No, I didn't hit a wall. As you've done many times in the past, you are responding to a question that you don't understand.

 

This has nothing to do with programming.

 

It has to do with electronics. Grom and Rom are separate electronic devices.

I want to disable the Rom in a real TI cartridge, a piece of hardware. I want the Grom in this real piece of hardware to keep functioning,

as I'm going to provide the Rom access in a different way.

 

If you don't understand the question, please don't respond with an answer that has nothing to do with the question.

 

Thanks,

 

Gazoo

 

I usually try to stay out of these squabbles, but you are being incredibly rude here. Perhaps Rich misunderstood you, but that is no excuse for ripping him apart like that, particularly since he was trying to help.

What the hell is wrong with people...

Link to comment
Share on other sites

 

I usually try to stay out of these squabbles, but you are being incredibly rude here. Perhaps Rich misunderstood you, but that is no excuse for ripping him apart like that, particularly since he was trying to help.

What the hell is wrong with people...

 

I am truly sorry for offending you. I just think that people should pay attention to the subject at hand and not respond to something that has nothing to do with it.

Rich is a repeat offender in this manner, I just wish he would pay a little more attention to the actual question asked.

 

There's nothing wrong with me. I've tried to subtly make this point on numerous occasions. Sometimes you've got to pull out the big guns to make people wake up.

Hopefully this will be the last comment I have to make on this matter.

 

Sincerely.

 

Gazoo

Link to comment
Share on other sites

Carefully clip the power lead on the ROM to isolate it and then solder a bridge across the gap once you are finished. That will involve the least work and makes sure the ROM won't respond while you're testing.

 

Thank you sir, I thought that might be one alternative. :)

 

Gazoo

Link to comment
Share on other sites

Try a slither of insulating tape over the cartridge edge connector pin 34, which is the cartridge ROM /CS. Totally reversible if it doesn't work.

 

Now that's a smart idea..

 

If it floats then tie the /cs pin to 5v and that should work like a charm.

 

Your brilliant Stu....

Link to comment
Share on other sites

 

No, I didn't hit a wall. As you've done many times in the past, you are responding to a question that you don't understand.

 

This has nothing to do with programming.

 

It has to do with electronics. Grom and Rom are separate electronic devices.

I want to disable the Rom in a real TI cartridge, a piece of hardware. I want the Grom in this real piece of hardware to keep functioning,

as I'm going to provide the Rom access in a different way.

 

If you don't understand the question, please don't respond with an answer that has nothing to do with the question.

 

Thanks,

 

Gazoo

I did respond.

 

XB WILL NO LONGER WORK AS THE XML IS IN GROM AS TO ADDRESS IT NEEDS TO FUNCTION AT ALL!

 

Only very little of XB will continue to function. You want proof fire up Classic99 and put a EA ROM in place of XB ROMs and watch what happens. NOTHING!

 

If you think you know more about the XB source code then ok, but I think I have a clue as to what I am talking about on this subject.

 

If you want help say so and I will help you, but do not attack me for telling you what will happen without a re-write of the GROMs to pull this off.

Link to comment
Share on other sites

By the way this is easy to do.

 

Take the RXB ROM OBJECT CODE as only 2 BYTES are different then normal XB and disassemble them with DISKASSEMBLER.

 

I am including the OBJECT files for ROM 1 and ROM 2

 

Just use DISKASSEMBLER and you are set.

 

Rich

RXB ROMS.zip

Link to comment
Share on other sites

I did respond.

 

XB WILL NO LONGER WORK AS THE XML IS IN GROM AS TO ADDRESS IT NEEDS TO FUNCTION AT ALL!

 

Only very little of XB will continue to function. You want proof fire up Classic99 and put a EA ROM in place of XB ROMs and watch what happens. NOTHING!

 

If you think you know more about the XB source code then ok, but I think I have a clue as to what I am talking about on this subject.

 

If you want help say so and I will help you, but do not attack me for telling you what will happen without a re-write of the GROMs to pull this off.

 

Please come in from left field. The subject has nothing to do with what you are talking about. Look at the other replies and try to get on topic.

 

Thanks, Rich!

 

Gazoo

Edited by Gazoo
Link to comment
Share on other sites

As I am not a Hardware guy are you going to continue to provide a >6000 Address for the XB ROMS in both Hardware?

 

As you can do this little trick with a Cart in Slot and PGRAM by a jumper an software mod that Don O'Neil showed me one time.

 

The ROMs in the Cart are used even when only the GROM is in the PGRAM.

Link to comment
Share on other sites

As I am not a Hardware guy are you going to continue to provide a >6000 Address for the XB ROMS in both Hardware?

 

As you can do this little trick with a Cart in Slot and PGRAM by a jumper an software mod that Don O'Neil showed me one time.

 

The ROMs in the Cart are used even when only the GROM is in the PGRAM.

Unless the Rome are disabled.

 

Ok spill the beans Tony. What is the Rock cooking up tonight ;-).....

Link to comment
Share on other sites

 

Oh, don't tease us like that!!!!

 

Yea, I've found a couple of floppies recently labeled XB rom source code, but haven' tried to read 'em yet.

Too many actually important irons in the fire!

 

Go away, pest! ;)

 

Gazoo

Link to comment
Share on other sites

Unless the Rome are disabled.

 

Ok spill the beans Tony. What is the Rock cooking up tonight ;-).....

 

Tomorrow. ;)

 

XB cart and 512k Rom cart plugged into a modified widget that has slots 1 & 2 connected together.

I did this a while back for a member if the TI Philly users group, Whit Bauer, that wanted the EA cartridge to work with Myarc Extended Basic.

Both carts plugged into the widget for a simulated supercart that worked with his Myarc Ramdisk.

 

Same concept, checking 512k Rom cart stability.

 

I desperately want this new cart thing to work, so I'm trying out every possibility.

 

I even ordered a new burner today to try and burn these incredibly flakey 1284p chips that are in this new cart. Even though I don't have the money to spend on it. :(

 

Your friend.

 

Gazoo

Link to comment
Share on other sites

I think he's trying to get an alternate version of the ROMs to run with the XB GROMs, but that requires that the original ROMs are disabled. Since he's going to be providing an alternative to the disabled ROMs, that eliminates your legitimate programming issue, Rich. But as the real issue was to disable the ROMs so that he could perform the test, the programming issue is actually moot.

 

Please look at those purported XB source disks, Gazoo! You have my curiosity piqued too! :)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...