November 30, 2020, 05:05:25 AM


what is this news thing for anyway

Alternatively, join us on Discord.
You can help CodeWalrus stay online by donating here.

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - Keoni29

When work on a large calculator project I often forget to revert changes when testing code. Bugs can easily be created this way. To mitigate this I wanted to use version control. I made a detokenizer based on the token xml files bundled with TokenIDE. With this python package you can detokenize 8xp program files for ti8x calculators. Instructions for git integration are included in the Readme of the package.  Custom token sets can be added using xml files.

You can download the attached zip or find the source code over here:

Edit: Version 0.2
The basic functionality took me about an evening to write. Dealing with multiple variables per file took two full days.
- The module can now deal with files containing multiple variables.
- Resource files moved to installation directory for cross platform support.
- New dependency: ti83f
PC, Mac & Vintage Computers / CBS6000 emulator
November 19, 2015, 02:00:39 PM
CBS6000 Emulator
I always wanted to write an emulator, but pretty much every device has been emulated already.
Then I thought to myself: Why not emulate the computer that I designed and built myself.

About the CBS6000
The CBS6000 is an 8 bit microcomputer with a 1MHz 6502 cpu at its core. The user interacts with it using a terminal.

About the emulator
I did not feel like re-inventing the wheel with the CPU emulator, so I based my emulator on a 6502 emulator written by Gianluca Ghettini.
The emulator features a custom terminal emulator, modem emulation trough sockets,

Original post:
The emulator is really starting to take shape. It has a terminal emulator, variable execution speed, single stepping (but no monitor yet), tcp socket for loading and saving files as well as connecting to the internet (soon.) The next items on the agenda are emulating the CIA , Bankswitching, Printer port, Seven segment display and Interrupts.

I open-sourced the project, so you can have a look at it on my github page:

Here's a screenshot of the emulator in action!
Hardware / Displaying bitmaps on an oscilloscope
November 05, 2015, 10:38:31 PM
I turned my oscilloscope into a raster display using an FPGA. It generates the horizontal and vertical sweep signals to draw the screen in X. Y mode and then modulates the beam to create the image.
A 256x256 dots image is stored in a framebuffer. I can send bitmap files to it from my pc. The data transfer rate is 4Mbit/s. This allows me to animate the image at 60FPS.

I can use this display for other projects. Eventually I hope to make a computer game that uses the display.
I am experimenting with random dungeon/world generation. The algoritm creates rooms in a 2d grid. When a room is created there is a chance that new rooms spawn in an adjacent empty spot. I used recursive code to implement this.
Hardware / Building a Gameboy Oscilloscope
July 01, 2015, 02:01:09 PM
I recently picked up an incomplete electronics kit for making a Gameboy oscilloscope cartridge. The kit contained an unpopulated circuitboard, some random chips and a diskette with link software.

Apparently this kit was published by an electronics magazine. This is the article that went with it:

I almost have all the required parts for it except for some rare chips. Here are some pictures:
Hardware / Z820 - Z80 computer
February 27, 2015, 08:02:09 PM
Original post:

