RSS icon Home icon
  • Hacking the SjASMPlus Z80 assembler

    Posted on November 1st, 2016 admin No comments

    I like SjASMPlus because it is small, portable (one exe, no install) and supports writing SNA format, which means it can directly assemble the source into SNA emulator snapshot file. This is very handy if disassembling a snapshot, reverse engineering the code, then comparing the compiled source with the original snapshot. However it has a minor drawback.

    Read the rest of this entry »

  • Slow page load (IPv6) with Internet Explorer 11

    Posted on November 21st, 2015 admin No comments

    Recently, I found a website which loads very slowly in Internet Explorer 11 (under Windows 7) while other browsers did not affected (Chrome, Firefox). The site has both IPv6 and IPv4 addresses. Tcpdump showed that connection to the IP address is failed, Destination unreachable ICMPv6 messages returned in reply to SYN packets.

    Despite the address is unreachable the operating system retransmists the SYN packets in a 9 seconds interval. There was a 12 seconds silence, and after a total waiting of 21 seconds the browser switched to the IPv4 address then the connection established under 2 milliseconds. Google Chrome behaves differently: after 300 milliseconds of the first failed IPv6 SYN attempt it immediately switched to IPv4 which is cannot be noticeable by the user. No annoying waiting, no unnecessary retransmissions.

    An hour surfing on the net did not reveal any valid explanation. Interestingly, Internet Explorer 9 suffers from the same phenomena. I suppose this is by desing albeit very frustrating.

    Read the rest of this entry »

  • Delphi compile timestamp

    Posted on November 21st, 2015 admin No comments

    It could be useful to know the build date of the executable. In most situations this is the file’s timestamp.
    It is quite simple to read it out in TDateTime format:

    ExeDate := FileDateToDateTime(FileAge(ParamStr(0)));

    However, there are situations when the file’s timestamp is altered and the build date is lost.

    Read the rest of this entry »

  • Ubuntu Grub headaches

    Posted on June 19th, 2015 admin No comments

    Today I had to install an Ubuntu 14.04.2 LTS system on a two-disk PC, with software RAID1, which I did many times before.

    The disks and raid setup went fine, but when reaching the GRUB install it reports “fatal error”.
    I skipped the bootloader install and finished the OS setup. Of course, the system didn’t boot…

    After a little googling, I can resolve all booting problems.

    Read the rest of this entry »

  • Microcontroller music

    Posted on March 27th, 2015 admin No comments

    Many years ago I wanted to create an indoor game which requires an explosion sound effect. I opted for a microcontroller because it’s cheap and easy to program. But didn’t know exactly how to produce that explosion sound. It was obvious that I have to synthesize the sound instead of playing a recorded sample.
    First a PRNG (Pseudorandom Number Generator) came to my mind but it produces a white noise which is not quite like a boom effect. That’s why I turned to ZX Spectrum beeper music. Those guys in 80s did great sound effects with an 8-bit CPU and a simple buzzer.

    Read the rest of this entry »

  • Bomber Man / Dyna Blaster for Windows

    Posted on January 6th, 2015 admin No comments

    Bomber Man may be the more popular name of this game, but in 1992 for me it was Dyna Blaster on the Amiga. In 2010 I converted the Amiga version to Windows. This game has so many conversions but it was fun to made my own version. Tests were successful on Windows XP and Windows 7 (32-bit and 64-bit). It’s just a single exe, no install is required.

    Click on the picture to download the game

    Read the rest of this entry »

  • Atarisoft’s Pac-Man

    Posted on January 6th, 2015 admin No comments

    In December of 2000 I started a Pac-Man game conversion from the ZX Spectrum. It was one of my favourite Spectrum game in the 80s. Simple but addictive. My original intention was to build a 4K or 16K game for DOS, however I lost my interest during the process. It is playable, so I decided to save it from the dust.

    Read the rest of this entry »

  • Disassembling the MICRO-POKEer ROM firmware

    Posted on December 31st, 2014 admin No comments

    The MICRO-POKEer is a Multiface-like device for the unexpanded 48K Spectrum, introduced around 1988-1989 by a Hungarian company, Micro-Studio.

    Basically it is useful to cheat games (i.e. poke infinite lives), save snapshots (e.g. save game progress, hack programs, remove copy protections) and save active screen content (e.g. print, game maps).

    MICRO-POKEer capabilities:

    * Freeze programs (NMI button)
    * Load/Save screen content (16384 – 23295, 6.75 KBytes)
    * Load/Save the entire RAM (16384 – 65535, total 48 KBytes)
    * Turbo Load/Save (double speed)
    * Peek/Poke/Jump to memory location
    * Warm reset the Spectrum
    * Hard reset

    I own one device and reverse-engineered it in 2010. Firmware version is 1.6

    Read the rest of this entry »

  • High resolution ping for Windows

    Posted on December 30th, 2014 admin No comments

    This little tool can generate sub-millisecond precision ICMP Echo messages. The interval between consecutive packets, the results or the waiting timeout are all in microseconds. The main idea behind this tool is the ICMP packets should be sent at constant interval so waiting for an outsanding message won’t block further messages. For instance, you cannot set packet interval in Windows’ internal ping.exe. Only members of the Administrators group can use this tool since it uses a raw socket. After a successful run the min/max/avg and stdev round trip times are calculated.

    This tool is successfully tested on Windows XP and Windows 7 machines. You can download the binary here.

    The full source code can be downloaded here. It’s for Delphi or Free Pascal compilers. The HresPing.pas unit can be used in other projects. Successfully tested in Free Pascal 2.6.4 and Delphi 6.

    Read the rest of this entry »

  • Cambridge Z88 Copy tool

    Posted on November 18th, 2014 admin No comments

    Not entirely ZX Spectrum related but this is my first and only contribution to the Z88 world so I don’t want to separate it from other Speccy stuffz.

    It’s not a big deal. You can transfer files between your Cambridge Z88 and Windows PC via a serial port in both direction. The COM number, the baudrate and the software Xon/Xoff mode can be changed optionally. Supports multi file transfers and wildcards.

    You can download the binary executable for Windows or the complete Free Pascal source code. Enjoy!

    Read the rest of this entry »