Jump to content

RXB

Members
  • Content Count

    4,013
  • Joined

  • Last visited

  • Days Won

    2

RXB last won the day on November 20 2016

RXB had the most liked content!

Community Reputation

1,503 Excellent

About RXB

  • Rank
    River Patroller
  • Birthday 01/22/1954

Profile Information

  • Gender
    Male
  • Location
    Vancouver, Washington, USA
  • Interests
    Computers, Science, Technology, TI99/4A
  • Currently Playing
    World of Warcraft. Left4Dead, CoD4
  • Playing Next
    Mosty TI games and some CoD or Diablo

Recent Profile Visitors

17,391 profile views
  1. I assumed it was a Error bit not working correctly. I only posted the EA error code routine but not the values they trigger. [email protected]>02C2 * is a error code flag that is checked. [email protected]>02D0 * is a error code flag that is checked. [email protected]>02E2 * is a error code flag that is checked. >8322 is CODE area that stored a code to be checked for.
  2. Hmm this sounds like a Broken Flag problem in XB? [2105] 8D24 00,1C,00 PAB3 BYTE >00,>1C,>00,>00,>FE,>00,>00,>00,OFFSET * IV254 8D27 00,FE,00 8D2A 00,00,60 [2168] *********************************************************** [2169] * SAVE STATEMENT [2170] * SAVE "NAME", MERGE : Save in crunched form in program [2171] * into a file one line at at time with the line number. [2172] * File opened with sequential accessed, variable-length [2173] * records (161 max), display type & output mode, move one [2174] * line number and one in text to the crunch buffer then [2175] * write to the file one line at a time. [2176] * A normal SAVE : When ERAM not exist or the size of the [2177] * program and line number table in ERAM can fit in VDP [2178] * (can be moved into VDP from ERAM once), then the save [2179] * statement saves a program image to an external device, [2180] * including all the information the system needs for [2181] * rebuilding the program image on a machine with a [2182] * different memory size, also included is a checksum for [2183] * rudimentary error checking and for PROTECTION VIOLATION [2184] * A sequential SAVE : Maximum-length records are performed [2185] * to write the file and each record is copied into the VDP [2186] * from ERAM before it is written. [2187] *********************************************************** [2188] 8DB8 DA,45,80 SAVE CLOG >80,@FLAG * PROTECTION VIOLATION [2189] 8DBB 57,DB BR ERRPV [2190] 8DBD 06,92,35 CALL GPNAME This will also close all file [2191] * Check SAVE "NAME", MERGE or SAVE "NAME", PROTECTED first [2192] 8DC0 86,A3,B9 CLR [email protected] Clear "PROTECTED" flag [2193] 8DC3 0F,79 XML PGMCHR [2194] 8DC5 8E,42 CZ @CHAT EOL? [2195] 8DC7 6E,2B BS SAZ1 Yes, no need to check any opt [2196] 8DC9 D6,42,B3 CEQ COMMAZ,@CHAT Has to be a comma here [2197] 8DCC 41,09 BR ERRSYN [2198] 8DCE D7,B0,2C DCEQ >C805,V*PGMPTR Unquoted string with length 5 8DD1 C8,05 [2199] * has to be MERGE at this time [2200] 8DD3 4D,F4 BR G8DF4 [2201] 8DD5 D7,E0,02 DCEQ >4D45,[email protected](@PGMPTR) "ME" of MErge 8DD8 2C,4D,45 [2202] * RXB PATCH CODE OPTION ADDED IV254 FOR SAVE 2015 ********* [2203] * SAVE "DSK#.FILENAME",MERGE ! SAVE MERGE FORMAT [2204] * SAVE "DSK#.FILENAME",IV254 ! SAVE IV254 PROGRAM FORMAT [2205] * SAVE "DSK#.FILENAME" ! NORMAL PROGRAM FORMAT OR IV254 [2206] * BR ERRSYN If not : SYNTAX ERROR [2207] 8DDB 5F,7C BR CIV254 CHECK FOR IV254 OPTION [2208] 8DDD D7,E0,04 DCEQ >5247,[email protected](@PGMPTR) "RG" of meRGe 8DE0 2C,52,47 [2209] 8DE3 41,09 BR ERRSYN If not : SYNTAX ERROR [2210] 8DE5 D6,E0,06 CEQ >45,[email protected](@PGMPTR) "E" of mergE 8DE8 2C,45 [2211] 8DEA 41,09 BR ERRSYN If not : SYNTAX ERROR [2212] 8DEC 8E,E0,07 CZ [email protected](@PGMPTR) Check for EOL 8DEF 2C [2213] 8DF0 41,09 BR ERRSYN Not EOL : SYNTAX ERROR [2214] 8DF2 4F,76 BR SAVMG Go to handle this option 99/4 GPL-ASSEMBLER (Pass 3) correct PAGE 0039 FLMGR-359 [2215] * Has to be PROTECTED option here, crunched as unquoted str [2216] 8DF4 D7,B0,2C G8DF4 DCEQ >C809,V*PGMPTR Unquoted string with length 9 8DF7 C8,09 [2217] * has to be PROTECTED [2218] 8DF9 41,09 BR ERRSYN [2219] 8DFB D7,E0,02 DCEQ >5052,[email protected](@PGMPTR) "PR" of PRotected 8DFE 2C,50,52 [2220] 8E01 41,09 BR ERRSYN If not : SYNTAX ERROR [2221] 8E03 D7,E0,04 DCEQ >4F54,[email protected](@PGMPTR) "OT" of prOTected 8E06 2C,4F,54 [2222] 8E09 41,09 BR ERRSYN If not : SYNTAX ERROR [2223] 8E0B D7,E0,06 DCEQ >4543,[email protected](@PGMPTR) "EC" of protECted 8E0E 2C,45,43 [2224] 8E11 41,09 BR ERRSYN If not : SYNTAX ERROR [2225] 8E13 D7,E0,08 DCEQ >5445,[email protected](@PGMPTR) "TE",of protecTEd 8E16 2C,54,45 [2226] 8E19 41,09 BR ERRSYN If not : SYNTAX ERROR [2227] 8E1B D6,E0,0A CEQ >44,[email protected](@PGMPTR) "D" of protecteD 8E1E 2C,44 [2228] 8E20 41,09 BR ERRSYN If not : SYNTAX ERROR [2229] 8E22 8E,E0,0B CZ [email protected](@PGMPTR) Check EOL 8E25 2C [2230] 8E26 41,09 BR ERRSYN [2231] 8E28 90,A3,B9 INC [email protected] [2232] *********************************************************** [2233] 8E2B 8E,80,84 SAZ1 CZ @RAMTOP If ERAM NOT present then [2234] 8E2E 4E,42 BR G8E42 [2235] ***** CLEAR THE BREAKPOINT IN VDP ALONE TO SPEED UP ******* [2236] 8E30 BD,52,30 DST @STLN,@FAC8 End of line # buffer [2237] 8E33 B2,B0,52 G8E33 AND >7F,V*FAC8 Clear the breakpoint 8E36 7F [2238] 8E37 A3,52,00 DADD 4,@FAC8 Move to the next one 8E3A 04 [2239] 8E3B C5,52,32 DCH @ENLN,@FAC8 Until done [2240] 8E3E 4E,33 BR G8E33 [2241] 8E40 4E,69 BR VSAVZ [2242] 8E42 06,A0,20 G8E42 CALL UBSUB Clear the breakpoint in ERAM [2243] 8E45 BD,02,80 DST @RAMTOP,@MNUM Top of memory in ERAM 8E48 84 [2244] 8E49 A5,02,30 DSUB @STLN,@MNUM [2245] 8E4C 91,02 DINC @MNUM # of bytes total in ERAM [2246] 8E4E BD,00,70 DST @HIVDP,@VAR0 Top of memory in VDP [2247] 8E51 A5,00,02 DSUB @MNUM,@VAR0 [2248] 8E54 91,00 DINC @VAR0 [2249] * Check is there enough memory in VDP to move the program [2250] * text and line number table from ERAM to VDP [2251] 8E56 0A GT Not enough memory in VDP for sur [2252] 8E57 4E,B7 BR GSAVE [2253] 8E59 BF,10,0A DST VRAMVS+64+256,@VAR5 * 64 bytes are for safety b 8E5C 98 [2254] [2255] * DSR routine give file error when loading a program which [2256] * VDP maximum size and was saved from VDP to be a program [2257] * on disk when ERAM not exist. In order to fix this proble [2258] * restrict the program memory to be 256 bytes less then th [2259] * real space in VDP when ERAM not exist. [2260] 8E5D C9,00,10 DCHE @VAR5,@VAR0 Not enough memory in VDP, do [2261] * sequential file save [2262] 8E60 4E,B7 BR GSAVE [2263] 8E62 A7,10,00 DSUB 10,@VAR5 * 10 bytes for control informat 8E65 0A [2264] 8E66 06,8F,4A CALL GVMOV Enough memory in VDP, move it [2265] * over and do the normal save l [2266] **************** Without ERAM, or after GVMOV ************* 99/4 GPL-ASSEMBLER (Pass 3) correct PAGE 0040 FLMGR-359 [2267] **************** do the normal save ************* [2268] 8E69 BD,0A,40 VSAVZ DST @FREPTR,@STADDR Store additional control info [2269] 8E6C 93,0A DDEC @STADDR Back up some more for 2 byte [2270] 8E6E BD,B0,0A DST @>8370,V*STADDR First current top of memory 8E71 70 [2271] 8E72 97,0A DDECT @STADDR [2272] 8E74 BD,B0,0A DST @STLN,V*STADDR Then STLN 8E77 30 [2273] 8E78 97,0A DDECT @STADDR [2274] 8E7A BD,B0,0A DST @ENLN,V*STADDR Then ENLN 8E7D 32 [2275] 8E7E 97,0A DDECT @STADDR Then [2276] 8E80 BD,B0,0A DST @STLN,V*STADDR 8E83 30 [2277] 8E84 B9,B0,0A DXOR @ENLN,V*STADDR STLN XORed with ENLN 8E87 32 [2278] 8E88 D6,A3,B9 CEQ 1,[email protected] Check is there PROTECTED opti 8E8B 01 [2279] 8E8C 4E,91 BR G8E91 [2280] 8E8E 83,B0,0A DNEG V*STADDR Negate the CHECKSUM to indica [2281] * LIST/EDIT protection [2282] 8E91 BD,E0,06 G8E91 DST @STADDR,[email protected](@PABPTR) Save start address in P 8E94 04,0A [2283] 8E96 93,0A DDEC @STADDR [2284] 8E98 BD,E0,0A DST @>8370,[email protected](@PABPTR) Compute # of bytes used 8E9B 04,70 [2285] 8E9D A5,E0,0A DSUB @STADDR,[email protected](@PABPTR) and store that in PAB 8EA0 04,0A [2286] 8EA2 8E,80,84 CZ @RAMTOP If ERAM exists then [2287] 8EA5 6E,AD BS G8EAD [2288] 8EA7 BD,30,0C DST @BBB1,@STLN Restore the original STLN, EN [2289] 8EAA BD,32,08 DST @CCC1,@ENLN which points to ERAM [2290] 8EAD 06,97,5E G8EAD CALL IOCALL Call Device Service Routine f [2291] 8EB0 06 BYTE CZSAVE * SAVE operation [2292] 8EB1 06,60,22 LRTOPL CALL KILSYM Release string space/symbol t [2293] 8EB4 05,60,12 B TOPL15 Go back to toplevel [2294] *********************************************************** [2295] * Open the sequential file, set the PAB [2296] * File type : sequential file [2297] * Mode of operation : output [2298] * Data type : internal [2299] * Record type : variable length records [2300] * Logical record length : 254 maximum [2301] 8EB7 31,00,09 GSAVE MOVE 9,[email protected],[email protected](@PABPTR) Build the PAB 8EBA E0,04,04 8EBD 8D,24 [2302] 8EBF 96,E0,05 DECT [email protected](@PABPTR) Put in the correct I/O mode : 8EC2 04 [2303] * Compute the data buffer address [2304] 8EC3 BD,4A,70 DST @>8370,@FAC [2305] 8EC6 A7,4A,00 DSUB 253,@FAC 8EC9 FD [2306] 8ECA BD,E0,06 DST @FAC,[email protected](@PABPTR) 8ECD 04,4A [2307] 8ECF BD,58,4A DST @FAC,@EEE1 Save it for later use in GVWITE [2308] 8ED2 06,97,6B CALL CDSR Call device service routine to o [2309] 8ED5 57,94 BR ERRZ2B Return with ERROR indication in [2310] * Put 8 bytes control info at the [2311] * beginning of the data buffer [2312] 8ED7 BF,B0,4A DST >ABCD,V*FAC >ABCD indentifies a program f 8EDA AB,CD [2313] 8EDC 95,4A DINCT @FAC when doing LOAD later [2314] 8EDE BD,B0,4A DST @STLN,V*FAC Save STLN in control info 8EE1 30 99/4 GPL-ASSEMBLER (Pass 3) correct PAGE 0041 FLMGR-359 [2315] 8EE2 95,4A DINCT @FAC [2316] 8EE4 BD,B0,4A DST @ENLN,V*FAC ENLN too 8EE7 32 [2317] 8EE8 95,4A DINCT @FAC [2318] 8EEA BD,B0,4A DST @STLN,V*FAC 8EED 30 [2319] 8EEE B9,B0,4A DXOR @ENLN,V*FAC Save the checksum 8EF1 32 [2320] 8EF2 D6,A3,B9 CEQ 1,[email protected] Check is there PROTECTED opti 8EF5 01 [2321] 8EF6 4E,FB BR G8EFB [2322] 8EF8 83,B0,4A DNEG V*FAC Negate the CHECKSUM to indica [2323] * the LIST/EDIT protection [2324] 8EFB 95,4A G8EFB DINCT @FAC [2325] 8EFD BD,B0,4A DST @RAMTOP,V*FAC Save the top of memory info 8F00 80,84 [2326] 8F02 BE,E0,09 ST 10,[email protected](@PABPTR) Set the caracter count in PAB 8F05 04,0A [2327] 8F07 06,97,5E CALL IOCALL Call device service routine [2328] 8F0A 03 BYTE CZWRIT * With I/O opcode : write, to s [2329] * the control info for the first reco [2330] * Now start to use maximum-length record to write the file [2331] * and each record is copied into the VDP from ERAM bofore i [2332] * is written [2333] 8F0B BD,54,30 DST @STLN,@DDD1 Starting address on ERAM [2334] * DST @>8370,@EEE1 @EEE1 has been set up before [2335] * DST 253,@EEE1 Starting address of the data [2336] * buffer on VDP [2337] 8F0E BD,08,80 DST @RAMTOP,@CCC1 8F11 84 [2338] 8F12 A5,08,30 DSUB @STLN,@CCC1 [2339] 8F15 91,08 DINC @CCC1 [2340] 8F17 BE,E0,09 ST 254,[email protected](@PABPTR) Set the character count of P 8F1A 04,FE [2341] 8F1C BF,56,00 G8F1C DST 254,@FFF1 @FFF1 byte count 8F1F FE [2342] 8F20 0F,8B XML GVWITE Move data from ERAM to VDP [2343] 8F22 06,97,5E CALL IOCALL Call device service routine [2344] 8F25 03 BYTE CZWRIT [2345] 8F26 A3,54,00 DADD 254,@DDD1 Update the source addr on ERA 8F29 FE [2346] 8F2A A7,08,00 DSUB 254,@CCC1 # of bytes left to move 8F2D FE [2347] 8F2E 6F,44 BS GSAV1 No more bytes to save [2348] 8F30 CB,08,00 DCHE 254,@CCC1 Leave the last record alone 8F33 FE [2349] 8F34 6F,1C BS G8F1C [2350] * Move the last @CCC1 bytes from ERAM to VDP [2351] 8F36 BD,56,08 DST @CCC1,@FFF1 @FFF1 : Byte count [2352] 8F39 0F,8B XML GVWITE Write data from ERAM to VDP [2353] 8F3B BC,E0,09 ST @CCC1+1,[email protected](@PABPTR) Update the character cou 8F3E 04,09 [2354] * in PAB [2355] 8F40 06,97,5E CALL IOCALL Call device service routine [2356] 8F43 03 BYTE CZWRIT [2357] 8F44 06,97,5E GSAV1 CALL IOCALL [2358] 8F47 01 BYTE CZCLOS * Close the file [2359] 8F48 4E,B1 BR LRTOPL Continue [2360] *********************************************************** [2361] * Move the program text & line # table to VDP, and relocate [2362] 8F4A BD,0C,30 GVMOV DST @STLN,@BBB1 Save STLN, ENLN for later use [2363] 8F4D BD,08,32 DST @ENLN,@CCC1 [2364] 8F50 BD,54,30 DST @STLN,@DDD1 Source addr on ERAM [2365] 8F53 BD,58,10 DST @VAR5,@EEE1 Destination addr on VDP 99/4 GPL-ASSEMBLER (Pass 3) correct PAGE 0042 FLMGR-359 [2366] 8F56 BD,0A,58 DST @EEE1,@STADDR Use later for RELOCA [2367] 8F59 BD,56,80 DST @RAMTOP,@FFF1 8F5C 84 [2368] 8F5D A5,56,30 DSUB @STLN,@FFF1 # of bytes to move [2369] 8F60 91,56 DINC @FFF1 @FFF1 : byte count for GVWITE [2370] 8F62 0F,8B XML GVWITE Move from ERAM to VDP [2371] 8F64 BD,A3,BC DST @RAMTOP,[email protected] Set up @RAMTOP for old top 8F67 80,84 [2372] * of memory [2373] 8F69 BD,A3,BE DST @>8370,[email protected] Set up @>8370 for new top 8F6C 70 [2374] * of memory [2375] 8F6D 06,8D,36 CALL RELOCA Relocate the program [2376] 8F70 BD,40,30 DST @STLN,@FREPTR Set up @FREPTR [2377] 8F73 93,40 DDEC @FREPTR [2378] 8F75 00 RTN [2379] *********************************************************** [2380] * Save the crunched form of a program into a file. [2381] * Move the line number and text to the crunch buffer, then [2382] * write to the file one line at a time. [2383] *********************************************************** [2384] * Open the file with: [2385] * I/O opcode : OPEN [2386] * File type : SEQUENTIAL file [2387] * Mode of operation : OUTPUT [2388] * Data type : DISPLAY type data [2389] * Record type : VARIABLE LENGTH records [2390] * Data buffer address : Crunch buffer address [2391] * Logical record length : 163 (length of curnch buffer + 2 [2392] * bytes for line #) maximum [2393] 8F76 31,00,09 SAVMG MOVE 9,[email protected],[email protected](@PABPTR) Build PAB 8F79 E0,04,04 8F7C 8F,F9 [2394] 8F7E 06,97,65 CALL IOCLZ1 Call the DSR routine to open fil [2395] 8F81 BD,50,32 DST @ENLN,@FAC6 Start from the first line # [2396] 8F84 A7,50,00 DSUB 3,@FAC6 @FAC6 now points to the 1st line 8F87 03 [2397] * Write to the file from crunch bu [2398] * one line at a time [2399] 8F88 86,00 G8F88 CLR @VAR0 Make it a two byte later [2400] 8F8A 8E,80,84 CZ @RAMTOP If ERAM exists then [2401] 8F8D 6F,B6 BS G8FB6 [2402] 8F8F BD,54,50 DST @FAC6,@DDD1 Write the 4 bytes (line # and [2403] * line pointer) from ERAM to [2404] * crunch buffer [2405] * @DDD1 : Source address on ERA [2406] 8F92 BF,58,08 DST CRNBUF,@EEE1 @EEE1 : Destination address 8F95 20 [2407] * on VDP [2408] 8F96 BF,56,00 DST 4,@FFF1 @FFF1 : byte count 8F99 04 [2409] 8F9A 0F,8B XML GVWITE Write data from ERAM to VDP [2410] 8F9C BD,54,A8 DST [email protected]+2,@DDD1 Line pointer now points to 8F9F 22 [2411] * length byte [2412] 8FA0 93,54 DDEC @DDD1 Get the length of this line [2413] * @DDD1 : Source address on ERA [2414] 8FA2 91,56 DINC @FFF1 @FFF1 : Byte count, coming ba [2415] * from GVWITE above, =0 [2416] 8FA4 0F,8C XML GREAD1 Read the length byte from ERA [2417] 8FA6 BC,01,58 ST @EEE1,@VAR0+1 @EEE1 : Destination addr on C [2418] 8FA9 BF,58,08 DST CRNBUF+2,@EEE1 Write the text from ERAM to 3 8FAC 22 [2419] * byte of crunch buffer 99/4 GPL-ASSEMBLER (Pass 3) correct PAGE 0043 FLMGR-359 [2420] * @EEE1 : Destination addr on V [2421] * @DDD1 : Source addr on ERAM [2422] 8FAD 91,54 DINC @DDD1 Back to point to the text [2423] 8FAF BD,56,00 DST @VAR0,@FFF1 @FFF1 : Byte count [2424] 8FB2 0F,8B XML GVWITE Write data from ERAM to VDP [2425] 8FB4 4F,CD BR G8FCD ERAM not exist : line # table [2426] * and text in VDP [2427] 8FB6 BD,A8,20 G8FB6 DST V*FAC6,[email protected] PUT THE LINE # IN 8FB9 B0,50 [2428] 8FBB BD,4C,E0 DST [email protected](@FAC6),@FAC2 Get the line pointer out 8FBE 02,50 [2429] 8FC0 93,4C DDEC @FAC2 Line pointer now points to th [2430] * length byte [2431] 8FC2 BC,01,B0 ST V*FAC2,@VAR0+1 Get the length out 8FC5 4C [2432] * Move the text into the crunch buffer [2433] 8FC6 34,00,A8 MOVE @VAR0,[email protected](@FAC2),[email protected]+2 8FC9 22,E0,01 8FCC 4C [2434] 8FCD B2,A8,20 G8FCD AND >7F,[email protected] Reset possible breakpoint 8FD0 7F [2435] 8FD1 95,00 DINCT @VAR0 * Total length=text length+line # len [2436] 8FD3 BC,E0,09 ST @VAR0+1,[email protected](@PABPTR) Store in the cahracter c 8FD6 04,01 [2437] 8FD8 06,97,5E CALL IOCALL Call the device service routi [2438] 8FDB 03 BYTE CZWRIT * Write [2439] 8FDC A7,50,00 DSUB 4,@FAC6 Go to the next line # 8FDF 04 [2440] 8FE0 C9,50,30 DCHE @STLN,@FAC6 Finish moving all [2441] 8FE3 6F,88 BS G8F88 [2442] 8FE5 BF,A8,20 DST >FFFF,[email protected] Set up a EOF for the last rec 8FE8 FF,FF [2443] 8FEA BE,E0,09 ST 2,[email protected](@PABPTR) Only write this 2 bytes 8FED 04,02 [2444] 8FEF 06,97,5E CALL IOCALL Call the device service routi [2445] 8FF2 03 BYTE CZWRIT * Write [2446] 8FF3 06,97,5E CALL IOCALL Call the device service routi [2447] 8FF6 01 BYTE CZCLOS * Close the file [2448] 8FF7 4E,B1 BR LRTOPL Go back to top level [2449] 8FF9 00,12,08 PAB1 BYTE >00,>12,>08,>20,>A3,>00,>00,>00,>60 * DV163 8FFC 20,A3,00 8FFF 00,00,60 [2450] * >0820 = CRNBUF [2451] * >A3 = 163 [2452] * >60 = OFFSET Look at >8C6C to >8C96 several flags and control flags may be not set or no longer compute correctly due to changes.
  3. Just so you know here is the Editor Assembler Error routing and those errors: [1553] *********************************************************** [1554] * ERRORS [1555] * [1556] F32E 06,E8,1F GE8A8 CALL EASCRN [1557] F331 06,F4,CA CALL WENTER [1558] F334 40,86 BR GE029 [1559] F336 06,E8,1F GE8B0 CALL EASCRN [1560] F339 06,F3,88 GE8B3 CALL GE8FC [1561] F33C CA,22,08 CHE >08,@CODE [1562] F33F 53,E4 BR CHKERR [1563] F341 A6,22,08 SUB >08,@CODE [1564] F344 C6,22,05 CH >05,@CODE 99/4 GPL-ASSEMBLER (Pass 3) correct PAGE 0036 Rich E/A GROM [1565] F347 73,5A BS GE8D4 [1566] F349 06,F4,37 CALL CLSALL [1567] F34C 8A,22 CASE @CODE [1568] F34E 53,96 BR GE90F [1569] F350 53,8F BR GE908 [1570] F352 53,AF BR GE928 [1571] F354 53,B6 BR GE92F [1572] F356 53,BD BR GE936 [1573] F358 53,C4 BR GE93D [1574] F35A DA,48,20 GE8D4 CLOG >20,@FLAG [1575] F35D 49,CA BR GE767 [1576] F35F DA,49,01 CLOG >01,@FLAG2 [1577] F362 4A,14 BR LANDR [1578] F364 06,F4,53 CALL CLSPAB [1579] F367 43,8D BR EDITOR [1580] F369 06,F3,88 GE8E3 CALL GE8FC [1581] F36C 06,E8,1F CALL EASCRN [1582] F36F D6,22,0F CEQ >0F,@CODE [1583] F372 53,7B BR GE8F5 [1584] F374 06,F4,73 CALL ERRMSG [1585] F377 F7,44 DATA ERRPNF * ERROR PROGRAM NOT FOUND [1586] F379 53,D0 BR GE949 [1587] F37B 06,F4,73 GE8F5 CALL ERRMSG [1588] F37E F6,DA DATA ERRC [1589] F380 40,86 BR GE029 [1590] F382 06,F3,88 CALL GE8FC [1591] F385 05,E0,86 B GE029 [1592] F388 39,00,01 GE8FC MOVE 1,[email protected],#1 F38B 01,F7,94 [1593] F38E 00 GE907 RTN [1594] F38F 06,F4,67 GE908 CALL WRNMSG [1595] F392 F6,E5 DATA CCRMSG * WARNING CONTROL CHARACTERS REMOVED [1596] F394 53,5A BR GE8D4 [1597] F396 06,F4,73 GE90F CALL ERRMSG [1598] F399 F6,9D DATA ERRMF * ERROR MEMORY FULL [1599] F39B 53,5A BR GE8D4 [1600] F39D 06,F4,73 GE916 CALL ERRMSG [1601] F3A0 F7,44 DATA ERRPNF * ERROR PROGRAM NOT FOUND [1602] F3A2 40,6F BR OLDEA [1603] F3A4 DA,48,08 GE91D CLOG >08,@FLAG [1604] F3A7 53,A9 BR GE9E2 [1605] F3A9 06,F4,73 GE9E2 CALL ERRMSG [1606] F3AC F6,B8 DATA ERRNME * ERROR NO MEMORY EXPANSION [1607] F3AE 0B EXIT [1608] F3AF 06,F4,73 GE928 CALL ERRMSG [1609] F3B2 F6,FF DATA ERRIT * ERROR ILLEGAL TAG [1610] F3B4 4A,14 BR LANDR [1611] F3B6 06,F4,73 GE92F CALL ERRMSG [1612] F3B9 F7,0B DATA ERRCE * CHECKSUM ERROR [1613] F3BB 4A,14 BR LANDR [1614] F3BD 06,F4,73 GE936 CALL ERRMSG [1615] F3C0 F7,1A DATA ERRDD * ERROR DUPLICATE DEFINITION [1616] F3C2 4A,14 BR LANDR [1617] F3C4 06,F4,73 GE93D CALL ERRMSG [1618] F3C7 F7,2F DATA ERRUR * ERROR UNRESOLVED REFERENCE [1619] F3C9 4A,14 BR LANDR [1620] F3CB 06,F4,73 GE944 CALL ERRMSG [1621] F3CE F6,CC DATA ERRNTL * ERROR NAME TO LONG [1622] F3D0 8F,50 GE949 DCZ @FAC6 [1623] F3D2 73,DF BS GE958 [1624] F3D4 BE,B0,4E ST SPACE,V*FAC4 F3D7 20 [1625] F3D8 34,50,E0 MOVE @FAC6,V*FAC4,[email protected](@FAC4) F3DB 01,4E,B0 99/4 GPL-ASSEMBLER (Pass 3) correct PAGE 0037 Rich E/A GROM F3DE 4E [1626] F3DF 06,F4,DC GE958 CALL CLRMSG [1627] F3E2 4A,8B BR GE848 [1628] F3E4 8E,44 CHKERR CZ @>8344 * Check Search flag [1629] F3E6 73,EF BS CHKER2 * Yes, normal error [1630] F3E8 90,44 INC @>8344 * Drive # + 1 [1631] F3EA CA,44,3A CHE 58,@>8344 * Last drive? [1632] F3ED 4C,59 BR MYSRCH * No, continue Search [1633] F3EF BC,4E,E0 CHKER2 ST [email protected](@PABPTR),@FAC4 F3F2 01,1C [1634] F3F4 B2,4E,E0 AND >E0,@FAC4 [1635] F3F7 E6,4E,05 SRL >05,@FAC4 [1636] F3FA B6,4E,30 OR >30,@FAC4 [1637] F3FD B2,E0,01 AND >1F,[email protected](@PABPTR) F400 1C,1F [1638] F402 D6,4E,35 CEQ >35,@FAC4 Error Read past EOF [1639] F405 54,14 BR GE97A [1640] F407 06,F4,37 CALL CLSALL [1641] F40A D6,47,01 CEQ 1,@LDFLAG [1642] F40D 43,8D BR EDITOR EDITOR [1643] F40F D6,47,02 CEQ 2,@LDFLAG [1644] F412 48,54 BR ASSEM ASSEMBLER [1645] F414 06,F4,73 GE97A CALL ERRMSG [1646] F417 F6,A9 DATA ERRIOC * I O ERROR CODE [1647] F419 D6,47,01 CEQ 1,@LDFLAG [1648] F41C 63,8D BS EDITOR [1649] F41E D6,47,02 CEQ 2,@LDFLAG [1650] F421 68,54 BS ASSEM [1651] F423 06,F4,37 GE97F CALL CLSALL [1652] F426 DA,48,20 CLOG >20,@FLAG [1653] F429 40,6F BR OLDEA [1654] F42B DA,49,01 CLOG >01,@FLAG2 [1655] F42E 4A,14 BR LANDR [1656] F430 DA,49,08 CLOG >08,@FLAG2 [1657] F433 40,6F BR OLDEA [1658] F435 43,8D BR EDITOR [1659] F437 06,F5,2B CLSALL CALL P1000 [1660] F43A 06,F4,53 CALL CLSPAB [1661] F43D BF,1C,11 DST >1100,@PABPTR F440 00 [1662] F441 06,F4,53 CALL CLSPAB [1663] F444 BF,1C,12 DST >1200,@PABPTR F447 00 [1664] F448 06,F4,53 CALL CLSPAB [1665] F44B BF,1C,13 DST >1300,@PABPTR F44E 00 [1666] F44F 06,F4,53 CALL CLSPAB [1667] F452 00 RTN [1668] F453 BD,56,1C CLSPAB DST @PABPTR,@VPAB [1669] F456 A3,56,00 DADD >0009,@VPAB F459 09 [1670] F45A BE,B0,1C ST >01,V*PABPTR F45D 01 [1671] F45E 06,00,10 CALL DSRLNK [1672] F461 08 BYTE >08 [1673] F462 86,E0,09 CLR [email protected]>0009(@PABPTR) F465 1C [1674] F466 00 RTN [1675] F467 06,F4,DC WRNMSG CALL CLRMSG [1676] F46A 31,00,0B MOVE 11,[email protected],[email protected]>02A2 F46D A2,A2,F6 F470 92 [1677] F471 54,7D BR GE9DA [1678] F473 06,F4,DC ERRMSG CALL CLRMSG 99/4 GPL-ASSEMBLER (Pass 3) correct PAGE 0038 Rich E/A GROM [1679] F476 31,00,09 MOVE 9,[email protected],[email protected]>02A2 F479 A2,A2,F6 F47C 60 [1680] F47D 88,4A GE9DA FETCH @FAC [1681] F47F 88,4B FETCH @FAC1 [1682] F481 86,4C CLR @FAC2 [1683] F483 33,00,01 MOVE 1,[email protected](@FAC),@FAC3 F486 4D,00,00 F489 4A [1684] F48A 32,4C,A2 MOVE @FAC2,[email protected](@FAC),[email protected]>02C2 F48D C2,00,01 F490 4A [1685] F491 D7,4A,F6 DCEQ ERRIOC,@FAC F494 A9 [1686] F495 54,9B BR GE9F8 [1687] F497 BC,A2,D2 ST @FAC4,[email protected]>02D2 F49A 4E [1688] F49B D7,4A,F6 GE9F8 DCEQ ERRC,@FAC F49E DA [1689] F49F 54,CA BR WENTER [1690] F4A1 E7,22,00 DSRL >0004,@CODE F4A4 04 [1691] F4A5 E6,23,04 SRL >04,@>8323 [1692] F4A8 C6,22,09 CH >09,@CODE [1693] F4AB 54,B5 BR GEA12 [1694] F4AD C6,22,0F CH >0F,@CODE [1695] F4B0 74,CA BS WENTER [1696] F4B2 A2,22,07 ADD >07,@CODE [1697] F4B5 C6,23,09 GEA12 CH >09,@>8323 [1698] F4B8 54,C2 BR GEA1F [1699] F4BA C6,23,0F CH >0F,@>8323 [1700] F4BD 74,CA BS WENTER [1701] F4BF A2,23,07 ADD >07,@>8323 [1702] F4C2 A3,22,30 GEA1F DADD >3030,@CODE F4C5 30 [1703] F4C6 BD,A2,D0 DST @CODE,[email protected]>02D0 F4C9 22 [1704] * Wait for ENTER [1705] F4CA 31,00,17 WENTER MOVE 23,[email protected],[email protected]>02E2 F4CD A2,E2,F6 F4D0 7B [1706] F4D1 03 GEA2E SCAN [1707] F4D2 54,D1 BR GEA2E [1708] F4D4 D6,75,0D CEQ >0D,@KEY [1709] F4D7 54,D1 BR GEA2E [1710] F4D9 05,E0,25 B SETUP CHANGED FROM RETURN [1711] ***************************************
  4. These lines check to see if it is an TI99 or TI99/4A computer: CEQ >01,[email protected] 99/4A console? BR G6939 NO I could post the GPL code that loads the Cursor character, but what would be the point. Not many like the Console Character set, especially the lower case ones. I did release a patch years ago for PGRAM or GRAMULATOR to load a alternate set of these into GROM 0, and wondered why some carts do not do this. You know replace TI Basic with EA cart and Disk Manager or something else. Any way we both know this stuff I think, this was just for others that may not have known.
  5. LOL you do know I have the ORIGINAL and I was the one that released the XB source code (GROMs and Assembly ROMs) to the public right? RXB 2012 and RXB 2015 do not use the original XB routines to load character sets. This is the original XB source in GPL for Loading Color, Characters and Sprites. ************************************************************* * Data for the color tables (starts at >0800) * * BYTE >D0,>00,>00,>00,>00,>00,>00,>00 * * BYTE >00,>00,>00,>00,>00,>00,>00,>10 * * BYTE >10,>10,>10,>10,>10,>10,>10,>10 * * BYTE >10,>10,>10,>10,>10,>10,>10,>10 * ************************************************************* CHRTA2 ALL >20+OFFSET Clear the screen DST >3567,@>83C0 Initialize random number gen MOVE 16,[email protected],[email protected]>03F0 Cursor character CHRTAB DST >0400,@FAC Address of chracater tables CALL CHAR2Z Load the character set CEQ >01,[email protected] 99/4A console? BR G6939 NO DST >0600,@FAC Load the lowercase char set CALL CHAR3Z G6939 BACK 4 Border color = BLUE CLR [email protected]>0800 MOVE 14,[email protected]>0800,[email protected]>0801 ST >F0,[email protected]>080F WHITE fore/transparent back MOVE 16,[email protected]>080F,[email protected]>0810 CALL SPRINT * This part might be moved up later, load special characters * here. Don't load before hiding all sprites. MOVE 6,[email protected],#1 RTN * ****** Initialization of sprites. Enable 28 sprites. ******** * SPRINT CLR [email protected]>0780 Clear motion of all sprites MOVE >6F,[email protected]>0780,[email protected]>0781 * Replace the line for speeding up XB. 5/22/81 * ST 28,@MOTION All in motion CLR @MOTION All not in motion ST >D0,[email protected]>0370 Sprites 29 to 32 unavailiable DST >C000,[email protected]>0300 Hide the first sprites DCLR [email protected]>0302 Make first sprite transparent MOVE 108,[email protected]>0300,[email protected]>0304 Ripple for the rest RTN
  6. Turns out many people have different preferences for fonts. One of my pet peeves is fonts that touch above and below like when descenders on lower case seem to merge into next line down Capitals. Also if the fonts look way to blocky. RXB has fonts you can see in source and load your own if you choose it shows you the location and are 6 x 7 bytes for each character to save GROM space. (XB loaded 8x8 characters even though >00 was on top of every single character wasting a ton of GROM space in XB Module.)
  7. In games oddball character names are always a big problem. Like in a RAID you are leader and need to Whisper to someone and you need the FONT set he used to make his name in Russian! So switch from US English Font to Russian Font to type his name then back to US English Font to talk to him.....INSANE!
  8. How are the pages set up in the bigger 4Meg card? Current RXB docs say this: PAGE SAMS1 SAMS MAPPER ****************************************************************** The SAMS card has tons of documents as to its function and use. So to re-explain these docs would be pointless. Read the docs or find some, sorry but the RXB package is already huge. In PASS mode the mapper register setup is equivalent to: mapper address mapper page num address range -------------- ------ -------- ------------- HEX Dec HEX Dec memory area --- --- --- --- ----------- >4004 = 16388 is MR02 = >02 = 02 points to >2000 - >2FFF range >4006 = 16390 is MR03 = >03 = 03 points to >3000 - >3FFF range >4014 = 16404 is MR10 = >0A = 10 points to >A000 - >AFFF range >4016 = 16406 is MR11 = >0B = 11 points to >B000 - >BFFF range >4018 = 16408 is MR12 = >0C = 12 points to >C000 - >CFFF range >401A = 16410 is MR13 = >0D = 13 points to >D000 - >DFFF range >401C = 16412 is MR14 = >0E = 14 points to >E000 - >EFFF range >401E = 16414 is MR15 = >0F = 15 points to >F000 - >FFFF range (MR=Mapper Register) In MAP mode the mapper register setup is equivalent to: EXAMPLE1 mapper address mapper page num address range -------------- ------ -------- ------------- HEX Dec HEX Dec memory area --- --- --- --- ----------- >4004 = 16388 is MR02 = >10 = 16 points to >2000 - >2FFF range >4006 = 16390 is MR03 = >11 = 17 points to >3000 - >3FFF range >4014 = 16404 is MR10 = >12 = 18 points to >A000 - >AFFF range >4016 = 16406 is MR11 = >13 = 19 points to >B000 - >BFFF range >4018 = 16408 is MR12 = >14 = 20 points to >C000 - >CFFF range >401A = 16410 is MR13 = >15 = 21 points to >D000 - >DFFF range >401C = 16412 is MR14 = >16 = 22 points to >E000 - >EFFF range >401E = 16414 is MR15 = >17 = 23 points to >F000 - >FFFF range (MR=Mapper Register)
  9. RXB

    Raycaster

    Is this Multicolor mode?
  10. I had the Corcomp 512K RAMDISK, it was super fast, faster then the Myarc 512K RAMDISK. I think due to less DSR overhead as a slow down.
  11. INCORRECT! TI Basic, XB, Basic Support Module, TEII, Editor Assembler, TI Writer and Mini Memory plus many others all support GPL DSR.
  12. TI Debugger card also from >FFFF down to >FFE8 8 bytes are allotted from XB for that card. Also EA Cart.
  13. RXB 2001 to RXB 2015 has CALL PSAVE and CALL PLOAD for 8K saved to disk or hard drive. A CALL LOAD can save or load these values to Lower 8K, or faster use RXB CALL MOVES to fetch any length to be moves somewhere else like VDP to be read by Speech Synthesizer.
  14. The lack of memory on F18 is a real problem. Other graphic modes the 9938 and 9958 were in line with the 9918 in design thus allowing 4 times the size number of pixels and in every Graphic mode including interlaced modes. I was easy to tie GPL to the 9938 and 9958 as the code was very similar to 9918 and just larger numbers for programming ease. F18 is a great additional device, but pales in comparison to 9938 or 9958 in results or screen size or memory.
  15. Assembly sucks at DSR unless you have a GPL DSRLNK DSR from Miller Graphics. This has been stated for over 20 years as a fact. Assembly DSR only find ROM DSR and nothing else, hence why the suck.
×
×
  • Create New...