This afternoon I started building this z80 computer. It will run at 20MHz, have 128K of ram and 8K of rom. The operating system will be stored on an external medium such as floppy disks.
I made this song after listening to a bunch of monstercat podcasts. I think it turned out pretty good. There is an easter egg hidden in the song somewhere. Can you find it?
Other / Free internets for everyone
January 10, 2015, 02:32:38 PM
I decided it was about time to reward everyone on the internet for being awesome. I came up with this script that gives everybody an internet. If you want to run this you need to replace "insert your personal key here" with the key you use to give internets. This can be aquired by looking at the POST request you send when you give an internet.
<!DOCTYPE html>
<script src=""></script>
uid = 1;
setInterval( give, 1000 );
function give()
if (uid < 44000){
$.post("" + uid,
key:"insert your personal key here"
$("p").html("UID=" + uid);
uid ++;
$("p").html("DONE!" + uid);

<h2>Giving internets to everyone...</h2>

If you want to speed things up you can decrease the interval.
[Inactive] Hero Core (TI-83+/84+) / Hero Core - Tools
January 01, 2015, 12:12:07 AM
Separate topic for development tools for Hero Core. I wanted to create my own tools because I was not happy with the existing ones.

Core Editor (short: cEdit)
Type: World editor
Platform: Win32/Linux
Progress: Almost done for first release

Type: Music editor
Platform: TI83+
Progress: Tracker screen and scrolling works.
Eiyeron is helping me with this one :D
This topic was created because of a staff discussion regarding a promotional video. This video is to be aired at the websites launch date.

This video and other promotional material should target programmers, calculator enthusiasts and also hardware tinkerers. It can also show off some of our other community interests such as drawing, animation, music etc.

What should this video be like? What should be in this video? Who can supply interesting and relevant footage?

Share your ideas on how to promote this website!
Hardware / CBS6000 - an 8-bit 6510 computer
December 20, 2014, 05:27:59 PM
What is the cbs6000?

The CBS6000 is an 6510-based system with lots of interface options including: ADC, UART, FSK modem, Line Printer, Seven segment display.
The system contains 128KB of ram as well as an 8kb eeprom which holds the firmware

The operating system is a customized version of the woz monitor. Added features are:
ACIA input/output, casette load/save, serial load and a seven segment display driver.

Project page:

Current state:

Old news:
Spoiler: ShowHide

CBS6000 stands for Cartridge Based System 6000 (KB)
The original idea was to make the computer run code from cartridges, but that changed. Now the computer has a built in rom with a bootloader on it.

  • Cpu: MOS6510 @1MHz (base 2MHz divided /2)
  • Ram: 128KB (at the moment only 50k accessible)
  • Rom: 8KB
  • I/O: 6 pins built in cpu, 16 pins in CIA

Today I finished building and debugging the base-system on a piece of prototyping perfboard.

What's working?
The base-system consists of CPU, ROM, RAM and the bootloader software. Everything you need to make an LED blink! This was the first demo program I loaded on the computer.
What is not working yet?
I/O: I still have to wire up the CIA. After that I can make the I/O board with various devices such as a Digital-Analog converter and a Serial RS232 port.
Gaming / GB USB 64M flashcartridge
December 14, 2014, 06:16:44 PM
I recently bought this flash cartridge for my gameboy. You can put two GB/GBC games on it. It does not hold as many games as flash cards that use SD cards for storage, but it is definitely cheaper.

I use the second bank for LSDJ and the first one for whatever game I feel like playing. Right now I have Shantae on it. This game pushes the limits of the hardware, so it's a good stresstest for the cartridge. I have not noticed any slowdowns or glitches yet.
You can put games on it using a microusb cable. This can take a while. A 1MB game takes about half a minute to upload.
Hardware / 8/16/32 or 64 bit?
December 10, 2014, 11:39:16 PM
What is your favorite word size / bus width / cpu type?
I personally like 8 bit for its simplicity. I also like 64 bit because it's really fast.
Hardware / USB floppy drive in AMIGA
December 09, 2014, 10:51:15 PM
I received a Gotek diskette drive emulator in the mail today.  It reads floppy disk images from the usb stick and acts like a regular floppy drive. Using the buttons you can select a disk image file on the usb stick.

These drives are intended to be used in PC's and keyboards, but an awesome guy wrote this firmware that allows you to use it in Commodore Amiga computers.
It's simple enough to flash the firmware using a windows program and a usb -> serial cable. I had to do a little bit of a casemod to fit the thing in the AMIGA.

In this picture you see the drive emulator with a usb stick inside. The program I loaded is called Protracker (audio editing software :))
Yay more midi music!
List of known bugs:
Player dies when stuck in a wall or facing a wall and fireing a bullet.[SOLVED]
Cut ability spawns a bullet in the left top part of the screen.[SOLVED]
Savepoint in first room does not work. Only after re-entering the room it works. [SOLVED]

Interrupts cause a memory leak.[SOLVED] booya!

Post any bugs you find here.
Screenshots go here

Screenshots for upcoming build. Does not show all new things.

Screenshots for upcoming build. Does not show all new things.
Games / [TI-83+/84+] Hero Core
November 22, 2014, 11:15:53 PM
Hero Core
TIMID - Compatible
By keoni29 (PC original by Daniel Remar)

Daniel Remar, the creator of the PC original, said it was all right to port his game and he'd like to see it on a calculator.
That was back in 2011 and my Hero Core port is still not finished :-[ I recently started working on it again. This video shows what progress I have made.

To do:

- Health, injure & overheat (100%)
- Blade (cut away dirt and pipes that are in the way)(100%)
- New tile system (100%)
- TestWorld (25%)
- Enemies & AI (70%)
- Bosses (10%)
- Player controls (80%)
- Pause screen w/ map and settings (40%)
- Tile graphics (80%)
- World map (10%)
- Music  (music only for soundchip users)
- Soundeffects from the I/O port (60%)
- Events, doors etc. (0%)
- Map screen (50%)
- Save progress (0%)

Features for upcoming build:
+ Sound effects enabled (it was in the previous build, but they were not enabled)
+ New tile-system allowing for some optimizations and easier expansion of the tileset
+ New tiles including: Doors, Barriers
+ New animated tiles: Liquid metal cascade
+ Weapon and shield upgrade pickups
+ Collision checking for tiles in adjacent rooms prevents you from getting stuck in solid tiles that are in another room. It also allows for some pretty interesting level design. (e.g. one-way passageways with destructable tiles)
+ Larger test world to contain it all
* Fixed memory leak which was causing ram clears.
* Fixed animation bug

Download newest version
Drawing & Animation / Some creepy weirdness
November 22, 2014, 10:50:18 PM
I wanted to use those expensive Copic markers again. They have been collecting dust for the longest time...
Drawing & Animation / Stoner pikachu
November 22, 2014, 10:48:13 PM
They guys were talking about people smoking weed in chat. I drew this and posted it there. :P
I drew this last night.

EDIT by DJ: Now all Walrii clones, crossovers and walrus sprites based off Walrii (except duplicates and that infamous rule 34'd Walrii) are available in this post!

"NSFW walruses": ShowHide

If something exists, then there is a walrus of it.

Also, for people who wants to use static versions of those sprites in calculator games, here is a sprite sheet :D

And the default :walrii: facing up and down:

And here is a 3D version by tr1p1ea made with solidFRAME for TI-84+CE:

List of all WalrusIRC Walrii smileys:
Quote :walrii:

So here, among those walrus sprites, you have anything ranging from a walrus Pikachu, Mario, Luigi, Kirby, Garfield, Astérix, Nemo, Nikky, Streetwalrii, LJN logo, a Game Boy Advance, Sonic, Bart Simpsons, a waffle, a rubik cube, a roman, a whale, a cow, a skeleton, zombies, a squirrel, Reuben, Spider-Man, a mage and even country flags such as Canada, USA, France and the Netherlands!
Hardware / Visicom Textphone Reverse-engineering
November 17, 2014, 10:39:48 PM
The Visicom is a textphone for deaf people from the 80's. It has a keyboard, video output and built in modem. You could use it as a textphone using the textphone protocol or as a teletype (tty) using the built in modem.

I bought this at a thriftshop because it looked interesting.
I decided to crack it open and find out exactly what makes it tick. Detailed documentation can be found on my project page:

The built in keyboard.


Video output. You're greeted with a dutch menu. This image shows B&W video, but there is a switch inside the device which enables 8 color video.

Rom reader device I built to dump the firmware. The disassembly can be found here:
I found an open-source disassembler written in Golang for the tms7001 microcontroller that is inside the visicom, but it was really buggy. I managed to fix a lot of the bugs even though I don't know Golang :P.

Using javascript I made all addresses operands links so you can jump by clicking them.
Powered by EzPortal