Browsed by
Category: Technical

VGA programming

VGA programming

Ah, the good old days of using INT 10h, AH=0x00 graphics modes to write directly to video memory at 0xA0000/0xB0000/0xB8000 (depending on the mode).

Nir Lichtman walks us through some of the things I was teaching myself in middle school – writing VGA graphics in assembly (often using the great book Programmer’s Guide to the EGA and VGA Cards by Ferraro, Richard F.

I even wrote my own (terrible) little paint program that would then save the buffer into a file and reload it. What good times!

Forget your wifi password?

Forget your wifi password?

Did a friend come over and you need the wifi password – but forgot it? If you have a windows system that has ever connected to the wifi, you can extract it from your history. Simply open an admin-privledged command prompt and use this line to display the passwords in cleartext:

netsh wlan show profile * key=clear
Airpod/iPod cleaning that actually works

Airpod/iPod cleaning that actually works

I bet like a lot of folks, you have a set or two of airpods. I have an older set I use for running since the sound in them after a year or so was starting to get quieter and duller. Then, it got to the point I could barely even hear out of the right one.

Before I tossed them, I decided to see if cleaning them out would help. There wasn’t any obvious ear wax in them. So I looked online and sure enough Apple itself now has a video and procedure on how to do this.

I tried the method out. The first go seemed to improve things, but I wasn’t sure. The next day I tried it again, and the right airpod suddenly had a lot more volume. I tried it a 3rd time on the 3rd day, and low and behold – they were practically like new (well – except the battery life was still only good enough for a 60 minute run – but that’s another story).

I had tried this method before, but using isopropanol alcohol. It largely gave poor results. It seems the key is to use micellar water – usually for removing makeup and dirt on sensitive skin. I use Bioderma – Sensibio – H2O Micellar Water and it seems to be what they use in the video (it has a distinctive translucent red cap).

Social media swami

Social media swami

This video about a fake psychic using social media against his targets was made over a decade ago as an ad for safe internet banking.

They were using very primitive social media of the time with no AI – today it’s much easier. It’s a good reminder your data can be weaponized against you (and probably why I got off all social media years ago).

Emulating audio IC’s – from scanning the chip with a microscope

Emulating audio IC’s – from scanning the chip with a microscope

Giulioz gives a sequel to last year’s talk “Proprietary silicon ICs and dubious marketing claims? Let’s fight those with a microscope!“, where he showed how he reverse engineered a pretty old device by looking at microscope silicon pics alone, with manual tracing and some custom tools.

Fast forward, he shows how he reverse engineered a much modern chip: the custom Roland/Toshiba TC170C140 ESP chip (1995). Completing this task required a different approach, as doing it manually would have required too much time. He used a guided, automated approach that combines clever microscopy with computer vision to automatically classify standard cells in the chip, saving us most of the manual work.

They then sped things up even further by directly probing the chip: by exploiting test routines and sending random data to the chip he figured out how the internal registers worked to create a bit-accurate emulator. He even gives the source code out on github so you can emulate the devices yourself.

Listen to the result at 32:19 where they play Darude Sandstorm.

Links:

Can’t install Windows Sandbox on Windows 10

Can’t install Windows Sandbox on Windows 10

Windows Sandbox is a great little completely isolated environment in which to test out software you’re not sure is safe or for experiments that might corrupt your environment/installations. It pops up a virtual machine running Windows 10/11, is completely isolated, and then deletes everything when shut down.

However, it’s not always easy to get started. Even after installing the latest Windows 10 updates and turning all on virtualization features in bios, I still could not see the Windows Sandbox feature in the Turn Windows Features On and Off program.

It turns out you may need to do some extra setup, and the entire process is here in tenforums. They have a script (below) that helps, but there may even be other steps to follow and they’re all outlined on the post.

@echo off

echo Checking for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"

echo Permission check result: %errorlevel%

REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else ( goto gotAdmin )

:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"

echo Running created temporary "%temp%\getadmin.vbs"
timeout /T 2
"%temp%\getadmin.vbs"
exit /B

:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
pushd "%CD%"
CD /D "%~dp0" 

echo Batch was successfully started with admin privileges
echo .
cls
Title Sandbox Installer

pushd "%~dp0"

dir /b %SystemRoot%\servicing\Packages\*Containers*.mum >sandbox.txt

for /f %%i in ('findstr /i . sandbox.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"

del sandbox.txt

Dism /online /enable-feature /featurename:Containers-DisposableClientVM /LimitAccess /ALL

pause

adf

Bare Metal Gaming!

Bare Metal Gaming!

Inkbox decides everything in computing since sending man to the moon was a bad idea. Even operating systems and programming languages!

He sets out to write a complete clone of Zaxxon in assembly language with no operating system. He handles display, keyboard, mouse input, booting the system himself – and walks us through it all.

This kind of coding is exactly what got me into computer science as a kid. Watching demo scene videos and learning to program right to the display buffer with assembly was an era we don’t see much anymore. Still, I did get to make a graphics app that directly booted the display controller on recent hardware for an embedded platform (but that’s a story for another time).

How does it go? Awesome! Open Source Project on GitHub: https://github.com/InkboxSoftware/spacegamex64/

4AM Apple floppy archiving effort

4AM Apple floppy archiving effort

Apple II copy protection was a really interesting thing. While floppy controllers were partly hardware/firmware devices, Apple II floppy disk controller was incredibly simple and most of the work of reading/writing was done in software. This meant that copy protection schemes for the Apple II could utilize a LOT more clever and difficult tricks such as custom data encoding, half tracks, empty tracks, bad crcs, bad addressing headers, etc.

As time has gone on, original Apple II disks are becoming more and more scarce. Even worse early cracking efforts often hacked the games in ways that got around disk protection, but also removed or broke things. Unfortunately, that meant removing opening cut scenes or other game-altering changes.

The 4am Archive on the Internet Archive is an attempt to back up those original copy protected games as they were. So far there are 1673 Apple II titles safely imaged.

4am has even been interviewed by Paeleotronic on how and why he went about this. He even provides some of his tools like Passport.

Definitely give the interview a read and also check out some of the games on the archive. Many of his images (like Maniac Mansion for Apple II) come with a text file that gives all the details about what protection was found and how he worked around it.