flashjazzcat Posted August 2, 2019 Share Posted August 2, 2019 And they didn't even get a speed boost. 1 Quote Link to comment Share on other sites More sharing options...
drpeter Posted August 2, 2019 Share Posted August 2, 2019 26 minutes ago, flashjazzcat said: And they didn't even get a speed boost. No, it just seemed that way- with BBC BASIC being pretty swift, by the time the TV had warmed up again and the screen reappeared, the routine had magically completed...? Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted August 2, 2019 Share Posted August 2, 2019 22 minutes ago, drpeter said: with BBC BASIC being pretty swift The scrolling (when listing a BASIC program) was the thing that knocked me out the most at school. It was actually a little too fast. I'm sure the Atari could scroll every bit as quickly with an optimised screen handler and a dynamic display list (instead of copying 920 bytes every time the display moves up by one line). Quote Link to comment Share on other sites More sharing options...
drpeter Posted August 2, 2019 Share Posted August 2, 2019 7 minutes ago, flashjazzcat said: I'm sure the Atari could scroll every bit as quickly with an optimised screen handler and a dynamic display list I got the impression that most stock Atari firmware was built for comfort, not for speed... It was a nice system to program in BASIC, but frustratingly slow-running. Turbo BASIC when it appeared was a revelation. Quote Link to comment Share on other sites More sharing options...
JamesD Posted August 2, 2019 Share Posted August 2, 2019 5 hours ago, drpeter said: On the contrary, it's an interesting one. Someone gives the impression of thinking it would be an 'unfair' rule not to be 'allowed' to blank the screen. I'm interested in why that is, not upset by it. If you have a program that takes a long time to complete a task without prompting the user, you might want to give the user the option of whether or not to disable the display. Leaving a program to run overnight... as long as you know the program works, it might not matter if the display is on. You would probably turn off the monitor anyway. But it would also be nice to know if the program is stuck in an endless loop, or if it has died. I see no reason why you couldn't test with, and without this. The Plus/4 could also turn off the display to run a program faster. If they hadn't slowed the BASIC down so bad to support RAM under ROM, it would have been a fast machine. Quote Link to comment Share on other sites More sharing options...
Faicuai Posted August 2, 2019 Share Posted August 2, 2019 (edited) 4 hours ago, drpeter said: No, it just seemed that way- with BBC BASIC being pretty swift, by the time the TV had warmed up again and the screen reappeared, the routine had magically completed...? The "Beeb" (my favorite non-U.S. 8-bit computer) operates with a full 32 Kbytes system ROM foot-print that includes OS and Basic. Without considering the fact that it was built around more expensive / harder to get "fast" RAM components (and system architecture), that can actually be accesses at full speed, without slowing down or halting its 2Mhz 6502... However, throw in a demo like Atari's SuperBoink (where the 6502, ANTIC & chipset effectively multi-task by enabling concurrent scrolling and movement in multiple dimensions), and just watch how the Beeb chokes to death. Just different architectures, capable of different things... But you can still grant full speed to 6502 on Atari, when needed and valuable... and at will! That's the point, and that is absolutely just fine! Super Boink.atr Edited August 2, 2019 by Faicuai Quote Link to comment Share on other sites More sharing options...
JamesD Posted August 2, 2019 Share Posted August 2, 2019 13 minutes ago, Faicuai said: The "Beeb" (my favorite non-U.S. 8-bit computer) operates with a full 32 Kbytes system ROM foot-print that includes OS and Basic. Without considering the fact that it was built around more expensive / harder to get "fast" RAM components (and system architecture), that can actually be accesses at full speed, without slowing down or halting its 2Mhz 6502... However, throw in a demo like Atari's SuperBoink (where the 6502, ANTIC & chipset effectively multi-task by enabling concurrent scrolling and movement in multiple dimensions), and just watch how the Beeb chokes to death. Just different architectures, capable of different things... But you can still grant full speed to 6502 on Atari, when needed and valuable. That's the point! Yeah, seems to me the story went that the fast RAM was so new, and difficult to get, that it was hand delivered for the prototype. Quote Link to comment Share on other sites More sharing options...
drpeter Posted August 2, 2019 Share Posted August 2, 2019 1 minute ago, Faicuai said: The "Beeb" (my favorite non-U.S. 8-bit computer) operates with a full 32 Kbytes system ROM foot-print that includes OS and Basic. Without considering the fact that it was built around more expensive / harder to get "fast" RAM components (and system architecture), that can actually be accesses at full speed, without slowing down or halting its 2Mhz 6502... However, throw in a demo like Atari's SuperBoink (where the 6502, ANTIC & chipset effectively multi-task by enabling concurrent scrolling and movement in multiple dimensions), and just watch how the Beeb chokes to death. Just different architectures, capable of different things... But you can still grant full speed to 6502 on Atari, when needed and valuable. That's the point! Super Boink.atr 90.02 kB · 0 downloads Agree with every point. Furthermore, the Beeb had a couple of years of tech progress over the Atari line. When it appeared in the UK, the model B was priced somewhere between the 400 & the 800, but the prices of Atari hardware then plummeted here due to competition from the C64 & Beeb. A 48K Atari 800 went from £600 to £300 in 6 months 1982/3. Both good machines with very different design priorities in both hardware and firmware. The Beeb was aimed very much at home/school programming and a flexible expansion architecture. One of the main design constraints on Atari's BASIC was that it all had to be crammed into an 8K cartridge (less the 2K of infamously inefficient OS floating point routines). But the Atari was the one I loved- in part because I had mine before the Beeb or C64 appeared. Quote Link to comment Share on other sites More sharing options...
drpeter Posted August 2, 2019 Share Posted August 2, 2019 13 minutes ago, drpeter said: One of the main design constraints on Atari's BASIC was that it all had to be crammed into an 8K cartridge (less the 2K of infamously inefficient OS floating point routines). By way of comparison, Atari Microsoft BASIC II was in its full implementation 27K- being 16K ROM on cartridge plus another 11K running simultaneously off disk... BBC BASIC was 16K IIRC Trade-off was that Beeb was constrained by <32K user RAM. Quote Link to comment Share on other sites More sharing options...
Faicuai Posted August 2, 2019 Share Posted August 2, 2019 (edited) 27 minutes ago, drpeter said: By way of comparison, Atari Microsoft BASIC II was in its full implementation 27K- being 16K ROM on cartridge plus another 11K running simultaneously off disk... BBC BASIC was 16K IIRC Trade-off was that Beeb was constrained by <32K user RAM. The Beeb was (and is), in my opinion, a little, kick-ass computer, that gram-by-gram, byte-for-byte did same (or I would say more) than almost all of its competing products, with whatever resources it had. They (system architects) new they could not use a chassis like Apple II for expansions, that they also needed to meet some design principles / standards geared towards the classroom... yet they managed to fit the machine with a MYRIAD of system expansion ports (e.g. "The Tube", to mention just one), and even went as far as fitting TWO God-damned cart ports, just like the 800 !!! Talk about solid British engineering! Its Basic ROM is close to 16 Kbytes, if I recall correctly (double of the Atari's puny 8 Kbytes). Larger, true, but I believe they did not waste a single byte, and came out with an ass-kicking Basic that ran wicked fast, compared to its competition. In short, the Beeb (graphics aside) resembles much more the Atari 1400XL we all wanted at some point, than even the 800XL or 1200XL (!) And when comparing it to the 800 / XL (especially with Basic), we will need EVERY f-bit of help we can, more so if we conduct performance comparisons constrained to Atari's 16KB + 8KB rom space (e.g. Basic, programming, linear tasks, etc.) Edited August 2, 2019 by Faicuai Quote Link to comment Share on other sites More sharing options...
drpeter Posted August 2, 2019 Share Posted August 2, 2019 49 minutes ago, JamesD said: I see no reason why you couldn't test with, and without this. Indeed, all variations might be interesting as long as the endless possibilities don't spiral out of control. There are also, as the _Doctor__ mentioned, halfway-houses that minimise DMA to various extents while not entirely cutting off feedback. I guess the quickest and dirtiest 'stock' one would be to invoke Graphics 3, which achieves ~75% of the full time gain achieved by turning off DMA entirely (from a baseline of Graphics 0) Some interesting benchmarks, for the actual sort alone, using the 'hideously slow' code posted earlier for 891 names and in Altirra 3.20 XL/64K/Atari BASIC Rev.C, Turbo Compiler 1.1: Uncompiled, Graphics 0, DMA active: 4414 seconds Uncompiled, Graphics 3, DMA active: 3444 seconds Uncompiled, Graphics 0, DMA inactive: 3243 seconds Compiled, Graphics 0, DMA active: 616 seconds Compiled, Graphics 3, DMA active: 496 seconds Compiled, Graphics 0, DMA inactive: 452 seconds Quote Link to comment Share on other sites More sharing options...
drpeter Posted August 2, 2019 Share Posted August 2, 2019 46 minutes ago, Faicuai said: I believe they did not waste a single byte, and came out with an ass-kicking Basic that ran wicked fast, compared to its competition. IIRC they spent a lot of time on speed optimisations, in BASIC and OS, including unrolling short loops- which was partly how they ended up with a massive 32K ROM. Although within an equivalent or smaller footprint it was still well ahead of Microsoft BASICs of the time in both speed and features. Even had an integrated assembler with free-mixing of BASIC & Assembler code! Quote Link to comment Share on other sites More sharing options...
TheNameOfTheGame Posted August 3, 2019 Share Posted August 3, 2019 17 hours ago, drpeter said: No, not at all. It's the whole point. It's all for fun. But 'the rules' governing the extent of the system's capabilities are both arbitrary and unimportant so long as they contribute to the fun. Possibly, part of the fun is in agreeing beforehand what 'the rules' (i.e. the arbitrary constraints) are if you're going to have a competition. Otherwise, how to judge between turning off screen DMA vs. a 1MB memory expansion vs. patching the ROM vs compiling code vs. running in an emulator at full speed as a means of speeding things up? It's all good. I probably overreacted lol. This is a public forum after all. It makes for interesting conversation with the back and forth. Have a great weekend and hope you stay interested in Atari computers! Quote Link to comment Share on other sites More sharing options...
Faicuai Posted August 3, 2019 Share Posted August 3, 2019 10 hours ago, JamesD said: If you have a program that takes a long time to complete a task without prompting the user, you might want to give the user the option of whether or not to disable the display. Leaving a program to run overnight... as long as you know the program works, it might not matter if the display is on. You would probably turn off the monitor anyway. But it would also be nice to know if the program is stuck in an endless loop, or if it has died. I see no reason why you couldn't test with, and without this. The Plus/4 could also turn off the display to run a program faster. If they hadn't slowed the BASIC down so bad to support RAM under ROM, it would have been a fast machine. Or even better and simpler... Allow the user to turn ON and/or OFF the screen, on-the-fly, at will, independently of the task being executed (assuming core OS-tasks still active). That's exactly what you can do with the ROMs I included on the prior .ATR attached... They leverage vestigial functionality left intact since the creation of 1200XL ROM, all the way to XEGS ROM v04 (!) Quote Link to comment Share on other sites More sharing options...
Faicuai Posted August 3, 2019 Share Posted August 3, 2019 (edited) 8 hours ago, drpeter said: Indeed, all variations might be interesting as long as the endless possibilities don't spiral out of control. There are also, as the _Doctor__ mentioned, halfway-houses that minimise DMA to various extents while not entirely cutting off feedback. I guess the quickest and dirtiest 'stock' one would be to invoke Graphics 3, which achieves ~75% of the full time gain achieved by turning off DMA entirely (from a baseline of Graphics 0) Some interesting benchmarks, for the actual sort alone, using the 'hideously slow' code posted earlier for 891 names and in Altirra 3.20 XL/64K/Atari BASIC Rev.C, Turbo Compiler 1.1: Uncompiled, Graphics 0, DMA active: 4414 seconds Uncompiled, Graphics 3, DMA active: 3444 seconds Uncompiled, Graphics 0, DMA inactive: 3243 seconds Compiled, Graphics 0, DMA active: 616 seconds Compiled, Graphics 3, DMA active: 496 seconds Compiled, Graphics 0, DMA inactive: 452 seconds It is possible to define an arbitrary simple display list that will consume little time on-screen, just like Sys. Info. 2.,4 does when activating option "DMA OFF"... you still see live update status on screeen while tests run at full tilt (!) Edited August 3, 2019 by Faicuai Quote Link to comment Share on other sites More sharing options...
Urchlay Posted August 3, 2019 Share Posted August 3, 2019 It is possible to define an arbitrary simple display list that will consume little time on-screen Super Unarc did this, IIRC it's just one line of GR.0 text. Another nice thing on the Atari, you could hear the SIO beeps. Sometimes that's all you got, to tell that a program was still running. Also some programs (Lords of Conquest, while the computer player is "thinking") made their own beeps. Though, this thread's about a cross-platform BASIC benchmark, there's no cross-platform way to make sound on these old machines. 1 Quote Link to comment Share on other sites More sharing options...
drpeter Posted August 3, 2019 Share Posted August 3, 2019 16 hours ago, Faicuai said: I believe they did not waste a single byte, and came out with an ass-kicking Basic that ran wicked fast, compared to its competition. IIRC they spent a lot of time on speed optimisations, in BASIC and OS, including unrolling short loops- which was partly how they ended up with a massive 32K ROM. Although within an equivalent or smaller footprint it was still well ahead of Microsoft BASICs of the time in both speed and features. Even had an integrated assembler with free-mixing of BASIC & Assembler code! Quote Link to comment Share on other sites More sharing options...
JamesD Posted August 3, 2019 Share Posted August 3, 2019 I don't know how much BBC BASIC borrowed from it, but the Atom version is really weird. It's a little easier to be fast if you don't worry about being compatible with existing BASICs. Quote Link to comment Share on other sites More sharing options...
drpeter Posted August 3, 2019 Share Posted August 3, 2019 (edited) OK, here's a vague opener for '(Almost) anything goes' challenge 2: Original 'hideously slow' ATARI BASIC code rewritten for Turbo-Basic XL (no string arrays), still using an array of word pointers to start of substrings and a sort order word array, both held within strings but now referenced using in-line code via Turbo-Basic's DPEEK/DPOKE function. DMA turned off for sort. Timings for sort only. Altirra 3.20 XL/64K/Turbo-Basic XL 1.5/stock XL ROM no patches Uncompiled: 436 seconds [Compiled: 141 seconds] [Turbo compiler 1.1] Spoiler 0 DIM K$(50),N$(5457):DIM S$(1784),O$(1782):POKE 752,%1:DIM A$(4),B$(%1),CL$(%1):GOTO 45 5 X=X+1:? B$;A$(X,X);:IF X=4 THEN X=0:REM BUSY CURSOR 6 RETURN 10 P=1:F=1.3:G=%1:L=0:REM SORT SUBROUTINE 13 L=L+1:P=P*F:G=INT(N/P):IF G<1 THEN G=1 14 G2=G+G:NW=N-G:? "PASS ";L;" GAP ";G;" ";:IF G=1 THEN Z=1 15 FOR I=0 TO NW+NW-2 STEP 2:Q=DPEEK(ADR(O$)+I):S1=DPEEK(ADR(S$)+Q):F1=DPEEK(ADR(S$)+Q+2)-1 16 Q=DPEEK(ADR(O$)+I+G2):S2=DPEEK(ADR(S$)+Q):F2=DPEEK(ADR(S$)+Q+2)-1 18 IF N$(S1,F1)<=N$(S2,F2) THEN 20 19 T=DPEEK(ADR(O$)+I):DPOKE ADR(O$)+I,DPEEK(ADR(O$)+I+G2):DPOKE ADR(O$)+I+G2,T:Z=0 20 REM GOSUB 5:REM BUSY CURSOR 21 NEXT I:IF Z=1 THEN RETURN 22 ? B$:GOTO 13 25 ? : ? "CHECKING SORT... ";:R=%0:FOR I=%0 TO N+N-4 STEP 2:REM CHECK SORT ORDER ROUTINE 26 Q=DPEEK(ADR(O$)+I):S1=DPEEK(ADR(S$)+Q):F1=DPEEK(ADR(S$)+Q+%2)-%1 27 Q=DPEEK(ADR(O$)+I+%2):S2=DPEEK(ADR(S$)+Q):F2=DPEEK(ADR(S$)+Q+%2)-%1 29 IF N$(S1,F1)>N$(S2,F2) THEN ? "OUT OF ORDER ";N$(S1,F1):R=%1 30 GOSUB 5:NEXT I:? B$;:IF R=%0 THEN ? "OK"; 32 ? : ? :RETURN 40 FOR I=%0 TO N+N-%2 STEP 2:Q=DPEEK(ADR(O$)+I):S1=DPEEK(ADR(S$)+Q):F1=DPEEK(ADR(S$)+Q+%2)-%1 42 ? N$(S1,F1);" ";:NEXT I:RETURN 44 REM MAIN 45 N=%0:A$(%1)=CHR$(22):A$(%2)=CHR$(13):A$(%3)=CHR$(%2):A$(4)=CHR$(14):B$=CHR$(126):CL$=CHR$(125) 51 REM K$=TEMP,N$=NAME ARRAY,S$=SUBSTRING START PTRS,O$=SORT SEQUENCE 52 REM A$=CHARACTERS FOR BUSY CURSOR 53 REM B$=BACKSPACE, CLS$=CLEAR SCREEN, POKE 752,%1 =SYSTEM CURSOR OFF 55 ? CL$:? "COMB SORT MOST POPULAR SURNAMES":? : ?"LOADING DATA... "; 60 READ K$,C,D,E:IF K$="$$$$" THEN GOTO 70 61 GOSUB 5:REM BUSY CURSOR ROUTINE 62 DPOKE ADR(S$)+N+N,LEN(N$)+%1:N$(LEN(N$)+%1)=K$:L=L+LEN(K$):DPOKE ADR(O$)+N+N,N+N:N=N+%1:GOTO 60 70 DPOKE ADR(S$)+N+N,LEN(N$)+%1:? B$:? N;" NAMES LOADED":? "TOTAL LENGTH ";L;" BYTES":? 85 IF PEEK(20)>200 THEN GOTO 85 86 TT=PEEK(20)+PEEK(19)*256+PEEK(18)*256*256 88 POKE 559,0:GOSUB 10:REM SORT ROUTINE 89 IF PEEK(20)>200 THEN GOTO 89 90 TT=PEEK(20)+PEEK(19)*256+PEEK(18)*256*256-TT 91 POKE 559,34:GRAPHICS 0:POKE 752,1:GOSUB 25:REM CHECK SORT ORDER 92 GOSUB 40:REM PRINT SORTED LIST 96 ? : ? : ? "SORT TOOK ";INT(TT/50);" SECONDS"; 98 POKE 752,0:END 100 DATA SMITH,2501922,1.006,1,JOHNSON,2014470,.81,2,WILLIAMS,1738413,.699,3 101 DATA JONES,1544427,.621,4,BROWN,1544427,.621,5,DAVIS,1193760,.48,6 102 DATA MILLER,1054488,.424,7,WILSON,843093,.339,8,MOORE,775944,.312,9 103 DATA TAYLOR,773457,.311,10,ANDERSON,773457,.311,11,THOMAS,773457,.311,12 104 DATA JACKSON,770970,.31,13,WHITE,693873,.279,14,HARRIS,683925,.275,15 105 DATA MARTIN,678951,.273,16,THOMPSON,669003,.269,17,GARCIA,631698,.254,18 106 DATA MARTINEZ,581958,.234,19,ROBINSON,579471,.233,20,CLARK,574497,.231,21 107 DATA RODRIGUEZ,569523,.229,22,LEWIS,562062,.226,23,LEE,547140,.22,24 108 DATA WALKER,544653,.219,25,HALL,497400,.2,26,ALLEN,494913,.199,27 109 DATA YOUNG,479991,.193,28,HERNANDEZ,477504,.192,29,KING,472530,.19,30 110 DATA WRIGHT,470043,.189,31,LOPEZ,465069,.187,32,HILL,465069,.187,33 111 DATA SCOTT,460095,.185,34,GREEN,455121,.183,35,ADAMS,432738,.174,36 112 DATA BAKER,425277,.171,37,GONZALEZ,412842,.166,38,NELSON,402894,.162,39 113 DATA CARTER,402894,.162,40,MITCHELL,397920,.16,41,PEREZ,385485,.155,42 114 DATA ROBERTS,380511,.153,43,TURNER,378024,.152,44,PHILLIPS,370563,.149,45 115 DATA CAMPBELL,370563,.149,46,PARKER,363102,.146,47,EVANS,350667,.141,48 116 DATA EDWARDS,340719,.137,49,COLLINS,333258,.134,50,STEWART,330771,.133,51 117 DATA SANCHEZ,323310,.13,52,MORRIS,310875,.125,53,ROGERS,305901,.123,54 118 DATA REED,303414,.122,55,COOK,298440,.12,56,MORGAN,293466,.118,57 119 DATA BELL,290979,.117,58,MURPHY,290979,.117,59,BAILEY,286005,.115,60 120 DATA RIVERA,281031,.113,61,COOPER,281031,.113,62,RICHARDSON,278544,.112,63 121 DATA COX,273570,.11,64,HOWARD,273570,.11,65,WARD,268596,.108,66 122 DATA TORRES,268596,.108,67,PETERSON,266109,.107,68,GRAY,263622,.106,69 123 DATA RAMIREZ,261135,.105,70,JAMES,261135,.105,71,WATSON,256161,.103,72 124 DATA BROOKS,256161,.103,73,KELLY,253674,.102,74,SANDERS,248700,.1,75 125 DATA PRICE,246213,.099,76,BENNETT,246213,.099,77,WOOD,243726,.098,78 126 DATA BARNES,241239,.097,79,ROSS,238752,.096,80,HENDERSON,236265,.095,81 127 DATA COLEMAN,236265,.095,82,JENKINS,236265,.095,83,PERRY,233778,.094,84 128 DATA POWELL,231291,.093,85,LONG,228804,.092,86,PATTERSON,228804,.092,87 129 DATA HUGHES,228804,.092,88,FLORES,228804,.092,89,WASHINGTON,228804,.092,90 130 DATA BUTLER,226317,.091,91,SIMMONS,226317,.091,92,FOSTER,226317,.091,93 131 DATA GONZALES,216369,.087,94,BRYANT,216369,.087,95,ALEXANDER,211395,.085,96 132 DATA RUSSELL,211395,.085,97,GRIFFIN,208908,.084,98,DIAZ,208908,.084,99 133 DATA HAYES,206421,.083,100,MYERS,206421,.083,101,FORD,203934,.082,102 134 DATA HAMILTON,203934,.082,103,GRAHAM,203934,.082,104,SULLIVAN,201447,.081,105 135 DATA WALLACE,201447,.081,106,WOODS,198960,.08,107,COLE,198960,.08,108 136 DATA WEST,198960,.08,109,JORDAN,193986,.078,110,OWENS,193986,.078,111 137 DATA REYNOLDS,193986,.078,112,FISHER,191499,.077,113,ELLIS,191499,.077,114 138 DATA HARRISON,189012,.076,115,GIBSON,186525,.075,116,MCDONALD,186525,.075,117 139 DATA CRUZ,186525,.075,118,MARSHALL,186525,.075,119,ORTIZ,186525,.075,120 140 DATA GOMEZ,186525,.075,121,MURRAY,184038,.074,122,FREEMAN,184038,.074,123 141 DATA WELLS,181551,.073,124,WEBB,179064,.072,125,SIMPSON,174090,.07,126 142 DATA STEVENS,174090,.07,127,TUCKER,174090,.07,128,PORTER,171603,.069,129 143 DATA HUNTER,171603,.069,130,HICKS,171603,.069,131,CRAWFORD,169116,.068,132 144 DATA HENRY,169116,.068,133,BOYD,169116,.068,134,MASON,169116,.068,135 145 DATA MORALES,166629,.067,136,KENNEDY,166629,.067,137,WARREN,166629,.067,138 146 DATA DIXON,164142,.066,139,RAMOS,164142,.066,140,REYES,164142,.066,141 147 DATA BURNS,161655,.065,142,GORDON,161655,.065,143,SHAW,161655,.065,144 148 DATA HOLMES,161655,.065,145,RICE,159168,.064,146,ROBERTSON,159168,.064,147 149 DATA HUNT,156681,.063,148,BLACK,156681,.063,149,DANIELS,154194,.062,150 150 DATA PALMER,154194,.062,151,MILLS,151707,.061,152,NICHOLS,149220,.06,153 151 DATA GRANT,149220,.06,154,KNIGHT,149220,.06,155,FERGUSON,146733,.059,156 152 DATA ROSE,146733,.059,157,STONE,146733,.059,158,HAWKINS,146733,.059,159 153 DATA DUNN,144246,.058,160,PERKINS,144246,.058,161,HUDSON,144246,.058,162 154 DATA SPENCER,141759,.057,163,GARDNER,141759,.057,164,STEPHENS,141759,.057,165 155 DATA PAYNE,141759,.057,166,PIERCE,139272,.056,167,BERRY,139272,.056,168 156 DATA MATTHEWS,139272,.056,169,ARNOLD,139272,.056,170,WAGNER,136785,.055,171 157 DATA WILLIS,136785,.055,172,RAY,136785,.055,173,WATKINS,136785,.055,174 158 DATA OLSON,136785,.055,175,CARROLL,136785,.055,176,DUNCAN,136785,.055,177 159 DATA SNYDER,136785,.055,178,HART,134298,.054,179,CUNNINGHAM,134298,.054,180 160 DATA BRADLEY,134298,.054,181,LANE,134298,.054,182,ANDREWS,134298,.054,183 161 DATA RUIZ,134298,.054,184,HARPER,134298,.054,185,FOX,131811,.053,186 162 DATA RILEY,131811,.053,187,ARMSTRONG,131811,.053,188,CARPENTER,131811,.053,189 163 DATA WEAVER,131811,.053,190,GREENE,131811,.053,191,LAWRENCE,129324,.052,192 164 DATA ELLIOTT,129324,.052,193,CHAVEZ,129324,.052,194,SIMS,129324,.052,195 165 DATA AUSTIN,129324,.052,196,PETERS,129324,.052,197,KELLEY,129324,.052,198 166 DATA FRANKLIN,126837,.051,199,LAWSON,126837,.051,200,FIELDS,126837,.051,201 167 DATA GUTIERREZ,126837,.051,202,RYAN,126837,.051,203,SCHMIDT,126837,.051,204 168 DATA CARR,126837,.051,205,VASQUEZ,126837,.051,206,CASTILLO,126837,.051,207 169 DATA WHEELER,126837,.051,208,CHAPMAN,124350,.05,209,OLIVER,124350,.05,210 170 DATA MONTGOMERY,121863,.049,211,RICHARDS,121863,.049,212,WILLIAMSON,121863,.049,213 171 DATA JOHNSTON,121863,.049,214,BANKS,119376,.048,215,MEYER,119376,.048,216 172 DATA BISHOP,119376,.048,217,MCCOY,119376,.048,218,HOWELL,119376,.048,219 173 DATA ALVAREZ,119376,.048,220,MORRISON,119376,.048,221,HANSEN,116889,.047,222 174 DATA FERNANDEZ,116889,.047,223,GARZA,116889,.047,224,HARVEY,116889,.047,225 175 DATA LITTLE,114402,.046,226,BURTON,114402,.046,227,STANLEY,114402,.046,228 176 DATA NGUYEN,114402,.046,229,GEORGE,114402,.046,230,JACOBS,114402,.046,231 177 DATA REID,114402,.046,232,KIM,111915,.045,233,FULLER,111915,.045,234 178 DATA LYNCH,111915,.045,235,DEAN,111915,.045,236,GILBERT,111915,.045,237 179 DATA GARRETT,111915,.045,238,ROMERO,111915,.045,239,WELCH,109428,.044,240 180 DATA LARSON,109428,.044,241,FRAZIER,109428,.044,242,BURKE,109428,.044,243 181 DATA HANSON,106941,.043,244,DAY,106941,.043,245,MENDOZA,106941,.043,246 182 DATA MORENO,106941,.043,247,BOWMAN,106941,.043,248,MEDINA,104454,.042,249 183 DATA FOWLER,104454,.042,250,BREWER,104454,.042,251,HOFFMAN,104454,.042,252 184 DATA CARLSON,104454,.042,253,SILVA,104454,.042,254,PEARSON,104454,.042,255 185 DATA HOLLAND,104454,.042,256,DOUGLAS,101967,.041,257,FLEMING,101967,.041,258 186 DATA JENSEN,101967,.041,259,VARGAS,101967,.041,260,BYRD,101967,.041,261 187 DATA DAVIDSON,101967,.041,262,HOPKINS,101967,.041,263,MAY,99480,.04,264 188 DATA TERRY,99480,.04,265,HERRERA,99480,.04,266,WADE,99480,.04,267 189 DATA SOTO,99480,.04,268,WALTERS,99480,.04,269,CURTIS,99480,.04,270 190 DATA NEAL,96993,.039,271,CALDWELL,96993,.039,272,LOWE,96993,.039,273 191 DATA JENNINGS,96993,.039,274,BARNETT,96993,.039,275,GRAVES,96993,.039,276 192 DATA JIMENEZ,96993,.039,277,HORTON,96993,.039,278,SHELTON,96993,.039,279 193 DATA BARRETT,96993,.039,280,OBRIEN,96993,.039,281,CASTRO,96993,.039,282 194 DATA SUTTON,94506,.038,283,GREGORY,94506,.038,284,MCKINNEY,94506,.038,285 195 DATA LUCAS,94506,.038,286,MILES,94506,.038,287,CRAIG,94506,.038,288 196 DATA RODRIQUEZ,92019,.037,289,CHAMBERS,92019,.037,290,HOLT,92019,.037,291 197 DATA LAMBERT,92019,.037,292,FLETCHER,92019,.037,293,WATTS,92019,.037,294 198 DATA BATES,92019,.037,295,HALE,92019,.037,296,RHODES,92019,.037,297 199 DATA PENA,92019,.037,298,BECK,92019,.037,299,NEWMAN,89532,.036,300 200 DATA HAYNES,89532,.036,301,MCDANIEL,89532,.036,302,MENDEZ,89532,.036,303 201 DATA BUSH,89532,.036,304,VAUGHN,89532,.036,305,PARKS,87045,.035,306 202 DATA DAWSON,87045,.035,307,SANTIAGO,87045,.035,308,NORRIS,87045,.035,309 203 DATA HARDY,87045,.035,310,LOVE,87045,.035,311,STEELE,87045,.035,312 204 DATA CURRY,87045,.035,313,POWERS,87045,.035,314,SCHULTZ,87045,.035,315 205 DATA BARKER,87045,.035,316,GUZMAN,84558,.034,317,PAGE,84558,.034,318 206 DATA MUNOZ,84558,.034,319,BALL,84558,.034,320,KELLER,84558,.034,321 207 DATA CHANDLER,84558,.034,322,WEBER,84558,.034,323,LEONARD,84558,.034,324 208 DATA WALSH,82071,.033,325,LYONS,82071,.033,326,RAMSEY,82071,.033,327 209 DATA WOLFE,82071,.033,328,SCHNEIDER,82071,.033,329,MULLINS,82071,.033,330 210 DATA BENSON,82071,.033,331,SHARP,82071,.033,332,BOWEN,82071,.033,333 211 DATA DANIEL,82071,.033,334,BARBER,79584,.032,335,CUMMINGS,79584,.032,336 212 DATA HINES,79584,.032,337,BALDWIN,79584,.032,338,GRIFFITH,79584,.032,339 213 DATA VALDEZ,79584,.032,340,HUBBARD,79584,.032,341,SALAZAR,79584,.032,342 214 DATA REEVES,79584,.032,343,WARNER,77097,.031,344,STEVENSON,77097,.031,345 215 DATA BURGESS,77097,.031,346,SANTOS,77097,.031,347,TATE,77097,.031,348 216 DATA CROSS,77097,.031,349,GARNER,77097,.031,350,MANN,77097,.031,351 217 DATA MACK,77097,.031,352,MOSS,77097,.031,353,THORNTON,77097,.031,354 218 DATA DENNIS,77097,.031,355,MCGEE,77097,.031,356,FARMER,74610,.03,357 219 DATA DELGADO,74610,.03,358,AGUILAR,74610,.03,359,VEGA,74610,.03,360 220 DATA GLOVER,74610,.03,361,MANNING,74610,.03,362,COHEN,74610,.03,363 221 DATA HARMON,74610,.03,364,RODGERS,74610,.03,365,ROBBINS,74610,.03,366 222 DATA NEWTON,74610,.03,367,TODD,74610,.03,368,BLAIR,74610,.03,369 223 DATA HIGGINS,74610,.03,370,INGRAM,74610,.03,371,REESE,74610,.03,372 224 DATA CANNON,74610,.03,373,STRICKLAND,74610,.03,374,TOWNSEND,74610,.03,375 225 DATA POTTER,74610,.03,376,GOODWIN,74610,.03,377,WALTON,74610,.03,378 226 DATA ROWE,72123,.029,379,HAMPTON,72123,.029,380,ORTEGA,72123,.029,381 227 DATA PATTON,72123,.029,382,SWANSON,72123,.029,383,JOSEPH,72123,.029,384 228 DATA FRANCIS,72123,.029,385,GOODMAN,72123,.029,386,MALDONADO,72123,.029,387 229 DATA YATES,72123,.029,388,BECKER,72123,.029,389,ERICKSON,72123,.029,390 230 DATA HODGES,72123,.029,391,RIOS,72123,.029,392,CONNER,72123,.029,393 231 DATA ADKINS,72123,.029,394,WEBSTER,69636,.028,395,NORMAN,69636,.028,396 232 DATA MALONE,69636,.028,397,HAMMOND,69636,.028,398,FLOWERS,69636,.028,399 233 DATA COBB,69636,.028,400,MOODY,69636,.028,401,QUINN,69636,.028,402 234 DATA BLAKE,69636,.028,403,MAXWELL,69636,.028,404,POPE,69636,.028,405 235 DATA FLOYD,67149,.027,406,OSBORNE,67149,.027,407,PAUL,67149,.027,408 236 DATA MCCARTHY,67149,.027,409,GUERRERO,67149,.027,410,LINDSEY,67149,.027,411 237 DATA ESTRADA,67149,.027,412,SANDOVAL,67149,.027,413,GIBBS,67149,.027,414 238 DATA TYLER,67149,.027,415,GROSS,67149,.027,416,FITZGERALD,67149,.027,417 239 DATA STOKES,67149,.027,418,DOYLE,67149,.027,419,SHERMAN,67149,.027,420 240 DATA SAUNDERS,67149,.027,421,WISE,67149,.027,422,COLON,67149,.027,423 241 DATA GILL,67149,.027,424,ALVARADO,67149,.027,425,GREER,64662,.026,426 242 DATA PADILLA,64662,.026,427,SIMON,64662,.026,428,WATERS,64662,.026,429 243 DATA NUNEZ,64662,.026,430,BALLARD,64662,.026,431,SCHWARTZ,64662,.026,432 244 DATA MCBRIDE,64662,.026,433,HOUSTON,64662,.026,434,CHRISTENSEN,64662,.026,435 245 DATA KLEIN,64662,.026,436,PRATT,64662,.026,437,BRIGGS,64662,.026,438 246 DATA PARSONS,64662,.026,439,MCLAUGHLIN,64662,.026,440,ZIMMERMAN,64662,.026,441 247 DATA FRENCH,64662,.026,442,BUCHANAN,64662,.026,443,MORAN,64662,.026,444 248 DATA COPELAND,62175,.025,445,ROY,62175,.025,446,PITTMAN,62175,.025,447 249 DATA BRADY,62175,.025,448,MCCORMICK,62175,.025,449,HOLLOWAY,62175,.025,450 250 DATA BROCK,62175,.025,451,POOLE,62175,.025,452,FRANK,62175,.025,453 251 DATA LOGAN,62175,.025,454,OWEN,62175,.025,455,BASS,62175,.025,456 252 DATA MARSH,62175,.025,457,DRAKE,62175,.025,458,WONG,62175,.025,459 253 DATA JEFFERSON,62175,.025,460,PARK,62175,.025,461,MORTON,62175,.025,462 254 DATA ABBOTT,62175,.025,463,SPARKS,62175,.025,464,PATRICK,59688,.024,465 255 DATA NORTON,59688,.024,466,HUFF,59688,.024,467,CLAYTON,59688,.024,468 256 DATA MASSEY,59688,.024,469,LLOYD,59688,.024,470,FIGUEROA,59688,.024,471 257 DATA CARSON,59688,.024,472,BOWERS,59688,.024,473,ROBERSON,59688,.024,474 258 DATA BARTON,59688,.024,475,TRAN,59688,.024,476,LAMB,59688,.024,477 259 DATA HARRINGTON,59688,.024,478,CASEY,59688,.024,479,BOONE,59688,.024,480 260 DATA CORTEZ,59688,.024,481,CLARKE,59688,.024,482,MATHIS,59688,.024,483 261 DATA SINGLETON,59688,.024,484,WILKINS,59688,.024,485,CAIN,59688,.024,486 262 DATA BRYAN,59688,.024,487,UNDERWOOD,59688,.024,488,HOGAN,59688,.024,489 263 DATA MCKENZIE,57201,.023,490,COLLIER,57201,.023,491,LUNA,57201,.023,492 264 DATA PHELPS,57201,.023,493,MCGUIRE,57201,.023,494,ALLISON,57201,.023,495 265 DATA BRIDGES,57201,.023,496,WILKERSON,57201,.023,497,NASH,57201,.023,498 266 DATA SUMMERS,57201,.023,499,ATKINS,57201,.023,500,WILCOX,57201,.023,501 267 DATA PITTS,57201,.023,502,CONLEY,57201,.023,503,MARQUEZ,57201,.023,504 268 DATA BURNETT,57201,.023,505,RICHARD,57201,.023,506,COCHRAN,57201,.023,507 269 DATA CHASE,57201,.023,508,DAVENPORT,57201,.023,509,HOOD,57201,.023,510 270 DATA GATES,57201,.023,511,CLAY,57201,.023,512,AYALA,57201,.023,513 271 DATA SAWYER,57201,.023,514,ROMAN,57201,.023,515,VAZQUEZ,57201,.023,516 272 DATA DICKERSON,57201,.023,517,HODGE,54714,.022,518,ACOSTA,54714,.022,519 273 DATA FLYNN,54714,.022,520,ESPINOZA,54714,.022,521,NICHOLSON,54714,.022,522 274 DATA MONROE,54714,.022,523,WOLF,54714,.022,524,MORROW,54714,.022,525 275 DATA KIRK,54714,.022,526,RANDALL,54714,.022,527,ANTHONY,54714,.022,528 276 DATA WHITAKER,54714,.022,529,OCONNOR,54714,.022,530,SKINNER,54714,.022,531 277 DATA WARE,54714,.022,532,MOLINA,54714,.022,533,KIRBY,54714,.022,534 278 DATA HUFFMAN,54714,.022,535,BRADFORD,54714,.022,536,CHARLES,54714,.022,537 279 DATA GILMORE,54714,.022,538,DOMINGUEZ,54714,.022,539,ONEAL,54714,.022,540 280 DATA BRUCE,54714,.022,541,LANG,52227,.021,542,COMBS,52227,.021,543 281 DATA KRAMER,52227,.021,544,HEATH,52227,.021,545,HANCOCK,52227,.021,546 282 DATA GALLAGHER,52227,.021,547,GAINES,52227,.021,548,SHAFFER,52227,.021,549 283 DATA SHORT,52227,.021,550,WIGGINS,52227,.021,551,MATHEWS,52227,.021,552 284 DATA MCCLAIN,52227,.021,553,FISCHER,52227,.021,554,WALL,52227,.021,555 285 DATA SMALL,52227,.021,556,MELTON,52227,.021,557,HENSLEY,52227,.021,558 286 DATA BOND,52227,.021,559,DYER,52227,.021,560,CAMERON,52227,.021,561 287 DATA GRIMES,52227,.021,562,CONTRERAS,52227,.021,563,CHRISTIAN,52227,.021,564 288 DATA WYATT,52227,.021,565,BAXTER,52227,.021,566,SNOW,52227,.021,567 289 DATA MOSLEY,52227,.021,568,SHEPHERD,52227,.021,569,LARSEN,52227,.021,570 290 DATA HOOVER,52227,.021,571,BEASLEY,49740,.02,572,GLENN,49740,.02,573 291 DATA PETERSEN,49740,.02,574,WHITEHEAD,49740,.02,575,MEYERS,49740,.02,576 292 DATA KEITH,49740,.02,577,GARRISON,49740,.02,578,VINCENT,49740,.02,579 293 DATA SHIELDS,49740,.02,580,HORN,49740,.02,581,SAVAGE,49740,.02,582 294 DATA OLSEN,49740,.02,583,SCHROEDER,49740,.02,584,HARTMAN,49740,.02,585 295 DATA WOODARD,49740,.02,586,MUELLER,49740,.02,587,KEMP,49740,.02,588 296 DATA DELEON,49740,.02,589,BOOTH,49740,.02,590,PATEL,49740,.02,591 297 DATA CALHOUN,49740,.02,592,WILEY,49740,.02,593,EATON,49740,.02,594 298 DATA CLINE,49740,.02,595,NAVARRO,49740,.02,596,HARRELL,49740,.02,597 299 DATA LESTER,49740,.02,598,HUMPHREY,49740,.02,599,PARRISH,49740,.02,600 300 DATA DURAN,49740,.02,601,HUTCHINSON,49740,.02,602,HESS,49740,.02,603 301 DATA DORSEY,49740,.02,604,BULLOCK,49740,.02,605,ROBLES,49740,.02,606 302 DATA BEARD,47253,.019,607,DALTON,47253,.019,608,AVILA,47253,.019,609 303 DATA VANCE,47253,.019,610,RICH,47253,.019,611,BLACKWELL,47253,.019,612 304 DATA YORK,47253,.019,613,JOHNS,47253,.019,614,BLANKENSHIP,47253,.019,615 305 DATA TREVINO,47253,.019,616,SALINAS,47253,.019,617,CAMPOS,47253,.019,618 306 DATA PRUITT,47253,.019,619,MOSES,47253,.019,620,CALLAHAN,47253,.019,621 307 DATA GOLDEN,47253,.019,622,MONTOYA,47253,.019,623,HARDIN,47253,.019,624 308 DATA GUERRA,47253,.019,625,MCDOWELL,47253,.019,626,CAREY,47253,.019,627 309 DATA STAFFORD,47253,.019,628,GALLEGOS,47253,.019,629,HENSON,47253,.019,630 310 DATA WILKINSON,47253,.019,631,BOOKER,47253,.019,632,MERRITT,47253,.019,633 311 DATA MIRANDA,47253,.019,634,ATKINSON,47253,.019,635,ORR,47253,.019,636 312 DATA DECKER,47253,.019,637,HOBBS,47253,.019,638,PRESTON,47253,.019,639 313 DATA TANNER,47253,.019,640,KNOX,47253,.019,641,PACHECO,47253,.019,642 314 DATA STEPHENSON,44766,.018,643,GLASS,44766,.018,644,ROJAS,44766,.018,645 315 DATA SERRANO,44766,.018,646,MARKS,44766,.018,647,HICKMAN,44766,.018,648 316 DATA ENGLISH,44766,.018,649,SWEENEY,44766,.018,650,STRONG,44766,.018,651 317 DATA PRINCE,44766,.018,652,MCCLURE,44766,.018,653,CONWAY,44766,.018,654 318 DATA WALTER,44766,.018,655,ROTH,44766,.018,656,MAYNARD,44766,.018,657 319 DATA FARRELL,44766,.018,658,LOWERY,44766,.018,659,HURST,44766,.018,660 320 DATA NIXON,44766,.018,661,WEISS,44766,.018,662,TRUJILLO,44766,.018,663 321 DATA ELLISON,44766,.018,664,SLOAN,44766,.018,665,JUAREZ,44766,.018,666 322 DATA WINTERS,44766,.018,667,MCLEAN,44766,.018,668,RANDOLPH,44766,.018,669 323 DATA LEON,44766,.018,670,BOYER,44766,.018,671,VILLARREAL,44766,.018,672 324 DATA MCCALL,44766,.018,673,GENTRY,44766,.018,674,CARRILLO,42279,.017,675 325 DATA KENT,42279,.017,676,AYERS,42279,.017,677,LARA,42279,.017,678 326 DATA SHANNON,42279,.017,679,SEXTON,42279,.017,680,PACE,42279,.017,681 327 DATA HULL,42279,.017,682,LEBLANC,42279,.017,683,BROWNING,42279,.017,684 328 DATA VELASQUEZ,42279,.017,685,LEACH,42279,.017,686,CHANG,42279,.017,687 329 DATA HOUSE,42279,.017,688,SELLERS,42279,.017,689,HERRING,42279,.017,690 330 DATA NOBLE,42279,.017,691,FOLEY,42279,.017,692,BARTLETT,42279,.017,693 331 DATA MERCADO,42279,.017,694,LANDRY,42279,.017,695,DURHAM,42279,.017,696 332 DATA WALLS,42279,.017,697,BARR,42279,.017,698,MCKEE,42279,.017,699 333 DATA BAUER,42279,.017,700,RIVERS,42279,.017,701,EVERETT,42279,.017,702 334 DATA BRADSHAW,42279,.017,703,PUGH,42279,.017,704,VELEZ,42279,.017,705 335 DATA RUSH,42279,.017,706,ESTES,42279,.017,707,DODSON,42279,.017,708 336 DATA MORSE,42279,.017,709,SHEPPARD,42279,.017,710,WEEKS,42279,.017,711 337 DATA CAMACHO,42279,.017,712,BEAN,42279,.017,713,BARRON,42279,.017,714 338 DATA LIVINGSTON,42279,.017,715,MIDDLETON,39792,.016,716,SPEARS,39792,.016,717 339 DATA BRANCH,39792,.016,718,BLEVINS,39792,.016,719,CHEN,39792,.016,720 340 DATA KERR,39792,.016,721,MCCONNELL,39792,.016,722,HATFIELD,39792,.016,723 341 DATA HARDING,39792,.016,724,ASHLEY,39792,.016,725,SOLIS,39792,.016,726 342 DATA HERMAN,39792,.016,727,FROST,39792,.016,728,GILES,39792,.016,729 343 DATA BLACKBURN,39792,.016,730,WILLIAM,39792,.016,731,PENNINGTON,39792,.016,732 344 DATA WOODWARD,39792,.016,733,FINLEY,39792,.016,734,MCINTOSH,39792,.016,735 345 DATA KOCH,39792,.016,736,BEST,39792,.016,737,SOLOMON,39792,.016,738 346 DATA MCCULLOUGH,39792,.016,739,DUDLEY,39792,.016,740,NOLAN,39792,.016,741 347 DATA BLANCHARD,39792,.016,742,RIVAS,39792,.016,743,BRENNAN,39792,.016,744 348 DATA MEJIA,39792,.016,745,KANE,39792,.016,746,BENTON,39792,.016,747 349 DATA JOYCE,39792,.016,748,BUCKLEY,39792,.016,749,HALEY,39792,.016,750 350 DATA VALENTINE,39792,.016,751,MADDOX,39792,.016,752,RUSSO,39792,.016,753 351 DATA MCKNIGHT,39792,.016,754,BUCK,39792,.016,755,MOON,39792,.016,756 352 DATA MCMILLAN,39792,.016,757,CROSBY,39792,.016,758,BERG,39792,.016,759 353 DATA DOTSON,39792,.016,760,MAYS,39792,.016,761,ROACH,39792,.016,762 354 DATA CHURCH,39792,.016,763,CHAN,39792,.016,764,RICHMOND,39792,.016,765 355 DATA MEADOWS,39792,.016,766,FAULKNER,39792,.016,767,ONEILL,39792,.016,768 356 DATA KNAPP,39792,.016,769,KLINE,37305,.015,770,BARRY,37305,.015,771 357 DATA OCHOA,37305,.015,772,JACOBSON,37305,.015,773,GAY,37305,.015,774 358 DATA AVERY,37305,.015,775,HENDRICKS,37305,.015,776,HORNE,37305,.015,777 359 DATA SHEPARD,37305,.015,778,HEBERT,37305,.015,779,CHERRY,37305,.015,780 360 DATA CARDENAS,37305,.015,781,MCINTYRE,37305,.015,782,WHITNEY,37305,.015,783 361 DATA WALLER,37305,.015,784,HOLMAN,37305,.015,785,DONALDSON,37305,.015,786 362 DATA CANTU,37305,.015,787,TERRELL,37305,.015,788,MORIN,37305,.015,789 363 DATA GILLESPIE,37305,.015,790,FUENTES,37305,.015,791,TILLMAN,37305,.015,792 364 DATA SANFORD,37305,.015,793,BENTLEY,37305,.015,794,PECK,37305,.015,795 365 DATA KEY,37305,.015,796,SALAS,37305,.015,797,ROLLINS,37305,.015,798 366 DATA GAMBLE,37305,.015,799,DICKSON,37305,.015,800,BATTLE,37305,.015,801 367 DATA SANTANA,37305,.015,802,CABRERA,37305,.015,803,CERVANTES,37305,.015,804 368 DATA HOWE,37305,.015,805,HINTON,37305,.015,806,HURLEY,37305,.015,807 369 DATA SPENCE,37305,.015,808,ZAMORA,37305,.015,809,YANG,37305,.015,810 370 DATA MCNEIL,37305,.015,811,SUAREZ,37305,.015,812,CASE,37305,.015,813 371 DATA PETTY,37305,.015,814,GOULD,37305,.015,815,MCFARLAND,37305,.015,816 372 DATA SAMPSON,37305,.015,817,CARVER,37305,.015,818,BRAY,37305,.015,819 373 DATA ROSARIO,37305,.015,820,MACDONALD,37305,.015,821,STOUT,37305,.015,822 374 DATA HESTER,37305,.015,823,MELENDEZ,37305,.015,824,DILLON,37305,.015,825 375 DATA FARLEY,37305,.015,826,HOPPER,37305,.015,827,GALLOWAY,37305,.015,828 376 DATA POTTS,37305,.015,829,BERNARD,37305,.015,830,JOYNER,34818,.014,831 377 DATA STEIN,34818,.014,832,AGUIRRE,34818,.014,833,OSBORN,34818,.014,834 378 DATA MERCER,34818,.014,835,BENDER,34818,.014,836,FRANCO,34818,.014,837 379 DATA ROWLAND,34818,.014,838,SYKES,34818,.014,839,BENJAMIN,34818,.014,840 380 DATA TRAVIS,34818,.014,841,PICKETT,34818,.014,842,CRANE,34818,.014,843 381 DATA SEARS,34818,.014,844,MAYO,34818,.014,845,DUNLAP,34818,.014,846 382 DATA HAYDEN,34818,.014,847,WILDER,34818,.014,848,MCKAY,34818,.014,849 383 DATA COFFEY,34818,.014,850,MCCARTY,34818,.014,851,EWING,34818,.014,852 384 DATA COOLEY,34818,.014,853,VAUGHAN,34818,.014,854,BONNER,34818,.014,855 385 DATA COTTON,34818,.014,856,HOLDER,34818,.014,857,STARK,34818,.014,858 386 DATA FERRELL,34818,.014,859,CANTRELL,34818,.014,860,FULTON,34818,.014,861 387 DATA LYNN,34818,.014,862,LOTT,34818,.014,863,CALDERON,34818,.014,864 388 DATA ROSA,34818,.014,865,POLLARD,34818,.014,866,HOOPER,34818,.014,867 389 DATA BURCH,34818,.014,868,MULLEN,34818,.014,869,FRY,34818,.014,870 390 DATA RIDDLE,34818,.014,871,LEVY,34818,.014,872,DAVID,34818,.014,873 391 DATA DUKE,34818,.014,874,ODONNELL,34818,.014,875,GUY,34818,.014,876 392 DATA MICHAEL,34818,.014,877,BRITT,34818,.014,878,FREDERICK,34818,.014,879 393 DATA DAUGHERTY,34818,.014,880,BERGER,34818,.014,881,DILLARD,34818,.014,882 394 DATA ALSTON,34818,.014,883,JARVIS,34818,.014,884,FRYE,34818,.014,885 395 DATA RIGGS,34818,.014,886,CHANEY,34818,.014,887,ODOM,32331,.013,888 396 DATA DUFFY,32331,.013,889,FITZPATRICK,32331,.013,890,VALENZUELA,32331,.013,891 1000 DATA $$$$,0,0,0 Edited August 3, 2019 by drpeter Quote Link to comment Share on other sites More sharing options...
drpeter Posted August 3, 2019 Share Posted August 3, 2019 (edited) And with some tweaks, 358 seconds. Addresses of the array strings seem to drift if set as constants at the start of the program, but it seems to work safely to assume they are constant during the sort routine itself. Spoiler 0 DIM K$(50),N$(5457):DIM S$(1784),O$(1782):POKE 752,%1:DIM A$(4),B$(%1),CL$(%1):GOTO 45 5 X=X+1:? B$;A$(X,X);:IF X=4 THEN X=0:REM BUSY CURSOR 6 RETURN 10 P=1:F=1.3:G=1:Z=0:I=0:Q=0:F1=0:F2=0:S1=0:S2=0:T=0 13 P=P*F:G=INT(N/P):IF G<1 THEN G=1 14 G2=G+G:NW=N-G:O=ADR(O$):S=ADR(S$):IF G=1 THEN Z=1 15 FOR I=0 TO NW+NW-2 STEP 2:Q=DPEEK(O+I):S1=DPEEK(S+Q):F1=DPEEK(S+Q+2)-1 16 Q=DPEEK(O+I+G2):S2=DPEEK(S+Q):F2=DPEEK(S+Q+2)-1 18 IF N$(S1,F1)<=N$(S2,F2) THEN 21 19 T=DPEEK(O+I):DPOKE O+I,DPEEK(O+I+G2):DPOKE O+I+G2,T:Z=0 21 NEXT I:IF Z=1 THEN RETURN 24 GOTO 13 25 ? : ? "CHECKING SORT... ";:R=%0:FOR I=%0 TO N+N-4 STEP 2:REM CHECK SORT ORDER ROUTINE 26 Q=DPEEK(ADR(O$)+I):S1=DPEEK(ADR(S$)+Q):F1=DPEEK(ADR(S$)+Q+%2)-%1 27 Q=DPEEK(ADR(O$)+I+%2):S2=DPEEK(ADR(S$)+Q):F2=DPEEK(ADR(S$)+Q+%2)-%1 29 IF N$(S1,F1)>N$(S2,F2) THEN ? "OUT OF ORDER ";N$(S1,F1):R=%1 30 GOSUB 5:NEXT I:? B$;:IF R=%0 THEN ? "OK"; 32 ? : ? :RETURN 40 FOR I=%0 TO N+N-%2 STEP 2:Q=DPEEK(ADR(O$)+I):S1=DPEEK(ADR(S$)+Q):F1=DPEEK(ADR(S$)+Q+%2)-%1 42 ? N$(S1,F1);" ";:NEXT I:RETURN 44 REM MAIN 45 N=%0:A$(%1)=CHR$(22):A$(%2)=CHR$(13):A$(%3)=CHR$(%2):A$(4)=CHR$(14):B$=CHR$(126):CL$=CHR$(125) 51 REM K$=TEMP,N$=NAME ARRAY,S$=SUBSTRING START PTRS,O$=SORT SEQUENCE 52 REM A$=CHARACTERS FOR BUSY CURSOR 53 REM B$=BACKSPACE, CLS$=CLEAR SCREEN, POKE 752,%1 =SYSTEM CURSOR OFF 55 ? CL$:? "COMB SORT MOST POPULAR SURNAMES":? : ? "LOADING DATA... "; 60 READ K$,C,D,E:IF K$="$$$$" THEN GOTO 70 61 GOSUB 5:REM BUSY CURSOR ROUTINE 62 DPOKE ADR(S$)+N+N,LEN(N$)+%1:N$(LEN(N$)+%1)=K$:L=L+LEN(K$):DPOKE ADR(O$)+N+N,N+N:N=N+%1:GOTO 60 70 DPOKE ADR(S$)+N+N,LEN(N$)+%1:? B$:? N;" NAMES LOADED":? "TOTAL LENGTH ";L;" BYTES":? 85 IF PEEK(20)>200 THEN GOTO 85 86 TT=PEEK(20)+PEEK(19)*256+PEEK(18)*256*256 88 POKE 559,0:GOSUB 10:REM SORT ROUTINE 89 IF PEEK(20)>200 THEN GOTO 89 90 TT=PEEK(20)+PEEK(19)*256+PEEK(18)*256*256-TT 91 POKE 559,34:GRAPHICS 0:POKE 752,1:GOSUB 25:REM CHECK SORT ORDER 92 GOSUB 40:REM PRINT SORTED LIST 96 ? : ? : ?"SORT TOOK ";INT(TT/50);" SECONDS"; 98 POKE 752,0:END 100 DATA SMITH,2501922,1.006,1,JOHNSON,2014470,.81,2,WILLIAMS,1738413,.699,3 101 DATA JONES,1544427,.621,4,BROWN,1544427,.621,5,DAVIS,1193760,.48,6 102 DATA MILLER,1054488,.424,7,WILSON,843093,.339,8,MOORE,775944,.312,9 103 DATA TAYLOR,773457,.311,10,ANDERSON,773457,.311,11,THOMAS,773457,.311,12 104 DATA JACKSON,770970,.31,13,WHITE,693873,.279,14,HARRIS,683925,.275,15 105 DATA MARTIN,678951,.273,16,THOMPSON,669003,.269,17,GARCIA,631698,.254,18 106 DATA MARTINEZ,581958,.234,19,ROBINSON,579471,.233,20,CLARK,574497,.231,21 107 DATA RODRIGUEZ,569523,.229,22,LEWIS,562062,.226,23,LEE,547140,.22,24 108 DATA WALKER,544653,.219,25,HALL,497400,.2,26,ALLEN,494913,.199,27 109 DATA YOUNG,479991,.193,28,HERNANDEZ,477504,.192,29,KING,472530,.19,30 110 DATA WRIGHT,470043,.189,31,LOPEZ,465069,.187,32,HILL,465069,.187,33 111 DATA SCOTT,460095,.185,34,GREEN,455121,.183,35,ADAMS,432738,.174,36 112 DATA BAKER,425277,.171,37,GONZALEZ,412842,.166,38,NELSON,402894,.162,39 113 DATA CARTER,402894,.162,40,MITCHELL,397920,.16,41,PEREZ,385485,.155,42 114 DATA ROBERTS,380511,.153,43,TURNER,378024,.152,44,PHILLIPS,370563,.149,45 115 DATA CAMPBELL,370563,.149,46,PARKER,363102,.146,47,EVANS,350667,.141,48 116 DATA EDWARDS,340719,.137,49,COLLINS,333258,.134,50,STEWART,330771,.133,51 117 DATA SANCHEZ,323310,.13,52,MORRIS,310875,.125,53,ROGERS,305901,.123,54 118 DATA REED,303414,.122,55,COOK,298440,.12,56,MORGAN,293466,.118,57 119 DATA BELL,290979,.117,58,MURPHY,290979,.117,59,BAILEY,286005,.115,60 120 DATA RIVERA,281031,.113,61,COOPER,281031,.113,62,RICHARDSON,278544,.112,63 121 DATA COX,273570,.11,64,HOWARD,273570,.11,65,WARD,268596,.108,66 122 DATA TORRES,268596,.108,67,PETERSON,266109,.107,68,GRAY,263622,.106,69 123 DATA RAMIREZ,261135,.105,70,JAMES,261135,.105,71,WATSON,256161,.103,72 124 DATA BROOKS,256161,.103,73,KELLY,253674,.102,74,SANDERS,248700,.1,75 125 DATA PRICE,246213,.099,76,BENNETT,246213,.099,77,WOOD,243726,.098,78 126 DATA BARNES,241239,.097,79,ROSS,238752,.096,80,HENDERSON,236265,.095,81 127 DATA COLEMAN,236265,.095,82,JENKINS,236265,.095,83,PERRY,233778,.094,84 128 DATA POWELL,231291,.093,85,LONG,228804,.092,86,PATTERSON,228804,.092,87 129 DATA HUGHES,228804,.092,88,FLORES,228804,.092,89,WASHINGTON,228804,.092,90 130 DATA BUTLER,226317,.091,91,SIMMONS,226317,.091,92,FOSTER,226317,.091,93 131 DATA GONZALES,216369,.087,94,BRYANT,216369,.087,95,ALEXANDER,211395,.085,96 132 DATA RUSSELL,211395,.085,97,GRIFFIN,208908,.084,98,DIAZ,208908,.084,99 133 DATA HAYES,206421,.083,100,MYERS,206421,.083,101,FORD,203934,.082,102 134 DATA HAMILTON,203934,.082,103,GRAHAM,203934,.082,104,SULLIVAN,201447,.081,105 135 DATA WALLACE,201447,.081,106,WOODS,198960,.08,107,COLE,198960,.08,108 136 DATA WEST,198960,.08,109,JORDAN,193986,.078,110,OWENS,193986,.078,111 137 DATA REYNOLDS,193986,.078,112,FISHER,191499,.077,113,ELLIS,191499,.077,114 138 DATA HARRISON,189012,.076,115,GIBSON,186525,.075,116,MCDONALD,186525,.075,117 139 DATA CRUZ,186525,.075,118,MARSHALL,186525,.075,119,ORTIZ,186525,.075,120 140 DATA GOMEZ,186525,.075,121,MURRAY,184038,.074,122,FREEMAN,184038,.074,123 141 DATA WELLS,181551,.073,124,WEBB,179064,.072,125,SIMPSON,174090,.07,126 142 DATA STEVENS,174090,.07,127,TUCKER,174090,.07,128,PORTER,171603,.069,129 143 DATA HUNTER,171603,.069,130,HICKS,171603,.069,131,CRAWFORD,169116,.068,132 144 DATA HENRY,169116,.068,133,BOYD,169116,.068,134,MASON,169116,.068,135 145 DATA MORALES,166629,.067,136,KENNEDY,166629,.067,137,WARREN,166629,.067,138 146 DATA DIXON,164142,.066,139,RAMOS,164142,.066,140,REYES,164142,.066,141 147 DATA BURNS,161655,.065,142,GORDON,161655,.065,143,SHAW,161655,.065,144 148 DATA HOLMES,161655,.065,145,RICE,159168,.064,146,ROBERTSON,159168,.064,147 149 DATA HUNT,156681,.063,148,BLACK,156681,.063,149,DANIELS,154194,.062,150 150 DATA PALMER,154194,.062,151,MILLS,151707,.061,152,NICHOLS,149220,.06,153 151 DATA GRANT,149220,.06,154,KNIGHT,149220,.06,155,FERGUSON,146733,.059,156 152 DATA ROSE,146733,.059,157,STONE,146733,.059,158,HAWKINS,146733,.059,159 153 DATA DUNN,144246,.058,160,PERKINS,144246,.058,161,HUDSON,144246,.058,162 154 DATA SPENCER,141759,.057,163,GARDNER,141759,.057,164,STEPHENS,141759,.057,165 155 DATA PAYNE,141759,.057,166,PIERCE,139272,.056,167,BERRY,139272,.056,168 156 DATA MATTHEWS,139272,.056,169,ARNOLD,139272,.056,170,WAGNER,136785,.055,171 157 DATA WILLIS,136785,.055,172,RAY,136785,.055,173,WATKINS,136785,.055,174 158 DATA OLSON,136785,.055,175,CARROLL,136785,.055,176,DUNCAN,136785,.055,177 159 DATA SNYDER,136785,.055,178,HART,134298,.054,179,CUNNINGHAM,134298,.054,180 160 DATA BRADLEY,134298,.054,181,LANE,134298,.054,182,ANDREWS,134298,.054,183 161 DATA RUIZ,134298,.054,184,HARPER,134298,.054,185,FOX,131811,.053,186 162 DATA RILEY,131811,.053,187,ARMSTRONG,131811,.053,188,CARPENTER,131811,.053,189 163 DATA WEAVER,131811,.053,190,GREENE,131811,.053,191,LAWRENCE,129324,.052,192 164 DATA ELLIOTT,129324,.052,193,CHAVEZ,129324,.052,194,SIMS,129324,.052,195 165 DATA AUSTIN,129324,.052,196,PETERS,129324,.052,197,KELLEY,129324,.052,198 166 DATA FRANKLIN,126837,.051,199,LAWSON,126837,.051,200,FIELDS,126837,.051,201 167 DATA GUTIERREZ,126837,.051,202,RYAN,126837,.051,203,SCHMIDT,126837,.051,204 168 DATA CARR,126837,.051,205,VASQUEZ,126837,.051,206,CASTILLO,126837,.051,207 169 DATA WHEELER,126837,.051,208,CHAPMAN,124350,.05,209,OLIVER,124350,.05,210 170 DATA MONTGOMERY,121863,.049,211,RICHARDS,121863,.049,212,WILLIAMSON,121863,.049,213 171 DATA JOHNSTON,121863,.049,214,BANKS,119376,.048,215,MEYER,119376,.048,216 172 DATA BISHOP,119376,.048,217,MCCOY,119376,.048,218,HOWELL,119376,.048,219 173 DATA ALVAREZ,119376,.048,220,MORRISON,119376,.048,221,HANSEN,116889,.047,222 174 DATA FERNANDEZ,116889,.047,223,GARZA,116889,.047,224,HARVEY,116889,.047,225 175 DATA LITTLE,114402,.046,226,BURTON,114402,.046,227,STANLEY,114402,.046,228 176 DATA NGUYEN,114402,.046,229,GEORGE,114402,.046,230,JACOBS,114402,.046,231 177 DATA REID,114402,.046,232,KIM,111915,.045,233,FULLER,111915,.045,234 178 DATA LYNCH,111915,.045,235,DEAN,111915,.045,236,GILBERT,111915,.045,237 179 DATA GARRETT,111915,.045,238,ROMERO,111915,.045,239,WELCH,109428,.044,240 180 DATA LARSON,109428,.044,241,FRAZIER,109428,.044,242,BURKE,109428,.044,243 181 DATA HANSON,106941,.043,244,DAY,106941,.043,245,MENDOZA,106941,.043,246 182 DATA MORENO,106941,.043,247,BOWMAN,106941,.043,248,MEDINA,104454,.042,249 183 DATA FOWLER,104454,.042,250,BREWER,104454,.042,251,HOFFMAN,104454,.042,252 184 DATA CARLSON,104454,.042,253,SILVA,104454,.042,254,PEARSON,104454,.042,255 185 DATA HOLLAND,104454,.042,256,DOUGLAS,101967,.041,257,FLEMING,101967,.041,258 186 DATA JENSEN,101967,.041,259,VARGAS,101967,.041,260,BYRD,101967,.041,261 187 DATA DAVIDSON,101967,.041,262,HOPKINS,101967,.041,263,MAY,99480,.04,264 188 DATA TERRY,99480,.04,265,HERRERA,99480,.04,266,WADE,99480,.04,267 189 DATA SOTO,99480,.04,268,WALTERS,99480,.04,269,CURTIS,99480,.04,270 190 DATA NEAL,96993,.039,271,CALDWELL,96993,.039,272,LOWE,96993,.039,273 191 DATA JENNINGS,96993,.039,274,BARNETT,96993,.039,275,GRAVES,96993,.039,276 192 DATA JIMENEZ,96993,.039,277,HORTON,96993,.039,278,SHELTON,96993,.039,279 193 DATA BARRETT,96993,.039,280,OBRIEN,96993,.039,281,CASTRO,96993,.039,282 194 DATA SUTTON,94506,.038,283,GREGORY,94506,.038,284,MCKINNEY,94506,.038,285 195 DATA LUCAS,94506,.038,286,MILES,94506,.038,287,CRAIG,94506,.038,288 196 DATA RODRIQUEZ,92019,.037,289,CHAMBERS,92019,.037,290,HOLT,92019,.037,291 197 DATA LAMBERT,92019,.037,292,FLETCHER,92019,.037,293,WATTS,92019,.037,294 198 DATA BATES,92019,.037,295,HALE,92019,.037,296,RHODES,92019,.037,297 199 DATA PENA,92019,.037,298,BECK,92019,.037,299,NEWMAN,89532,.036,300 200 DATA HAYNES,89532,.036,301,MCDANIEL,89532,.036,302,MENDEZ,89532,.036,303 201 DATA BUSH,89532,.036,304,VAUGHN,89532,.036,305,PARKS,87045,.035,306 202 DATA DAWSON,87045,.035,307,SANTIAGO,87045,.035,308,NORRIS,87045,.035,309 203 DATA HARDY,87045,.035,310,LOVE,87045,.035,311,STEELE,87045,.035,312 204 DATA CURRY,87045,.035,313,POWERS,87045,.035,314,SCHULTZ,87045,.035,315 205 DATA BARKER,87045,.035,316,GUZMAN,84558,.034,317,PAGE,84558,.034,318 206 DATA MUNOZ,84558,.034,319,BALL,84558,.034,320,KELLER,84558,.034,321 207 DATA CHANDLER,84558,.034,322,WEBER,84558,.034,323,LEONARD,84558,.034,324 208 DATA WALSH,82071,.033,325,LYONS,82071,.033,326,RAMSEY,82071,.033,327 209 DATA WOLFE,82071,.033,328,SCHNEIDER,82071,.033,329,MULLINS,82071,.033,330 210 DATA BENSON,82071,.033,331,SHARP,82071,.033,332,BOWEN,82071,.033,333 211 DATA DANIEL,82071,.033,334,BARBER,79584,.032,335,CUMMINGS,79584,.032,336 212 DATA HINES,79584,.032,337,BALDWIN,79584,.032,338,GRIFFITH,79584,.032,339 213 DATA VALDEZ,79584,.032,340,HUBBARD,79584,.032,341,SALAZAR,79584,.032,342 214 DATA REEVES,79584,.032,343,WARNER,77097,.031,344,STEVENSON,77097,.031,345 215 DATA BURGESS,77097,.031,346,SANTOS,77097,.031,347,TATE,77097,.031,348 216 DATA CROSS,77097,.031,349,GARNER,77097,.031,350,MANN,77097,.031,351 217 DATA MACK,77097,.031,352,MOSS,77097,.031,353,THORNTON,77097,.031,354 218 DATA DENNIS,77097,.031,355,MCGEE,77097,.031,356,FARMER,74610,.03,357 219 DATA DELGADO,74610,.03,358,AGUILAR,74610,.03,359,VEGA,74610,.03,360 220 DATA GLOVER,74610,.03,361,MANNING,74610,.03,362,COHEN,74610,.03,363 221 DATA HARMON,74610,.03,364,RODGERS,74610,.03,365,ROBBINS,74610,.03,366 222 DATA NEWTON,74610,.03,367,TODD,74610,.03,368,BLAIR,74610,.03,369 223 DATA HIGGINS,74610,.03,370,INGRAM,74610,.03,371,REESE,74610,.03,372 224 DATA CANNON,74610,.03,373,STRICKLAND,74610,.03,374,TOWNSEND,74610,.03,375 225 DATA POTTER,74610,.03,376,GOODWIN,74610,.03,377,WALTON,74610,.03,378 226 DATA ROWE,72123,.029,379,HAMPTON,72123,.029,380,ORTEGA,72123,.029,381 227 DATA PATTON,72123,.029,382,SWANSON,72123,.029,383,JOSEPH,72123,.029,384 228 DATA FRANCIS,72123,.029,385,GOODMAN,72123,.029,386,MALDONADO,72123,.029,387 229 DATA YATES,72123,.029,388,BECKER,72123,.029,389,ERICKSON,72123,.029,390 230 DATA HODGES,72123,.029,391,RIOS,72123,.029,392,CONNER,72123,.029,393 231 DATA ADKINS,72123,.029,394,WEBSTER,69636,.028,395,NORMAN,69636,.028,396 232 DATA MALONE,69636,.028,397,HAMMOND,69636,.028,398,FLOWERS,69636,.028,399 233 DATA COBB,69636,.028,400,MOODY,69636,.028,401,QUINN,69636,.028,402 234 DATA BLAKE,69636,.028,403,MAXWELL,69636,.028,404,POPE,69636,.028,405 235 DATA FLOYD,67149,.027,406,OSBORNE,67149,.027,407,PAUL,67149,.027,408 236 DATA MCCARTHY,67149,.027,409,GUERRERO,67149,.027,410,LINDSEY,67149,.027,411 237 DATA ESTRADA,67149,.027,412,SANDOVAL,67149,.027,413,GIBBS,67149,.027,414 238 DATA TYLER,67149,.027,415,GROSS,67149,.027,416,FITZGERALD,67149,.027,417 239 DATA STOKES,67149,.027,418,DOYLE,67149,.027,419,SHERMAN,67149,.027,420 240 DATA SAUNDERS,67149,.027,421,WISE,67149,.027,422,COLON,67149,.027,423 241 DATA GILL,67149,.027,424,ALVARADO,67149,.027,425,GREER,64662,.026,426 242 DATA PADILLA,64662,.026,427,SIMON,64662,.026,428,WATERS,64662,.026,429 243 DATA NUNEZ,64662,.026,430,BALLARD,64662,.026,431,SCHWARTZ,64662,.026,432 244 DATA MCBRIDE,64662,.026,433,HOUSTON,64662,.026,434,CHRISTENSEN,64662,.026,435 245 DATA KLEIN,64662,.026,436,PRATT,64662,.026,437,BRIGGS,64662,.026,438 246 DATA PARSONS,64662,.026,439,MCLAUGHLIN,64662,.026,440,ZIMMERMAN,64662,.026,441 247 DATA FRENCH,64662,.026,442,BUCHANAN,64662,.026,443,MORAN,64662,.026,444 248 DATA COPELAND,62175,.025,445,ROY,62175,.025,446,PITTMAN,62175,.025,447 249 DATA BRADY,62175,.025,448,MCCORMICK,62175,.025,449,HOLLOWAY,62175,.025,450 250 DATA BROCK,62175,.025,451,POOLE,62175,.025,452,FRANK,62175,.025,453 251 DATA LOGAN,62175,.025,454,OWEN,62175,.025,455,BASS,62175,.025,456 252 DATA MARSH,62175,.025,457,DRAKE,62175,.025,458,WONG,62175,.025,459 253 DATA JEFFERSON,62175,.025,460,PARK,62175,.025,461,MORTON,62175,.025,462 254 DATA ABBOTT,62175,.025,463,SPARKS,62175,.025,464,PATRICK,59688,.024,465 255 DATA NORTON,59688,.024,466,HUFF,59688,.024,467,CLAYTON,59688,.024,468 256 DATA MASSEY,59688,.024,469,LLOYD,59688,.024,470,FIGUEROA,59688,.024,471 257 DATA CARSON,59688,.024,472,BOWERS,59688,.024,473,ROBERSON,59688,.024,474 258 DATA BARTON,59688,.024,475,TRAN,59688,.024,476,LAMB,59688,.024,477 259 DATA HARRINGTON,59688,.024,478,CASEY,59688,.024,479,BOONE,59688,.024,480 260 DATA CORTEZ,59688,.024,481,CLARKE,59688,.024,482,MATHIS,59688,.024,483 261 DATA SINGLETON,59688,.024,484,WILKINS,59688,.024,485,CAIN,59688,.024,486 262 DATA BRYAN,59688,.024,487,UNDERWOOD,59688,.024,488,HOGAN,59688,.024,489 263 DATA MCKENZIE,57201,.023,490,COLLIER,57201,.023,491,LUNA,57201,.023,492 264 DATA PHELPS,57201,.023,493,MCGUIRE,57201,.023,494,ALLISON,57201,.023,495 265 DATA BRIDGES,57201,.023,496,WILKERSON,57201,.023,497,NASH,57201,.023,498 266 DATA SUMMERS,57201,.023,499,ATKINS,57201,.023,500,WILCOX,57201,.023,501 267 DATA PITTS,57201,.023,502,CONLEY,57201,.023,503,MARQUEZ,57201,.023,504 268 DATA BURNETT,57201,.023,505,RICHARD,57201,.023,506,COCHRAN,57201,.023,507 269 DATA CHASE,57201,.023,508,DAVENPORT,57201,.023,509,HOOD,57201,.023,510 270 DATA GATES,57201,.023,511,CLAY,57201,.023,512,AYALA,57201,.023,513 271 DATA SAWYER,57201,.023,514,ROMAN,57201,.023,515,VAZQUEZ,57201,.023,516 272 DATA DICKERSON,57201,.023,517,HODGE,54714,.022,518,ACOSTA,54714,.022,519 273 DATA FLYNN,54714,.022,520,ESPINOZA,54714,.022,521,NICHOLSON,54714,.022,522 274 DATA MONROE,54714,.022,523,WOLF,54714,.022,524,MORROW,54714,.022,525 275 DATA KIRK,54714,.022,526,RANDALL,54714,.022,527,ANTHONY,54714,.022,528 276 DATA WHITAKER,54714,.022,529,OCONNOR,54714,.022,530,SKINNER,54714,.022,531 277 DATA WARE,54714,.022,532,MOLINA,54714,.022,533,KIRBY,54714,.022,534 278 DATA HUFFMAN,54714,.022,535,BRADFORD,54714,.022,536,CHARLES,54714,.022,537 279 DATA GILMORE,54714,.022,538,DOMINGUEZ,54714,.022,539,ONEAL,54714,.022,540 280 DATA BRUCE,54714,.022,541,LANG,52227,.021,542,COMBS,52227,.021,543 281 DATA KRAMER,52227,.021,544,HEATH,52227,.021,545,HANCOCK,52227,.021,546 282 DATA GALLAGHER,52227,.021,547,GAINES,52227,.021,548,SHAFFER,52227,.021,549 283 DATA SHORT,52227,.021,550,WIGGINS,52227,.021,551,MATHEWS,52227,.021,552 284 DATA MCCLAIN,52227,.021,553,FISCHER,52227,.021,554,WALL,52227,.021,555 285 DATA SMALL,52227,.021,556,MELTON,52227,.021,557,HENSLEY,52227,.021,558 286 DATA BOND,52227,.021,559,DYER,52227,.021,560,CAMERON,52227,.021,561 287 DATA GRIMES,52227,.021,562,CONTRERAS,52227,.021,563,CHRISTIAN,52227,.021,564 288 DATA WYATT,52227,.021,565,BAXTER,52227,.021,566,SNOW,52227,.021,567 289 DATA MOSLEY,52227,.021,568,SHEPHERD,52227,.021,569,LARSEN,52227,.021,570 290 DATA HOOVER,52227,.021,571,BEASLEY,49740,.02,572,GLENN,49740,.02,573 291 DATA PETERSEN,49740,.02,574,WHITEHEAD,49740,.02,575,MEYERS,49740,.02,576 292 DATA KEITH,49740,.02,577,GARRISON,49740,.02,578,VINCENT,49740,.02,579 293 DATA SHIELDS,49740,.02,580,HORN,49740,.02,581,SAVAGE,49740,.02,582 294 DATA OLSEN,49740,.02,583,SCHROEDER,49740,.02,584,HARTMAN,49740,.02,585 295 DATA WOODARD,49740,.02,586,MUELLER,49740,.02,587,KEMP,49740,.02,588 296 DATA DELEON,49740,.02,589,BOOTH,49740,.02,590,PATEL,49740,.02,591 297 DATA CALHOUN,49740,.02,592,WILEY,49740,.02,593,EATON,49740,.02,594 298 DATA CLINE,49740,.02,595,NAVARRO,49740,.02,596,HARRELL,49740,.02,597 299 DATA LESTER,49740,.02,598,HUMPHREY,49740,.02,599,PARRISH,49740,.02,600 300 DATA DURAN,49740,.02,601,HUTCHINSON,49740,.02,602,HESS,49740,.02,603 301 DATA DORSEY,49740,.02,604,BULLOCK,49740,.02,605,ROBLES,49740,.02,606 302 DATA BEARD,47253,.019,607,DALTON,47253,.019,608,AVILA,47253,.019,609 303 DATA VANCE,47253,.019,610,RICH,47253,.019,611,BLACKWELL,47253,.019,612 304 DATA YORK,47253,.019,613,JOHNS,47253,.019,614,BLANKENSHIP,47253,.019,615 305 DATA TREVINO,47253,.019,616,SALINAS,47253,.019,617,CAMPOS,47253,.019,618 306 DATA PRUITT,47253,.019,619,MOSES,47253,.019,620,CALLAHAN,47253,.019,621 307 DATA GOLDEN,47253,.019,622,MONTOYA,47253,.019,623,HARDIN,47253,.019,624 308 DATA GUERRA,47253,.019,625,MCDOWELL,47253,.019,626,CAREY,47253,.019,627 309 DATA STAFFORD,47253,.019,628,GALLEGOS,47253,.019,629,HENSON,47253,.019,630 310 DATA WILKINSON,47253,.019,631,BOOKER,47253,.019,632,MERRITT,47253,.019,633 311 DATA MIRANDA,47253,.019,634,ATKINSON,47253,.019,635,ORR,47253,.019,636 312 DATA DECKER,47253,.019,637,HOBBS,47253,.019,638,PRESTON,47253,.019,639 313 DATA TANNER,47253,.019,640,KNOX,47253,.019,641,PACHECO,47253,.019,642 314 DATA STEPHENSON,44766,.018,643,GLASS,44766,.018,644,ROJAS,44766,.018,645 315 DATA SERRANO,44766,.018,646,MARKS,44766,.018,647,HICKMAN,44766,.018,648 316 DATA ENGLISH,44766,.018,649,SWEENEY,44766,.018,650,STRONG,44766,.018,651 317 DATA PRINCE,44766,.018,652,MCCLURE,44766,.018,653,CONWAY,44766,.018,654 318 DATA WALTER,44766,.018,655,ROTH,44766,.018,656,MAYNARD,44766,.018,657 319 DATA FARRELL,44766,.018,658,LOWERY,44766,.018,659,HURST,44766,.018,660 320 DATA NIXON,44766,.018,661,WEISS,44766,.018,662,TRUJILLO,44766,.018,663 321 DATA ELLISON,44766,.018,664,SLOAN,44766,.018,665,JUAREZ,44766,.018,666 322 DATA WINTERS,44766,.018,667,MCLEAN,44766,.018,668,RANDOLPH,44766,.018,669 323 DATA LEON,44766,.018,670,BOYER,44766,.018,671,VILLARREAL,44766,.018,672 324 DATA MCCALL,44766,.018,673,GENTRY,44766,.018,674,CARRILLO,42279,.017,675 325 DATA KENT,42279,.017,676,AYERS,42279,.017,677,LARA,42279,.017,678 326 DATA SHANNON,42279,.017,679,SEXTON,42279,.017,680,PACE,42279,.017,681 327 DATA HULL,42279,.017,682,LEBLANC,42279,.017,683,BROWNING,42279,.017,684 328 DATA VELASQUEZ,42279,.017,685,LEACH,42279,.017,686,CHANG,42279,.017,687 329 DATA HOUSE,42279,.017,688,SELLERS,42279,.017,689,HERRING,42279,.017,690 330 DATA NOBLE,42279,.017,691,FOLEY,42279,.017,692,BARTLETT,42279,.017,693 331 DATA MERCADO,42279,.017,694,LANDRY,42279,.017,695,DURHAM,42279,.017,696 332 DATA WALLS,42279,.017,697,BARR,42279,.017,698,MCKEE,42279,.017,699 333 DATA BAUER,42279,.017,700,RIVERS,42279,.017,701,EVERETT,42279,.017,702 334 DATA BRADSHAW,42279,.017,703,PUGH,42279,.017,704,VELEZ,42279,.017,705 335 DATA RUSH,42279,.017,706,ESTES,42279,.017,707,DODSON,42279,.017,708 336 DATA MORSE,42279,.017,709,SHEPPARD,42279,.017,710,WEEKS,42279,.017,711 337 DATA CAMACHO,42279,.017,712,BEAN,42279,.017,713,BARRON,42279,.017,714 338 DATA LIVINGSTON,42279,.017,715,MIDDLETON,39792,.016,716,SPEARS,39792,.016,717 339 DATA BRANCH,39792,.016,718,BLEVINS,39792,.016,719,CHEN,39792,.016,720 340 DATA KERR,39792,.016,721,MCCONNELL,39792,.016,722,HATFIELD,39792,.016,723 341 DATA HARDING,39792,.016,724,ASHLEY,39792,.016,725,SOLIS,39792,.016,726 342 DATA HERMAN,39792,.016,727,FROST,39792,.016,728,GILES,39792,.016,729 343 DATA BLACKBURN,39792,.016,730,WILLIAM,39792,.016,731,PENNINGTON,39792,.016,732 344 DATA WOODWARD,39792,.016,733,FINLEY,39792,.016,734,MCINTOSH,39792,.016,735 345 DATA KOCH,39792,.016,736,BEST,39792,.016,737,SOLOMON,39792,.016,738 346 DATA MCCULLOUGH,39792,.016,739,DUDLEY,39792,.016,740,NOLAN,39792,.016,741 347 DATA BLANCHARD,39792,.016,742,RIVAS,39792,.016,743,BRENNAN,39792,.016,744 348 DATA MEJIA,39792,.016,745,KANE,39792,.016,746,BENTON,39792,.016,747 349 DATA JOYCE,39792,.016,748,BUCKLEY,39792,.016,749,HALEY,39792,.016,750 350 DATA VALENTINE,39792,.016,751,MADDOX,39792,.016,752,RUSSO,39792,.016,753 351 DATA MCKNIGHT,39792,.016,754,BUCK,39792,.016,755,MOON,39792,.016,756 352 DATA MCMILLAN,39792,.016,757,CROSBY,39792,.016,758,BERG,39792,.016,759 353 DATA DOTSON,39792,.016,760,MAYS,39792,.016,761,ROACH,39792,.016,762 354 DATA CHURCH,39792,.016,763,CHAN,39792,.016,764,RICHMOND,39792,.016,765 355 DATA MEADOWS,39792,.016,766,FAULKNER,39792,.016,767,ONEILL,39792,.016,768 356 DATA KNAPP,39792,.016,769,KLINE,37305,.015,770,BARRY,37305,.015,771 357 DATA OCHOA,37305,.015,772,JACOBSON,37305,.015,773,GAY,37305,.015,774 358 DATA AVERY,37305,.015,775,HENDRICKS,37305,.015,776,HORNE,37305,.015,777 359 DATA SHEPARD,37305,.015,778,HEBERT,37305,.015,779,CHERRY,37305,.015,780 360 DATA CARDENAS,37305,.015,781,MCINTYRE,37305,.015,782,WHITNEY,37305,.015,783 361 DATA WALLER,37305,.015,784,HOLMAN,37305,.015,785,DONALDSON,37305,.015,786 362 DATA CANTU,37305,.015,787,TERRELL,37305,.015,788,MORIN,37305,.015,789 363 DATA GILLESPIE,37305,.015,790,FUENTES,37305,.015,791,TILLMAN,37305,.015,792 364 DATA SANFORD,37305,.015,793,BENTLEY,37305,.015,794,PECK,37305,.015,795 365 DATA KEY,37305,.015,796,SALAS,37305,.015,797,ROLLINS,37305,.015,798 366 DATA GAMBLE,37305,.015,799,DICKSON,37305,.015,800,BATTLE,37305,.015,801 367 DATA SANTANA,37305,.015,802,CABRERA,37305,.015,803,CERVANTES,37305,.015,804 368 DATA HOWE,37305,.015,805,HINTON,37305,.015,806,HURLEY,37305,.015,807 369 DATA SPENCE,37305,.015,808,ZAMORA,37305,.015,809,YANG,37305,.015,810 370 DATA MCNEIL,37305,.015,811,SUAREZ,37305,.015,812,CASE,37305,.015,813 371 DATA PETTY,37305,.015,814,GOULD,37305,.015,815,MCFARLAND,37305,.015,816 372 DATA SAMPSON,37305,.015,817,CARVER,37305,.015,818,BRAY,37305,.015,819 373 DATA ROSARIO,37305,.015,820,MACDONALD,37305,.015,821,STOUT,37305,.015,822 374 DATA HESTER,37305,.015,823,MELENDEZ,37305,.015,824,DILLON,37305,.015,825 375 DATA FARLEY,37305,.015,826,HOPPER,37305,.015,827,GALLOWAY,37305,.015,828 376 DATA POTTS,37305,.015,829,BERNARD,37305,.015,830,JOYNER,34818,.014,831 377 DATA STEIN,34818,.014,832,AGUIRRE,34818,.014,833,OSBORN,34818,.014,834 378 DATA MERCER,34818,.014,835,BENDER,34818,.014,836,FRANCO,34818,.014,837 379 DATA ROWLAND,34818,.014,838,SYKES,34818,.014,839,BENJAMIN,34818,.014,840 380 DATA TRAVIS,34818,.014,841,PICKETT,34818,.014,842,CRANE,34818,.014,843 381 DATA SEARS,34818,.014,844,MAYO,34818,.014,845,DUNLAP,34818,.014,846 382 DATA HAYDEN,34818,.014,847,WILDER,34818,.014,848,MCKAY,34818,.014,849 383 DATA COFFEY,34818,.014,850,MCCARTY,34818,.014,851,EWING,34818,.014,852 384 DATA COOLEY,34818,.014,853,VAUGHAN,34818,.014,854,BONNER,34818,.014,855 385 DATA COTTON,34818,.014,856,HOLDER,34818,.014,857,STARK,34818,.014,858 386 DATA FERRELL,34818,.014,859,CANTRELL,34818,.014,860,FULTON,34818,.014,861 387 DATA LYNN,34818,.014,862,LOTT,34818,.014,863,CALDERON,34818,.014,864 388 DATA ROSA,34818,.014,865,POLLARD,34818,.014,866,HOOPER,34818,.014,867 389 DATA BURCH,34818,.014,868,MULLEN,34818,.014,869,FRY,34818,.014,870 390 DATA RIDDLE,34818,.014,871,LEVY,34818,.014,872,DAVID,34818,.014,873 391 DATA DUKE,34818,.014,874,ODONNELL,34818,.014,875,GUY,34818,.014,876 392 DATA MICHAEL,34818,.014,877,BRITT,34818,.014,878,FREDERICK,34818,.014,879 393 DATA DAUGHERTY,34818,.014,880,BERGER,34818,.014,881,DILLARD,34818,.014,882 394 DATA ALSTON,34818,.014,883,JARVIS,34818,.014,884,FRYE,34818,.014,885 395 DATA RIGGS,34818,.014,886,CHANEY,34818,.014,887,ODOM,32331,.013,888 396 DATA DUFFY,32331,.013,889,FITZPATRICK,32331,.013,890,VALENZUELA,32331,.013,891 1000 DATA $$$$,0,0,0 Edited August 3, 2019 by drpeter Quote Link to comment Share on other sites More sharing options...
+slx Posted August 3, 2019 Share Posted August 3, 2019 23 hours ago, Faicuai said: The Beeb was (and is), in my opinion, a little, kick-ass computer, that gram-by-gram, byte-for-byte did same (or I would say more) than almost all of its competing products, with whatever resources it had. A Beeb with 6502 and ANTIC having full-time access to RAM then? I also find the BBC very interesting (and bought two of them just out of curiosity). Some of its design principles are almost opposite to the Ataris' which were built for "maximum consumer friendliness" and are almost completely enclosed for the FCC while the BBC sprouts connectors and external buses and many users never bother to fasten the screws that fix the upper case to the bottom for easier access to the innards. It even allowS/expects users to rip out a piece of the housing to be able to insert bare ROM chips to add programs that can not only be bank switched in and out by the operating system but also tell the OS what kind of commands they can execute. The 32K RAM limit looks severe at first sight, especially given the high graphics resolution available, but there are a number of ways to add bankswitched RAM (and ROM) with clever daughterboards. No wonder the guys who invented it went on to form ARM and became a big player in the embedded/smartphone CPU market even when their grip on the PC market ended with IBM and Apple giving up the PowerPC. (One of them is Austrian after all ;)). I really need more time to put in all the gadgets I bought for it and fire it up. Porting Action! to a BBC ROM would be a worthwhile project. Quote Link to comment Share on other sites More sharing options...
Faicuai Posted August 3, 2019 Share Posted August 3, 2019 On 8/2/2019 at 1:17 PM, drpeter said: Indeed, all variations might be interesting as long as the endless possibilities don't spiral out of control. There are also, as the _Doctor__ mentioned, halfway-houses that minimise DMA to various extents while not entirely cutting off feedback. I guess the quickest and dirtiest 'stock' one would be to invoke Graphics 3, which achieves ~75% of the full time gain achieved by turning off DMA entirely (from a baseline of Graphics 0) Some interesting benchmarks, for the actual sort alone, using the 'hideously slow' code posted earlier for 891 names and in Altirra 3.20 XL/64K/Atari BASIC Rev.C, Turbo Compiler 1.1: Uncompiled, Graphics 0, DMA active: 4414 seconds Uncompiled, Graphics 3, DMA active: 3444 seconds Uncompiled, Graphics 0, DMA inactive: 3243 seconds Compiled, Graphics 0, DMA active: 616 seconds Compiled, Graphics 3, DMA active: 496 seconds Compiled, Graphics 0, DMA inactive: 452 seconds Uncompiled., Gr.0, DMA=OFF: 1721 secs, on XE_U04FP system rom (16KB), + Altirra 1.56 (8KB rom). Working on a brand-new, from-scratch sort routine for this exercise (optimized for Atari Basic's STRING handling). If I get it to decent results, I will post it here (with same ingredients, as above, FULLY interpreted...) Quote Link to comment Share on other sites More sharing options...
JamesD Posted August 3, 2019 Share Posted August 3, 2019 (edited) Skipping the scan to find the array size by just setting N=891 instead, and using my new method of calculating the gap. Emulator, hand timed, full run time, not just the sort. MC-10 5:34 = 334 seconds MC-10 New ROM 4:55 = 295 seconds Apple II Plus 5:57 = 357 seconds Emulator, machine timed, full run time Plus/4 7:16 = 436 seconds Plus/4 (high speed sort) 5:10 = 310 seconds (309.9166...) I was not expecting that much of an improvement. *edit* Not sure if the timer interrupt is running in high speed mode Changes for Plus/4 0 TI$="000000":I=0:G=I:N=I:C=I:D=I:E=I:NW=I:H=I:T=I:O=1:Z=0:GOTO20 20 SCNCLR:PRINT"READ, SORT, AND LIST MOST POPULAR SIR NAMES" 34 PRINT:PRINT"DONE";TI 'To use high speed mode for the sort only 30 POKE 65286,0:GOSUB1:POKE65286,27 Edited August 3, 2019 by JamesD Quote Link to comment Share on other sites More sharing options...
JamesD Posted August 3, 2019 Share Posted August 3, 2019 The timer does appear to work while the Plus/4 is in high speed mode. The sort alone takes over 4 minutes. Quote Link to comment Share on other sites More sharing options...
JamesD Posted August 3, 2019 Share Posted August 3, 2019 (edited) The MC-10 with an HD6303 should complete this somewhere around 4 minutes (240 seconds) +-10 seconds depending on the speedup it offers here. I haven't modded a machine to verify % speedup yet, but the HD6309 speeds up the CoCo by around 20% in native mode with no 6309 specific code, so I guessed between 15% and 20% faster. Edited August 3, 2019 by JamesD Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.