torpor
hack hack hack, the little machines fight back
Download BCPL_edsac_GP2X here ...
Code:
torpor@2[BCPL_edsac_GP2X]$ cat README.GP2X
what the heck is bcpl/edsac for the GP2X?
---------------------------------------------------------------
this is a quick and very dirty port of BCPL .. done in the
dark cold rain one so-called summer night strictly for the
purpose of being able to run edsac.b, which you will find
in $BCPL_GP2X/cintcode/com/edsac.b
BCPL? eh?
---------------------------------------------------------------
BCPL is a programming language:
http://en.wikipedia.org/wiki/BCPL
with BCPL on your gp2x, you can run many BCPL programs, such
as the edsac simulator:
edsac? wtf?
---------------------------------------------------------------
what, you don't know edsac? no so-called 'greatest emu system
ever' would be complete, or even qualified, without it ..;)
http://en.wikipedia.org/wiki/EDSAC
.. you know, 'shall we play a game':
http://en.wikipedia.org/wiki/OXO
"OXO is the first known (graphical) game to run on a computer."
.. get yer edsac roms^H^H^H^Hcode here:
http://www.dcs.warwick.ac.uk/~edsac/
http://www.dcs.warwick.ac.uk/~edsac/Programs/Programs.html
and a bit more detail here:
http://www.dcs.warwick.ac.uk/~edsac/Software/EdsacTG.pdf
:)
okay, okay, very funny .. still .. WTF?
---------------------------------------------------------------
hey, its a work in progress .. what are you, an emacs user?;)
there is no GUI .. yet.
how do i use this extraordinarily silly package to geek out?
---------------------------------------------------------------
first, you have to be willing to use your gp2x over telnet (at
the shell prompt) .. second, you have to be willing to untar
BCPL_edsac_GP2X.tar.gz to a storage location (such as to
/usr/local) which supports case-sensitive filenames .. BCPL
doesn't like running on a FAT disk.
so, to be among the very, very, few hardcore BCPL GP2X coders:
1. put BCPL_edsac_GP2X.tar.gz on an SD card.
2. telnet to your gp2x.
3. cd /usr/local/; tar xvzf /mnt/sd/BCPL_edsac_GP2X.tar.gz
4. cd /usr/local/BCPL_edsac_GP2X/cintcode
5. source ./setenv
6. ./cinterp
for example:
---------------------------------------------------------------
torpor@4[~]$ telnet gipi
Trying 10.0.2.2...
Connected to gipi.
Escape character is '^]'.
Linux 2.4.25 (gp2x) (ttyp0)
gp2x login: root
Password:
[root@gp2x root]$tar xvzf /mnt/sd/BCPL_edsac_GP2X.tar.gz
BCPL_edsac_GP2X/
BCPL_edsac_GP2X/bcplprogs/
[ .. blah blah blah ..]
BCPL_edsac_GP2X/FILES
BCPL_edsac_GP2X/Makefile
BCPL_edsac_GP2X/README
BCPL_edsac_GP2X/TGZDATE
BCPL_edsac_GP2X/Makefile~
BCPL_edsac_GP2X/README.GP2X
[root@gp2x root]$cd BCPL_edsac_GP2X/cintcode/
[root@gp2x cintcode]$source setenv
[root@gp2x cintcode]$./cinterp
BCPL Cintcode System (24 Sept 2003)
0> c compall
BCPL (14 Aug 2001)
Code size = 408 bytes
BCPL (14 Aug 2001)
Code size = 124 bytes
First compile the bigender versions
compiling sys/BOOT.b to ENDERBIG/BOOT
[ .. blah blah blah ..]
BCPL (14 Aug 2001)
Code size = 416 bytes
compiling com/unpreload.b to unpreload
BCPL (14 Aug 2001)
Code size = 244 bytes
Compile edsac
BCPL (14 Aug 2001)
Code size = 14804 bytes
0> edsac
Paper tape: squares.txt
EDSAC Simulator -- Type ? for help
# ?
? Print list of debug commands
123 .125 #1011 #.1011 'c 17-bit constants
123S .125S #1011S #.1011S 17-bit constants
123L .125L #1011L #.1011L 35-bit constants
123F .125F #1011F #.1011F 71-bit constants
*k +k -k Multipy/Add/Subtract constant k
/ ^ Divide/multiply the current value by 10
~ Negate the current value
< > Shift the current value left/right one place
$<s> Set the default printing style to <s>
<s> = b binary integer
<s> = d decimal integer
<s> = f decimal fraction
<s> = i instruction
= Print the current value in current style
LS LL LF Change the length of the current value
A H P Get value from Acc, H or SCR
Ma MSa MLa Get a 17 or 35 bit value from memory
SA SH Store the current value in Acc or H
Ja Jump to a, ie set SCR to a
Sa Store the current value in memory address a
Ia Assemble instructions in location a, a+1,..
Tn<s> TSn<s> Print n consecutive 17-bit locations, style <s>
TLn<s> Print n consecutive 35-bit words, style <s>
F<name> Set the paper tape filename
Q Quit
R Load initial orders and clear registers SCR, H and Acc
Z Set all 1024 memory locations to zero
DP Toggle dump of SCR and the next order
DR<s> Toggle dump of the operand, style <s>
DSH<s> DLH<s> Toggle dump of H, style <s>
DSA<s> DLA<s> DFA<s> Toggle dump of Acc, style <s>
DSa<s> Toggle dump of 17-bit memory location, style <s>
DLa<s> Toggle dump of 35-bit memory word, style <s>
; Print requested values
B Ba Ua List, set or unset breakpoints
C Continue normal execution
\ Execute one instruction
# SIGINT received
[root@gp2x cintcode]$
---------------------------------------------------------------
CONTACT: torpor
EMAIL: jayv@synth.net