GP2X Announcing The Geekiest Gp2x Emu Yet: Bcpl_edsac_gp2x


torpor

hack hack hack, the little machines fight back
Joined
Oct 21, 2005
Messages
2,475
Location
vienna, austria
Website
w1xer.at
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
 
Well .. Just wait until I get the GUI working for it, and we can play space invaders, pong, and XOX ..
 
Back
Top