ticalc.org
Basics Archives Community Services Programming
Hardware Help About Search Your Account
   Home :: Archives :: News :: The Big Merge

The Big Merge
Posted by Niklas on 9 April 2002, 15:20 GMT

No, ticalc.org is not merging with another site. What's new is that through some of Magnus' continuous improvements, the filearchives now support merging of files. This means that if an author has multiple versions of the same game or program in our archives, the old versions can be merged into the latest one while still keeping the precious download statistics.

To get this done for your files, simply contact filearchive@ticalc.org with the necessary information (author ID, file names and, if you can, file ID:s).

Update (Niklas): Note that we can't merge file contents, just file statistics. So to add stuff to an old file you still need to upload a complete replacement.

 


The comments below are written by ticalc.org visitors. Their views are not necessarily those of ticalc.org, and ticalc.org takes no responsibility for their content.


Re: The Big Merge
Chivo  Account Info

w00t! I like merging. Merging is fun. Say "merging" ten thousand times really fast. Whoa, weird!

int i;
for (i = 0; i < 10000; ++i) puts("merging");

     9 April 2002, 16:43 GMT

Re: Re: The Big Merge
343GuiltySpark  Account Info
(Web Page)

:For(x,1,10000
:Disp "Merging"
:End

     9 April 2002, 18:44 GMT


Re: Re: Re: The Big Merge
shakey_snake  Account Info
(Web Page)

var
X:integer;
begin
for X:= 1 to 10000 do writeln('Merging');
end.

Woot for the mighty Pascal

     9 April 2002, 21:12 GMT


Re: Re: Re: Re: The Big Merge
ericman2000
(Web Page)

FOR A=1 TO 1000 STEP 1
PRINT "Merging"
NEXT A

Ahhhh, BASIC, my old friend.

Technically the "STEP 1" is not needed, but I used it for old time's sake.

     10 April 2002, 01:31 GMT

Re: Re: Re: Re: Re: The Big Merge
no_one_2000_  Account Info
(Web Page)

I used to know basic...

void _main(){
int a;
clrcsr();
for (a=1;a<=1000;a++){
printf("MERGING!");//Did I spell that right?
}
}

Now I know C.

     10 April 2002, 03:00 GMT


Re: Re: Re: Re: Re: Re: The Big Merge
joelt  Account Info
(Web Page)

for (int i = 0; i < 1000; i++)
{cout << "MERGING";}

     10 April 2002, 07:10 GMT


Re: Re: Re: Re: Re: Re: Re: The Big Merge
no_one_2000_  Account Info
(Web Page)

Hey, that's C++!

public class no_one_2000_{
public static void main(String[] args){
System.out.println("MERGE");//Java is obsolete :(
}
}

     10 April 2002, 22:51 GMT


Re: Re: Re: Re: Re: Re: Re: Re: The Big Merge
no_one_2000_  Account Info
(Web Page)

Javascript

<SCRIPT><!--
function merge(){
for(a=1;a<=10000;a++){
document.write("MERGE!<BR>");
}
}
merge();
//--></SCRIPT>

     11 April 2002, 02:35 GMT


Re: Re: Re: Re: Re: Re: Re: Re: Re: The Big Merge
esweecoo  Account Info
(Web Page)

asm 82!
.include CRASH82.INC
Merging:
.db "Merging",0
ld bc,1000
ld hl,0
ld (CURSOR_POS),HL
loop:
ld hl,Merging
ROMCALL(D_ZT_STR)
djnz loop
dec b
dec c
jr nz,loop
ret


or somthing...

     13 April 2002, 01:39 GMT


Re: Re: Re: Re: Re: The Big Merge
esweecoo  Account Info
(Web Page)

you don't need the a after next either

     13 April 2002, 01:27 GMT

Re: Re: The Big Merge
Benjamin Esham  Account Info
(Web Page)

gawk is w00t:

BEGIN {
for(i = 0; i < 10000; i++)
print "merging";
}

     9 April 2002, 21:29 GMT

Re: Re: Re: The Big Merge
Gergely Patai  Account Info

8085 assembly is the best way to go. :)

LXI H,TEXTDATA
MVI D,(TEXTDATA+7) AND 255
MOV E,L
LXI B,10000
LOOP:
MOV A,M
OUT 15 ; Okay, let's suppose screen is
INX H ; connected to port 15 :)
MOV A,L
CMP D
JNZ CONTINUE
MOV A,E
CONTINUE:
MOV L,A
DCX B
MOV A,B
ORA C
JNZ LOOP
HALT

