Any Colour You Like

Profile
Purley, United Kingdom
Z80 and C#-related shenanigans - now with added electronics.
606 comments
1 followers
222 entries
Advertisement
benryves
April 20, 2013
Repairing a PlayStation controller to USB adaptor
I recently purchased an inexpensive PlayStation controller USB adaptor for my PC. Several reviews confirmed that it was compatible with the controller's analogue joysticks so I thought it would be what I was after. Life is rarely that easy with cheap electronics, unfortunately!




When it arrived I plu…
33,399 views
benryves
October 23, 2011
Laserstrike for Zen X-Fi 2
It's been a long time since I posted about any of my projects for the simple reason that I haven't had any real time to work on them this year. Work commitments have not been particularly kind to my free time and there has been no progress on my 3D engine for TI calculators or any new electronics p…
5,264 views
benryves
January 27, 2011
Back in Classic Black
I've been working on a "classic black" style for the GameDev.net website for a little while. Being a creature of habit I could never get used to the lighter skins that the site has tended towards in recent years.







GameDev.net is a large site and I haven't checked every page yet, so it is highly likel…
3,422 views
benryves
January 10, 2011
Watched Forums Userscript
I hope everyone had a very pleasant Christmas and New Year break. It's been a while since I last posted -- I've been very busy with work of late and as such have not had much to report on my own projects.

