SECTION "VTPTEST"


GET "LIBHDR"
GET "RINGHDR"


LET start()  BE
$(
    LET bscb  =  0

    rcvopen( 10, 0, @bscb )

    $(  //  Main loop.

        WHILE  bscb = 0  DO  nextco()

        cocreate( handleio, 200, bscb )

        bscb  :=  0
    $)
    REPEAT
$)



AND handleio( cobase, bscb )  BE
$(
    LET vtp.i  =  makevtp( bscb )
    LET vtp.o  =  result2

    IF  vtp.i = 0  THEN  RETURN

    selectinput( vtp.i )
    selectoutput( vtp.o )

    writes( "Welcome to MILLIWAYS running the Z80 BCPL System*N*N" )

    FOR  i = 0  TO  maxint  DO
    $(
        IF  i REM 5000  =  0    THEN  writef( "******  Splat  %N!*N", i )
        IF  testbreak( vtp.i )  THEN  writes( "******  BREAK*N" )
        
        nextco()
    $)

    writes( "End of session*N" )
    endread()
$)


