Forum
Spectranet - Printable Version

+- Forum (https://www.boriel.com/forum)
+-- Forum: Compilers and Computer Languages (https://www.boriel.com/forum/forumdisplay.php?fid=12)
+--- Forum: ZX Basic Compiler (https://www.boriel.com/forum/forumdisplay.php?fid=11)
+---- Forum: Wishlist (https://www.boriel.com/forum/forumdisplay.php?fid=14)
+---- Thread: Spectranet (/showthread.php?tid=577)

Pages: 1 2 3


Spectranet - ardentcrest - 01-21-2014

Be nice if you could get the compiler to work with the spectranet.

Code:
10 %open #4,"file","r"
20 %oneof 100
30 INPUT #4,a$
40 PRINT a$
50 GO TO 30
100 %close #4

will not work as it sees the % as an illegal character.


Re: Spectranet - boriel - 01-21-2014

Very good idea, Ardencrest! :!:
However, %open and the like are used to extend Sinclair BASIC.
A more simple Idea will be implement them as functions (and even use ASM). Something like:

Code:
10 DIM handle as Integer;
20 handle = SNetOpen("file", "r"): REM handle is the channel, like #4, but the routine returns its own
30 IF handle = -1 THEN GOTO 3000: END IF: REM Error if -1
35 SNetOneof(100): REM Don't know what it does
40 SNetInput(handle, a$): REM another way could be a$ = SNetRead(handle)
50 PRINT a$
60 GO TO 40
...
100 SNetClose(handle)
I could implement these if you want, but don't own a spectranet.
Do you know if there's an emulator which supports spectranet?


Re: Spectranet - ardentcrest - 01-21-2014

FUSE but you have to load it up

<!-- m --><a class="postlink" href="http://spectrum.alioth.net/doc/index.php/Spectranet_ROM_images">http://spectrum.alioth.net/doc/index.ph ... ROM_images</a><!-- m -->

<!-- m --><a class="postlink" href="http://sourceforge.net/p/fuse-emulator/code/HEAD/tree/trunk/fuse/hacking/spectranet.txt">http://sourceforge.net/p/fuse-emulator/ ... tranet.txt</a><!-- m --> (a how to)

When you get it working make a snapshot so you dont have to redo it all the time. just need to load in the snapshot


Re: Spectranet - ardentcrest - 01-21-2014

I can send you my snapshot. all you have to do is enter your ip address


Re: Spectranet - boriel - 01-21-2014

You mean the emulator snapshot? Is is useful for developing routines?
(I have NO experience at all, so maybe this is an obvious question)


Re: Spectranet - ardentcrest - 01-21-2014

heres my snapshot
unzip load up fuse and load in the file

you can join me on the zx chat <!-- m --><a class="postlink" href="http://www.coldfront.net/tiramisu/tiramisu.swf?channels=#zx">http://www.coldfront.net/tiramisu/tiram ... annels=#zx</a><!-- m -->


Re: Spectranet - ardentcrest - 01-21-2014

most is like the code for the microdrive anything with a % is for the spectranet

Quote: 10 %fopen #4,"file","r"
spectranet for file open

Code:
20 %oneof 100
no idea


Code:
30 INPUT #4,a$
as with mricrodrive

Code:
40 PRINT a$
50 GO TO 30
normal basic

Quote:100 %close #4
as with mricrodrive


Re: Spectranet - cheveron - 01-21-2014

One thing to beware of on a snapshot is that you need to reset the IP address of the virtual Spectranet to the IP address of your real device. As Spectranet has a whole API and uses channels and streams it would seem like a good idea to use that existing functionality, rather than force keywords into BASIC. Much documentation here:

<!-- m --><a class="postlink" href="http://spectrum.alioth.net/doc/index.php/Main_Page">http://spectrum.alioth.net/doc/index.php/Main_Page</a><!-- m -->


Re: Spectranet - ardentcrest - 01-25-2014

Can the compiler do microdrive code

Code:
10 OPEN#4:“m”;1:“digits”
20FORn=1TO15
30PRINT#4;n,n*n
40NEXTn
50
CLOSE#4

and so on


Re: Spectranet - boriel - 01-25-2014

Not yet. In fact the idea, as always is to use asm libraries and not to touch ZX BASIC syntax anymore, since it could extend to other platforms.
So, Open #4 should be translated to handle = OpenChannel(4, "m", 1, "digits") a la C.
We can discuss it, however. Smile


Re: Spectranet - ardentcrest - 01-28-2014

boriel Wrote:Very good idea, Ardencrest! :!:
However, %open and the like are used to extend Sinclair BASIC.
A more simple Idea will be implement them as functions (and even use ASM). Something like:

Code:
10 DIM handle as Integer;
20 handle = SNetOpen("file", "r"): REM handle is the channel, like #4, but the routine returns its own
30 IF handle = -1 THEN GOTO 3000: END IF: REM Error if -1
35 SNetOneof(100): REM Don't know what it does
40 SNetInput(handle, a$): REM another way could be a$ = SNetRead(handle)
50 PRINT a$
60 GO TO 40
...
100 SNetClose(handle)
I could implement these if you want, but don't own a spectranet.
Do you know if there's an emulator which supports spectranet?

any update an adding the spectranet % to the compiler :wink:

Quote:temp.bor:1: illegal character '%'



Re: Spectranet - IanJ - 09-03-2014

Hi all,

To ressurect an old thread, I have the Spectranet card and was wondering if there had been any movement with adding the functionality to the compiler. Maybe it has but I am missing the documentation.

Any help appreciated.

PS. Here's the code I'm trying to compile.....it's a wee webserver.

Code:
4  LET count=0
8  PRINT AT 0,0;"Webserver started"
10 %listen #4,80
20 %control #5
30 PRINT AT 1,0;"Total connections = ";count
40 %accept #5,4
50 PRINT #5;"You are connected to IanJ's ZX Spectrum - Visitor = ";count+1
55 PRINT #5;" "
60 LET count=count+1
70 INPUT #5;a$
90 INPUT #5;a$
100 PRINT AT 7,0;a$
110 PRINT #5;a$
120 INPUT #5;a$
130 PRINT AT 9,0;a$
140 PRINT #5;a$
210 BEEP 0.2,40
220 %close #5
230 %close #4
240 GO TO 10



Re: Spectranet - ardentcrest - 09-25-2014

client


Re: Spectranet - ardentcrest - 09-25-2014

telnet by geusser


Re: Spectranet - ardentcrest - 09-25-2014

Mine

Code:
10 %connect #4,"zxmud.zapto.org",4000
20 %oneof 80
30 print #4;"0"
40 input #4;a$
50 print a$
60 goto 40
80 %close #4

Telnet

download

<!-- m --><a class="postlink" href="http://alistairtesting.no-ip.org/telnet">http://alistairtesting.no-ip.org/telnet</a><!-- m -->