RPC8/e / 65el02 emulator / information page - ARCHIVE
20120603:
Very unstable and very experimenal first release of BASIC V2.0.120603 is available
for testing purpose.
This version is made from scratch with additional integer library.
Lots of functions not working yet, no string functions, no print function,
no floating point lib, but MMU and PIXELDEMO runs even if it's not flawless.
New features: case-insensitive functions, case-sensitive labels
You can check execution time comparsion between the two basic versions below
| V1.0.120602 | V2.0.120603 | Speed increment
----------------------------------------------------------
MMU | 854 ticks | 511 ticks | 67%
PIXELDEMO | 1051 ticks | 704 ticks | 49%
20120602:
BASIC V1.0.120602 is available for download.
Notable change:
- TICKS command renamed to DELAY. If you load your saved program then the LIST will
display the old TICKS command as DELAY from now.
Addition:
- SETPIXEL and CLRPIXEL command added for "pixel" graphics. :)
Check "PIXELDEMO" on the disk image.
20120531:
Experimental(!!!) BASIC V1.0.120531 available.
- possible memory copy bug (one byte long copies not handled well) fixed
- new numbered line handler code implemented (not well tested)
- new shortened and tweaked MCFS boot code (also not very well tested)
Possible side effect by using this experimental basic: loss of your typed in program.
There's also problem (in every version) with the DELETE command: sometimes it returns
with I/O error and messes up the allocation table. If anyone knows how to reproduce
the problem then don't hesitate to share it with me.
20120530:
If you want to know how to implement a new bug with bug fixing then download the snapshot
from below. If not then here's a probably better working one: BASIC snapshot 120530b.
I hope that i don't need to release any more bug fixing snapshot today because it's ridiculous. :)
One more bug eliminated in BASIC snapshot 120530.
- Trailing spaces caused trouble in parser, mostly after strings
Bonus: speed comparison chart for different snapshots/programs
program |120525 |120527 |120530b 25->27 |27->30b|25->30b
-----------------------------------------------------------------------
HISOGRAM | N/W | 1895 | 1800 N/A | +5.3% | N/A
MMU | 929 | 883 | 865 +5.2% | +2.1% | +7.4%
SINUS | 673 | 518 | 513 +29.9% | +0.9% |+31.2%
Well, the speed boost wasn't as huge as predicted but it's still pretty well measurable.
20120529:
Another bugfix release BASIC snapshot 120529b is available for download
- TICKS went into an infite loop when value was bigger than 255.
BASIC snapshot 120529 is available for download
It's just a simple bugfix release:
- Memory copy (read bug and line disappearing) fixed.
20120528:
Emulator v0.09 and it's source code released, read the changelog here
Well... a new BASIC snapshot is available for download.
Rewriting the floating point lib didn't hit my expectation (it wasn't any faster), so the
disk i/o, variable scanning and a few more things tweaked instead.
Newly implemented function:
- HELP shows available basic commands and functions
20120527:
New BASIC snapshot available for download.
Tweaks on floating point calculations (quicker multiplication)
Now you can disable CTRL-C with POKE2,255. Re-enable it with POKE2,0 (for "server users")
I want to rewrite the floating point lib from scratch so if no new bug appears or no new
implementation request arrives then this will be the last snapshot for the next few days.
20120526:
Today's BASIC snapshot available for download.
Newly implemented function:
- TICKS val waits for "val" ticks, should be bigger than 0, it's unreliable if the redbus
is not set to the display (because the way of MMU instruction works you need
to divide the value by 3 in this case)
Function XY (sets the displays cursor to coordinates) renamed to SETXY to avoid interfere with "XY"
variable.
Function DIM now works well with a workaround for the stack handling bug of 65el02.
A few 16-bit optimalization is already made but much more will come. In my opinion in certain cases
the BASIC will be at least two times (or more) faster in the near future. However it's not an easy
task with the limited available memory. In 65xx based cpus "short" codes isn't the fastest codes.
I want to mention that these changes (renaming a token) or newly implemented functions will not
intefere with your already typed and saved programs. The old "XY" command will be shown as "SETXY"
when you lists your basic program in the newer versions.
Emulator v0.09 is on it's way with almost identical behavior as the RPC8e with IO Expander support and
built in "monitor" to make your hacking life easier. ETA is 2 days.
20120525:
Source code of MCFStool is available for the "hackers". Compile it with "gcc -o mcfstool mcfstool.c"
New Minecraft BASIC - MCFS snapshot available for download
new functions implemented
- MMUSET xx,yy works like LDA #$yy , MMU #$xx assembly instructions (yy is 16 bit wide)
example: MMUSET0,1 : REM Sets the active redbus device id to 1
- MMUGET(xx) works like MMU #$xx assembly instruction
example: MMUGET(129) : REM Reads the redbus window
for both MMU command the value 2,130 and 131 is denied to protect basic from fearless ones...
you can find an example about the MMUSET/MMUGET commands on the demodisk
Modified rcpboot source and binary available
Emulator v0.08 and it's source code released, read the changelog here
20120524:
MineCraft FileSystem (MCFS) documentation is available.
Brand new Minecraft BASIC - MCFS snapshot available for download
new functions implemented
- DISKFORMAT creates MCFS on a blank (or occupied :) disk with name
example: DISKFORMAT"MyDisk"
- SAVEBASIC saves the basic interpreter to the disk
example: SAVEBASIC"BASIC"
- SETBOOT sets the boot flag for the file
example: SETBOOT"BASIC"
- DELETE deletes the file (and also remove the boot flag if it's presented on the file)
A few optimalizations made already and almost every planned function is working. Have fun!
And finally here's a demo disk with a few very 'basic' basic programs.
20120523:
And again a new Minecraft BASIC - MCFS snapshot available for download
new functions implemented
- DIR shows the disk directory
- SAVE saves your basic program from memory to disk
example: SAVE"PRG"
- LOAD loads your basic program from disk to memory
example: LOAD"PRG"
At least 16K ram required and new bootcode preferred too.
Screenshots: in emulator and in game.
20120523:
New basic snapshot available for download
new functions implemented/enabled
- GET val$ waits a character and the result stored in string, works in program mode only
example: 1 GET A$:IF A$<>"" THEN PRINT ASC(A$)
- CLRSCR clears the screen
- XY valx,valx sets the cursor to the coordinates
CTRL-C now stops the program execution (aka run-stop)
Also a new bootcode (+src) available with MCFS support
Of course basic on (yet a bit dummy) MCFS image is available too, however mcfs images works well with the
default boot loader but it's slow as hell (the MCFS boot code on image is small but the default boot loader
just read the whole disk without brain...)
The next release (probably at the weekend) of the basic will came with working SAVE and LOAD functions and
a fully functional MCFS with commands like DIR, FORMAT, etc.
20120522:
new basic snapshot available for download
new functions implemented, but yet untested ingame so it's possible that the values are not in little endian
or something doesn't work as required
- ioget(id) reads the actual value from io expander read buffer (0x00-0x01)
example: PRINT IOGET(4):REM PRINT THE VALUE OF IO EXPANDER #4 READ BUFFER
- iopeek(id) reads the actual value from io expander output latch (0x02-0x03)
example: PRINT IOPEEK(4):REM PRINT THE VALUE OF IO EXPANDER #4 OUTPUT LATCH
- ioset id,val sets the io expander output latch to value (0x02-0x03)
example: IOSET 4,IOPEEK(4) OR 16
please report bugs at http://ibm5100.net/redpower/ or via e-mail
20120521:
- emulator v0.07 released, read the changelog at the bottom of the page
- 'working' BASIC for RPC8/e is available (at least 8K memory extension required)
20120521:
- emulator v0.06 released due to new RedPower release (pr5b2)
read the changelog at the bottom of the page
- blitter_example, slideshow, tetris and my bootloader (+source) changed and reuploaded
due to the CPU changes in RedPower 2 pr5b2.
Macintosh version of the emulator (only v0.06 at the moment) is available at
http://ibm5100.net/redpower/resources
20120519:
- emulator v0.05 (Mack Edition) released (and it's source code too), read the changelog below
I hope that everyone could compile the emulator on different platforms without problem from now.
20120509:
- emulator v0.04 released, read the changelog below
20120507:
- emulator v0.03 binary reuploaded, charset.rom and rpcboot.bin from roms folder missed. thanks to Guile for reporting it.
20120505:
- emulator updated
- tetris.img updated, now works well as a real disk image with "default" boot loader
- some 65el02 informations added (bugs, a bit more detailed new opcodes explanation)
- "blitter example" source code + image file
- slideshow with 5 images for unexpanded RPC8/e :)
Directory listing