As you have no doubt noticed GameDev.net has undergone some fairly radical changes recently; mo…
2,727 views
benryves
November 29, 2010
A larger level, moving sectors and failed optimisation attempts
I've made a few attempts to boost the performance of the 3D engine for the TI-83+ I'm working on with little success. I had previously failed to get any improvement by adding bounding boxes around each BSP node (the idea being that if a node falls outside the view you can discard it and, by extensi…
36,949 views
benryves
November 21, 2010
Collision detection makes the world feel solid
One of the larger problems with the 3D engine for the TI-83+ calculator series I have been working on is that it's possible to move the camera through walls. This doesn't make the world feel especially solid, so I've started working on some collision detection routines.

Work commitments have left me…
4,462 views
benryves
November 07, 2010
Enlarging the world
There have been very few changes to the features of Nostromo recently. I have tried a number of ways to optimise the performance and whilst the handful of micro-optimisations I have made have boosted the frame rate a little none of the higher-level optimisations have done much. I did try, for examp…
4,048 views
benryves
November 02, 2010
Adding sprite objects to the 3D world
The previous entry showed a room from a map copied from DOOM's E2M7. I have since added the adjacent room:

????

????
It may not look as interesting as the other room but it is significantly more costly to render due to the sheer number of lines visible at a time in it. Looking across it from the far c…
3,573 views
benryves
October 28, 2010
Adapting a room from DOOM's E2M7 to the TI-83+ calculator
The level I've been working with as a test for the TI-83+ 3D engine was something I quickly threw together. I've never been much good at the design side of things, and my lack of imagination was producing something very simple that wasn't really challenging the engine and testing whether it could b…
3,844 views
benryves
October 25, 2010
Varying wall heights in a 3D engine for the TI-83+
I've done a little more work on the 3D engine for TI-83+ calculators that I mentioned in the previous entry. The main difference is in limited support for varying the heights of floors and ceilings, illustrated in the following screenshots.

????

????
Walls now refer to one or two "sectors". A sector …
3,284 views
benryves
October 17, 2010
A primitive 3D engine for the TI-83+
As you may have guessed from the number of spinning cubes in my projects, I am quite fond of primitive 3D. As you may also have guessed from the number of TI-83+ calculator projects I have undertaken, I'm also quite fond of programming on low-end machines. I have never really successfully put 3D an…
4,890 views
benryves
October 11, 2010
TV Demonstrator for TI calculators
I've been tinkering with a number of small projects recently. I've resumed work on an LED clock for my bedroom (using a 32x8 LED display) and written an experimental BASIC interpreter in C# which I may try to turn into an assembler (implementing assembly statements as BASIC ones). In the mean time,…
3,596 views
benryves
September 05, 2010
A parallel port and a demonstration of the Z80 computer
The last piece of hardware to add to the computer was a parallel port. These have eight data lines and nine assorted control and status lines. My last two 8-bit I/O expanders provide sixteen of these seventeen lines, and the final one was provided by the DS1307 real-time clock chip which happily ha…
3,737 views
benryves
August 17, 2010
A clock and a serial port for the Z80 computer
At the end of the previous entry I mentioned that I was going to start developing my own programs for the Z80 computer. The first is a graphical clock, taking advantage of my implementation of the BBC Micro's VDU commands and the ability to use those commands to draw graphics onto the screen as wel…
3,629 views
benryves
August 14, 2010
A useful Z80 computer in a project box
Work continues on the Z80 computer. The two final modifications to the box itself are the holes for the status LEDs and the power switch.


The green LED indicates power and the orange one disk activity. Unfortunately, the project box is fairly scratched on the outside (one scratch on the front is my…
6,496 views
benryves
August 09, 2010
Mounting circuit boards and rear panel connectors
One of the fun things about working with electronics is that you can end up with a physical product at the end of your hard work. To this end I have started moving my Z80 computer from its current breadboard to a more permanent enclosure.


Large project boxes can be quite expensive (around GBP40, it…
6,390 views
benryves
July 31, 2010
Integrating the dsPIC33 VDC with the Z80 computer
The ultimate goal for the video display controller module I have been working on is to drive the display in my Z80 computer project. As I have now got a pretty good set of features I thought it would be a good idea to join the two projects together.


The big board in the lower middle of the above pho…
4,692 views
benryves
July 25, 2010
VGA output for the dsPIC33 VDC
I have spent quite a while working on different projects that generate PAL video signals in software. This may seem a bit odd if you consider the fact that I don't own a TV, so tend to rely on a video capture card or VGA box to see the output of these projects on a computer monitor -- something I d…
4,661 views
benryves
July 22, 2010
Text and filled shapes for the dsPIC33 VDC
The dsPIC33 video display controller project I am working on needs to support several common text output and drawing operations offered by existing BBC BASIC implementations. The previous demo included basic point, line and circle outlining functions, but I also need to output text and outline (or …
3,342 views
benryves
July 09, 2010
360 degree photos from Lego, a PICAXE, C# and JavaScript
As you may have guessed from the ratio of photos to actual content in my entries I do quite enjoy taking photos of things. One of the reasons I enjoy working with electronics over writing software for computers is that a finished product results in something physical, which I find much more rewardi…
3,591 views
benryves
July 04, 2010
dsPIC33 VDC with GLCD or PAL TV output
I have currently been using some terminal emulation software on my PC to see the output of the Z80 computer. It seems a little silly to rely on a large multi-gigahertz, multi-megabyte machine just to display the output from a machine at the megahertz and kilobyte end of the scale. I had previously …
3,749 views
benryves
June 23, 2010
Booting CP/M 3 from an SD card
Up to this point I have been running CP/M 2.2 on the Z80 computer. CP/M 3 adds a number of useful features, including the following:
  • Support for more than 64KB RAM via banked memory.
  • Standardised access to real-time clock for file date and time stamping.
  • Improved text entry on the command-line when us…
6,296 views
benryves
June 16, 2010
Keyboard input and RAM disks make CP/M more useful
The hardware for the computer has changed in (mostly) subtle ways since the last post, with the exception of a PS/2 socket for connection to a keyboard.


PS/2 keyboards (which use the same protocol as the older AT keyboard) communicate with the host by clocking data in either direction (keyboard to h…
4,026 views
benryves
June 14, 2010
Combining a Z80 and an ATmega644P to boot CP/M
I've been working on a new Z80 computer over the last few days. I would say that I had been working on the existing Z80 computer were it not for the fact that this a completely new design.

The previous computer had two 32KB RAM chips to provide a total of 64KB RAM. To run a user program you need to …
6,028 views
benryves
June 07, 2010
USB remote control receiver for PowerDVD
I enjoy watching films and mainly do so sitting at my desktop PC. This has taught me that cheap office chairs are not the most comfortable things to sit on for extended periods of time, especially when the next room contains a comfortable bean bag and a good place to stick a screen. A gap between t…
4,286 views
benryves
April 10, 2010
Superprobe
I have recently been working on building my own Superprobe. This is a cheap and simple tool based around a single PIC 16F870, a four-digit display and a handful of other parts. Hardware details and software can be found on the Superprobe section of the Mondo Technology website.


As the name suggests,…
4,641 views
benryves
March 21, 2010
Controlling a PG320240H-P9 with a dsPIC33FJ128GP802
In a previous entry I mentioned that I had purchased a PG320240H-P9 graphical LCD. This is a 320x240 white-on-blue pixel display, and it does not have an on-board controller or RAM. To display something on it you need to constantly refresh it with picture data; in this instance, sending four pixels…
5,651 views
benryves
March 11, 2010
Adding more stereoscopic modes to Quake II's OpenGL renderer
Quake II's OpenGL renderer supports stereoscopic rendering providing you own a video card that has the requisite hardware and driver support ("quad-buffered" OpenGL - rather than a single front and back buffer you have two front buffers and two back buffers, one for each eye). Not owning such a vid…
3,291 views
benryves
March 07, 2010
ATmega644P CHIP-8/SCHIP interpreter
In an attempt to solve the screen resolution problem issue I've bought a very cheap 320x240 pixel graphical LCD - a PG320240H-P9 on eBay for $24. Part of the reason for its cheapness may be down to its the lack of a controller; you need to constantly refresh the LCD with pixel data yourself (easier…
4,029 views
benryves
February 24, 2010
Thinking about CP/M
It's been some time since I worked on my Z80 computer project, but the recent electronics projects I've completed have got me thinking about it again.

">
Click to watch the video on YouTube

I did record a video to demonstrate the basic parts of the computer and some of its flaws a few months ago, w…
3,617 views
Advertisement

Popular Blogs

shawnhar
Generalist
101 Entries
8 Followers
15 Entries
9 Followers
johnhattan
Programmer
1,277 Entries
46 Followers
ApochPiQ
Generalist
628 Entries
43 Followers
dgreen02
Generalist
338 Entries
55 Followers
Advertisement