Changeset 229c7393422c788b47fb6fe491fad591fe049d3f
Commiter: Charles Childers
Author: Charles Childers
Parent: fbec8f49ae
(2010/03/11 01:11) Almost 2 years ago
hack old gonga sources to support implicit calls; exits via port 5 query -9
Commiter: Charles Childers
Author: Charles Childers
Parent: fbec8f49ae
(2010/03/11 01:11) Almost 2 years ago
hack old gonga sources to support implicit calls; exits via port 5 query -9
retro: emptyimg gonga retroImageecho '#!/usr/bin/gonga -' | cat - retroImage > retrochmod +x retroembed: embedimage gongaemptyimg:echo 'package main; var retroImage = [...]int{}' | gofmt > image.goIMGRETRO=' \here \: dump 0 @+ (.) swap for char: , emit space @+ (.) next ; \dump bye'IMGAWK=' \/ok[ ]+dump/ { \sub(/^.*dump/, ""); \print "package main"; \print "var retroImage = [...]int{" $$0 "}"; \}'embedimage: retroImageecho $(IMGRETRO) | gonga retroImage | awk $(IMGAWK) | gofmt > image.go: cores ( -x ) -7 5 out wait 5 in ; ( number of running cores ): cores ( -x ) 1 5 out wait 5 in ; ( number of running cores ): chans ( -x ) -8 5 out wait 5 in ; ( number of channels in use ): chans ( -x ) 2 5 out wait 5 in ; ( number of channels in use )func (vm *NgaroVM) wait(port *[nports]int, tos int) (spdec int) {func (vm *NgaroVM) wait(port *[nports]int, tos int, ip int) (spdec int) {if port[0] == 1 {if port[0] == 1 {case -7: // Number of corescase -9:ip = vm.sizecase 1: // Number of corescase -8: // Number of channelscase 2: // Number of channelssp -= vm.wait(&port, tos, ip)ip = vm.sizersp++addr[rsp] = ipip = vm.img[ip] - 1if sp < 0 {if sp < 0 {