TEXTDATA:
DB "MERGING"

This code is actually erroneous. Who can guess out what the problem is? :)

     9 April 2002, 22:04 GMT


Re: Re: Re: Re: The Big Merge
Chivo  Account Info

Your TEXTDATA string doesn't have a 0 byte at the end.

     9 April 2002, 22:09 GMT

Re: Re: Re: Re: Re: The Big Merge
Chickendude  Account Info

Won't it display like this?:
MERGINGMERGINGME
RGINGMERGINGMERG
INGMERGINGMERGIN
GMERGINGMERGINGM
...
?
At least on the 83s... I think.
w00t!

While X=5
Disp "w00t!
End

     10 April 2002, 01:48 GMT


Re: Re: Re: Re: Re: Re: The Big Merge
Chivo  Account Info

The null terminator (zero byte) is to tell functions like puts or printf that it's the end of the string of characters. A newline would be '\n', which is value 10.

     10 April 2002, 04:15 GMT


Re: Re: Re: Re: Re: Re: Re: The Big Merge
Chickendude  Account Info

That's in C, not asm, I think.

     10 April 2002, 23:13 GMT


Re: Re: Re: Re: Re: Re: Re: Re: The Big Merge
garyanddepleatedteamup  Account Info

yes, the newline is in c

ThIs Is A c CoMaNd

printf("hi\n")

GeT tHe PiCtUrE

     11 April 2002, 00:42 GMT


Re: Re: Re: Re: Re: Re: Re: Re: Re: The Big Merge
Chivo  Account Info

There's no reason it can't be used in assembly too, is there now?

     11 April 2002, 16:14 GMT


Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: The Big Merge
Chickendude  Account Info

so you want it to be able to be:
ld hl,mergetxt
...
mergetxt:
.db "merging\n",0
.end
END

???

     11 April 2002, 22:15 GMT


Re: Re: Re: Re: Re: The Big Merge
Gergely Patai  Account Info

Nope, that's not an error. Actually separation between two "MERGING"'s wasn't mentioned in the specification of the problem. However, if you look closely, you can see that the output will be incorrect if the textdata is on a 256-byte boundary, i. e. register H should change somewhere in the text.

     10 April 2002, 18:38 GMT


Re: Re: Re: Re: Re: Re: The Big Merge
Chivo  Account Info

The 0 is not to separate the "MERGING"'s but to indicate the end of the string. In this program, it appears that it knows the length of the string (7) instead of checking for a terminator. You are right in that it's not an error. I prefer the mnemonics that are typically used in Z80 assembly over these. They just seem more logical to me.

Here's the typical Z80 equivalent, which is a simple and direct translation of mnemonics:

LD HL,TEXTDATA
LD D,(TEXTDATA+7) AND 255
LD E,L
LD BC,10000
LOOP:
LD A,(HL)
OUT (15),A ; Okay, let's suppose screen is
INC HL ; connected to port 15 :)
LD A,L
CMP D
JR NZ,CONTINUE
LD A,E
CONTINUE:
LD L,A
DEC BC
LD A,B
OR C
JR NZ,LOOP
HALT

TEXTDATA:
.DB "MERGING"

     10 April 2002, 19:47 GMT


Re: Re: Re: Re: Re: Re: Re: The Big Merge
Gergely Patai  Account Info

I already know Z80, but thanks anyway. :) I just wrote 8085 code, because I need to practice for the upcoming digital technology test, as this language is quite new to me (I just learnt the mnemonics yesterday). But what would you have done if I had used SIM instead of a port? :))) Actually I also find the Z80 assembly much more logical; I don't really understand why they have so many different names for LD on the 8085. Probably they didn't want to use special characters for memory references.

BTW If you really want to use equivalents, you should write JP instead of JR, as relative jumps do not exist on the 8085... And "CMP D" should be "CP D". And it was another mistake by me: I accidentally wrote "HALT" instead of "HLT". :)

     10 April 2002, 23:58 GMT

Re: Re: Re: Re: Re: Re: Re: Re: The Big Merge
no_one_2000_  Account Info
(Web Page)

Oh my gosh, this is so freaky. That 8058 (whatever the number) assembly is FREAKY!

     11 April 2002, 02:38 GMT


Re: Re: Re: Re: Re: Re: Re: Re: Re: The Big Merge
Chivo  Account Info

Oh, you baby! It's not THAT bad. Let's order you a waah-burger and some French cries! (j/k ;)

     11 April 2002, 16:52 GMT


Re: Re: Re: Re: Re: Re: Re: Re: The Big Merge
Chivo  Account Info

