EXAPUNKS

EXAPUNKS

View Stats:
Tanuki__kun Aug 15, 2019 @ 10:07am
A little help with ExaBlaster Modem?
So, thanks to the help I've been recieving, I've made it to the ExaBlaster Modem stage, but now I find myself stumped with a silly block, probably I'm just tired.

So, I managed to extract the phone numbers from each host and then dial the next phone, so far so good.

Problem is, I can't connect to 2 different hosts at the same time, and I can't find a way to let the dialer EXA know that the last dial attempt failed (can't send a signal from a dead EXA).

Here is what I've got so far:


GRAB 300
LINK 800

@REP 11
COPY F #DIAL
@END
WIPE

MARK GOTOHOST
LINK 800
GRAB 200

REPL NEWNUMBERS
MARK COPYNUMBERS
TEST EOF
TJMP NOMORENUMBERS
COPY -2 M
SEEK 1
@REP 11
COPY F M
@END
JUMP COPYNUMBERS

MARK NOMORENUMBERS
COPY -1 M
HALT

MARK NEWNUMBERS
MAKE
MARK ADDNUMBERS
TEST M = -1
TJMP EXITHOST
@REP 11
COPY M F
@END
JUMP ADDNUMBERS

MARK EXITHOST
LINK -1
COPY -1 #DIAL
SEEK -9999

MARK DIALNEXT
TEST EOF
TJMP ENDDIALING
@REP 11
COPY F #DIAL
@END
REPL GOTOHOST
; HOW TO CONFIRM? <- HELP!
JUMP DIALNEXT

MARK ENDDIALING
WIPE
HALT


You'll see that there is a comment in the section where I need a signal to tell the dialer to dial the next number because the first finished either successfully or unsuccessfully.

Obviously there is a better way to do this, but rather than discarding everything and taking someone else's code from scratch, I prefer to have some help trying to fix my own mess.

If the solution is just not viable, then for sure I'll take help to rework it :)

Thanks in advance!
< >
Showing 1-5 of 5 comments
thewifiwhisperer Aug 15, 2019 @ 10:40am 
You're spot on right in your analysis. You need to figure out a way to let somebody know (or feel!) that something succeeded, or not. Basically, don't test whether they died, test whether they are alive.

I completely missed a TEST from the 'zine that will help. It's in the communications section

So, my initial approach was to have an Exa dial the number, then basically assume that the dial would fail, wait a little, then dial the next number. If the dial did succeed, the dialing Exa would learn in no uncertain terms from the investigating replicant.

If they don't listen, make 'em *FEEL*
Last edited by thewifiwhisperer; Aug 15, 2019 @ 10:44am
TheVoiid Aug 15, 2019 @ 10:43am 
Try to use TEST MRD ;)
Tanuki__kun Aug 15, 2019 @ 11:23am 
I absolutely forgot that command existed!

I'll give it a shot, thanks :)
Tanuki__kun Aug 15, 2019 @ 12:20pm 
Ok, so I added a checker to see if the EXA actually connected to something or not.

But, in the second test run, once I get the third phone number, I try calling it and I get connection refused. That file only contains 1 phone number, and it doesn't connect to anything, so the program stops there.

I was assuming that there was only 1 valid phone number per dataphone, there can be more than 1?

I was halting the dialer EXA once a valid connection was done.

I was thinking about checking if the file held was finished before halting it, but it would mean checking if an EXA returned from the host or not before dialing again, and it's starting to become quite complex and I'm reaching the size limit, so I'm clearly overcomplicating things...

GRAB 300
LINK 800

@REP 11
COPY F #DIAL
@END
WIPE

REPL GOTOHOST
JUMP CHECKMRD

MARK GOTOHOST
LINK 800
COPY 0 M
GRAB 200

REPL NEWNUMBERS
MARK COPYNUMBERS
TEST EOF
TJMP NOMORENUMBERS
COPY -2 M
SEEK 1
@REP 11
COPY F M
@END
JUMP COPYNUMBERS

MARK NOMORENUMBERS
COPY -1 M
HALT

MARK NEWNUMBERS
MAKE
MARK ADDNUMBERS
TEST M = -1
TJMP EXITHOST
@REP 11
COPY M F
@END
JUMP ADDNUMBERS

MARK EXITHOST
LINK -1
COPY -1 #DIAL
SEEK -9999

MARK DIALNEXT
TEST EOF
TJMP ENDDIALING
@REP 11
COPY F #DIAL
@END
REPL GOTOHOST
MARK CHECKMRD
NOOP
NOOP
TEST MRD
FJMP DIALNEXT
COPY M X

MARK ENDDIALING
WIPE
HALT


Any ideas?
Last edited by Tanuki__kun; Aug 15, 2019 @ 12:20pm
kaymarciy Aug 15, 2019 @ 1:42pm 
Originally posted by Barolfio:
I was assuming that there was only 1 valid phone number per dataphone, there can be more than 1?
Yup. File may have more than 1 valid number as well as no valid numbers. Was quite surprised when reached this place.
< >
Showing 1-5 of 5 comments
Per page: 1530 50