Yeah, you're right about the CMP. That's also the instruction in 68k asm. Good luck with the test though.

I've seen these mnemonics used for the Z80 mp once. It was a chess game named Sargon. The book it was in also had a conversion table of the instructions. I've also seen similar instructions for the Motorola 6502 (that's in Commodore 64's), in that it had separate mnemonics for the same operation, such as load. To load a value to the accumulator, one would do LDA (value). To store the accumulator to memory, one would do STA (address). To me, those instructions also made less sense to me. I don't think it has an add or subtract instruction, other than adc and sbc (add/sub w/ carry), so you'd have to clear the carry flag to perform a normal operation.

That's my $0.02

     11 April 2002, 16:51 GMT


Re: Re: Re: Re: Re: Re: Re: Re: Re: The Big Merge
Gergely Patai  Account Info

I always thought C64's ran with 6510.

     12 April 2002, 18:31 GMT


Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: The Big Merge
Chivo  Account Info

They do, actually, but the 6510 is nearly identical to the 6502. Small technicality.

     12 April 2002, 18:51 GMT


Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: The Big Merge
Gergely Patai  Account Info

Actually I have an instruction table for the 6502. It's quite easy to determine what instructions do from their names, so somehow it does make sense (funny they call "jumps" "branches"). I think one's taste depends very much on what he is used to. I don't think I could easily adapt to the inverse operand order of the motorola assembly either... At least I would need more time to get into it than learning this 8085 stuff.

     12 April 2002, 22:03 GMT


Re: Re: Re: The Big Merge
Chickendude  Account Info

begin:
bcall(_homeup)
ld a,0
ld b,0
merge:
ld hl,mergetxt
bcall(_puts)
inc a
cp 200
call z,yay
ld a,b
cp 6
ret z
jp merge
yay:
inc b
ret
mergetxt:
.db "Merge!",0

END

     9 April 2002, 22:24 GMT

Re: Re: The Big Merge
Chivo  Account Info

ld hl,w00t
ld bc,10000
loop:
push bc
push hl
call _puts
call _newline
pop hl
pop bc
dec bc
ld a,b
or c
jr nz,loop
ret

w00t:
.db "merging",0

     9 April 2002, 22:05 GMT

Re: Re: The Big Merge
Chickendude  Account Info

'i' before 'e' except after 'c', or in 'ay', such as 'neighbor' or 'weigh', or... 'weird'?

     9 April 2002, 22:25 GMT


Re: Re: Re: The Big Merge
Chivo  Account Info

English is weird (!) in this way.

Other examples are "science" and "height".

     10 April 2002, 04:16 GMT

Re: Re: Re: Re: The Big Merge
kris_kringle

my friend wrote a comic about rice fields... but he wrote it feilds... so I said he must have feild English class.
it makes sense if you pronounce 'ei' as 'ay'...

     10 April 2002, 05:53 GMT

Re: Re: Re: Re: Re: The Big Merge
no_one_2000_  Account Info
(Web Page)

Haha I get it! :)

     10 April 2002, 22:52 GMT


Re: Re: Re: Re: Re: The Big Merge
Chickendude  Account Info

I get it, too!
Haha!
w00tw00t!

     10 April 2002, 23:14 GMT


Re: Re: Re: Re: Re: Re: The Big Merge
no_one_2000_  Account Info
(Web Page)

WoOoOOo()ooOo()oOOo()t!

     11 April 2002, 02:42 GMT


Re: Re: Re: Re: Re: Re: Re: The Big Merge
lord_nightrose Account Info
(Web Page)

:-|B

     11 April 2002, 05:27 GMT


Re: Re: Re: Re: The Big Merge
rmohr02 Account Info
(Web Page)

Well, science is easy because the i and e are part of separate syllables.

     12 April 2002, 22:46 GMT

Re: Re: The Big Merge
rmohr02 Account Info
(Web Page)

for(i = 1, i = 10000, i++) {
document.write("Merging");
}

// Yes, I know JavaScript is evil, but it's the most advanced
// language I know right now (but I'm learning C).

     11 April 2002, 13:27 GMT


Re: Re: The Big Merge
Frank Mulder  Account Info
(Web Page)

This is going to be the future superadvanced language (somebody knows 'English'?)

"Display 'Merging' a thousand times"

     10 May 2002, 11:33 GMT

1  2  3  4  5  6  

You can change the number of comments per page in Account Preferences.

  Copyright © 1996-2012, the ticalc.org project. All rights reserved. | Contact Us | Disclaimer