Using some webscraping, bash scripts and a online bar chart race tool, I made a visualisation of the top movies.
Copy/view here
https://public.flourish.studio/visualisation/14680792/
Using some webscraping, bash scripts and a online bar chart race tool, I made a visualisation of the top movies.
Copy/view here
https://public.flourish.studio/visualisation/14680792/
Perviously i’ve posted about PCem
But I wanted to have a emulator which could load extension biosses also.
This for my own tinkering.
I was told to look at MartyPC and PCE/ibmpc
I don“t like it being written in Rust, but it does the job.
ROM config part i’ve got in martypc.toml
rom_override = [
{ path = "./roms/BIOS_5160_09MAY86_U19_62X0819_68X4370_27256_F000.BIN", address = 0xF0000, offset=0, org="Normal" },
{ path = "./roms/BIOS_5160_09MAY86_U18_59X7268_62X0890_27256_F800.BIN", address = 0xF8000, offset=0, org="Normal" },
{ path = "./roms/myromextension.bin", address = 0xF6000, offset=0, org="Normal" }
]
In previous post :
I mentioned a 2 ROM setup because the 8086 is 16bits instead of 8.
So I was wondering that maybe a recompile was needed, or the data being split over two roms (odd/even)
The guy from GLABios was so kind to build me two interleaved roms.
So while working on a padded bench, I tested the ROMs.

Back to the roms, it didn’t work!
But I missed a detail in the technical manual (the bold text)
In Turbo XT /2 and Turbo XT /3, there are two 28-pin sockets for ROM,
both of them are occupied by 2764 which stored the BIOS. The contents
of the two 2764 are identical. One of them contribute the ODD Byte to the system and the other EVEN Byte. Together they support 16 Bit BIOS
access.
I don’t know why this is how it works, but when I flashed two the same 28C64’s it worked!
(I also tought that is was strange that both original roms had the same markings.



It workes!
Only remarks/observations:
UPDATE
GLABios was not updated for displaying 8086 yet.
Error 1701 was the (old spinning) harddisk not being connected.
Today I was working on my own brew ISA card (wirewrapping).
Did some mini modeling stuff.
Sorted some pipetunes.
And played around with my 8086.
Got it on a desk now, and replaced the harddisk with the CF card.
Also got an old SoundBlaster working, so i wanted to see what of my old code could still run.
Apparanty most code was compiled for 386/486 š
So i recompiled some stuff.
Below a horizontal scroller example.
Meanwhile i got my new fans in for my NUC (Kodi player, it was making a hell of a noise due to bad ball bearings.
Adding a picture:
Most used is loading a koala picture.
Never done it like this before, luckily loads of retro lovers are posting code examples.
There are a lot of tools now available on PC. (Windows and Linux)
Acme : compiler i’ve used for this example
Retropixels : converting jpg into koala
Exomizer : packing/compressing the C64 prg (16k to 5.4k)
Sidreloc : relocator for SID files.
Exomizer command with effect:
(NOTE on linux you have to use single qoutes!)
retropixels -r 64 --format prg bottom.jpg ; for a prg (not used) retropixels bottom.jpg ; for a koala picture exomizer sfx 0x080d bottom.prg -x 'lda $fb eor #$01 sta $fb beq skip dec $d020 inc $d020 skip:' # 0x080d is the starting address
Code
!to "bottomsm.prg",cbm ; start prg * = $0801 ; header for sys auto start !byte $0b, $08, $00, $00, $9e, $32, $30, $36, $31, $00, $00, $00 PICTURE = $2000 BITMAP = PICTURE VIDEO = PICTURE+$1f40 COLOR = PICTURE+$2328 BACKGROUND = PICTURE+$2710 * = $080d sei lda #<irq ldx #>irq sta $314 stx $315 lda #$1b ldx #$00 ldy #$7f sta $d011 stx $d012 sty $dc0d lda #$01 sta $d01a sta $d019 ; ACK any raster IRQs lda #$00 jsr $1000 ; Call music lda #$00 sta $d020 ; Border Color lda BACKGROUND sta $d021 ; Screen Color ; Transfer Video and Color ldx #$00 .LOOP ; Transfers video data lda VIDEO,x sta $0400,x lda VIDEO+$100,x sta $0500,x lda VIDEO+$200,x sta $0600,x lda VIDEO+$2e8,x sta $06e8,x ; Transfers color data lda COLOR,x sta $d800,x lda COLOR+$100,x sta $d900,x lda COLOR+$200,x sta $da00,x lda COLOR+$2e8,x sta $dae8,x inx bne .LOOP ; Bitmap Mode On lda #$3b sta $d011 ; MultiColor On lda #$d8 sta $d016 ; When bitmap adress is $2000 ; Screen at $0400 ; Value of $d018 is $18 lda #$18 sta $d018 cli .MYLOOP jmp .MYLOOP irq lda #$01 sta $d019 ; ACK any raster IRQs jsr $1003 ;Play the music jmp $ea31 ; Data parts with headers cut * = $1000 !binary "bottom1000.sid" ,, $7c+2 * = PICTURE !binary "bottom.kla",,2
Started with a example from https://codebase64.org/
But that didn“t work (see movie clip)
looking at the sid info:
Title Bottom Author Richard Bayliss Released 2011 The New Dimension Load Address $8000 Init Address $8000 Play Address $8003 Number of tunes 1 Default tune 1 Speed $00000000 SID Model 8580 Clock PAL File Format PSID Format Version 2 BASIC false PlaySID Specific false
I saw that I have to move the load/init/play address.
Luckily there is sidreloc !
wget https://hd0.linusakesson.net/files/sidreloc-1.0.tgz tar xzvf sidreloc* cd sidreloc make
Using:
~/Downloads/sidreloc-1.0/sidreloc -p 10 ~/projects/sidplaybottomdemo/bottom.sid ~/projects/sidplaybottomdemo/bottom1000.sid
I could successfully move the sid to $1000
Final code (for now, next time i’ll add a picture).
(Using ACME as compiler, and X64 (vice as emulator))
;https://codebase64.org/doku.php?id=base:simple_irq_music_player
!to "bottom.prg",cbm
* = $0801
sysline:
!byte $0b,$08,$01,$00,$9e,$32,$30,$36,$31,$00,$00,$00 ;= SYS 2061
* = $080d
sei
lda #<irq
ldx #>irq
sta $314
stx $315
lda #$1b
ldx #$00
ldy #$7f
sta $d011
stx $d012
sty $dc0d
lda #$01
sta $d01a
sta $d019 ; ACK any raster IRQs
lda #$00
jsr $1000
cli
hold jmp hold
; we could also RTS here, when also changing $ea81 to $ea31
irq
lda #$01
sta $d019 ; ACK any raster IRQs
jsr $1003 ;Play the music
jmp $ea31
* = $1000
!binary "bottom1000.sid" ,, $7c+2
Got some new roms in.
These are for my 8088/8086 the 6502 computer and C64 cartridges.
While I seldom had any problem writing to these, now I could not write one!
Erasing didn“t give me an error?!?
henri@zspot:~/projects/wozmon8088/mon8086$ minipro -w mon8086.rom -p AT28C64 Found TL866II+ 04.2.129 (0x281) Warning: Firmware is newer than expected. Expected 04.2.128 (0x280) Found 04.2.129 (0x281) Erasing... 0.02Sec OK Writing Code... 9.57Sec OK Reading Code... 0.12Sec OK Verification failed at address 0x0001: File=0xAA, Device=0xFF
Whenever you get this, check the markings of the chip!
Mine are AT28C64b !!!!!!!!!!!
Change your command accordingly.
Another thing to watchout for is write protect, look at the commands
minipro -l | grep 28C64 Found TL866II+ 04.2.129 (0x281) Warning: Firmware is newer than expected. Expected 04.2.128 (0x280) Found 04.2.129 (0x281) AM28C64A@DIP28 AM28C64A@PLCC32 AM28C64A@SOIC28 AM28C64AE@DIP28 AM28C64AE@PLCC32 AM28C64AE@SOIC28 AM28C64B@DIP28 AM28C64B@PLCC32 AM28C64B@SOIC28 AM28C64BE@DIP28 AM28C64BE@PLCC32 AM28C64BE@SOIC28 AT28C64 AT28C64@PLCC32 AT28C64@SOIC28 AT28C64B AT28C64B@PLCC32 AT28C64B@SOIC28 AT28C64E AT28C64E@PLCC32 AT28C64E@SOIC28 AT28C64F AT28C64F@PLCC32 AT28C64F@SOIC28 CAT28C64A CAT28C64A@PLCC32 CAT28C64A@SOIC28 CAT28C64B CAT28C64B@PLCC32 CAT28C64B@SOIC28 XLE28C64A XLE28C64A@PLCC32 XLE28C64B XLE28C64B@PLCC32 XLE28C64B@SOIC28 XLS28C64A XLS28C64A@PLCC32 XLS28C64B XLS28C64B@PLCC32 XLS28C64B@SOIC28 28C64A 28C64A@PLCC32 28C64A@SOIC28 28C64AF 28C64AF@PLCC32 28C64AF@SOIC28 28C64B 28C64B@PLCC32 28C64B@SOIC28 UPD28C64 UPD28C64@SOIC28 KM28C64A KM28C64A@PLCC32 M28C64 M28C64@PLCC32 M28C64@SOIC28 M28C64A M28C64A@PLCC32 M28C64A@SOIC28 M28C64-xxW M28C64-xxW@PLCC32 M28C64-xxW@SOIC28 M28C64 M28C64@PLCC32 M28C64@SOIC28 M28C64A M28C64A@PLCC32 M28C64A@SOIC28 M28C64-xxW M28C64-xxW@PLCC32 M28C64-xxW@SOIC28 X28C64
As posted before
I really like GlaBios for my 8088, so today I got my Laser XT/3 8086 machine from the attic.
Mmm TWO ROM’s thats interesting
Looking futher in the schematics I found this. Apparantly there is a 8K ROM configured in a D0-D7 + D8-D15 setup. (16 bits)

Found a technical manual, this is a excerpt.
In Turbo XT, there are two 28-pin sockets for ROM, one of them is
occupied by a 2764 which stored the BIOS (Basic Input Output System).
The other empty socket is used to house a 32K ROM, such as the BASIC
ROM
And about the XT/3 version which I have.
In Turbo XT /2 and Turbo XT /3, there are two 28-pin sockets for ROM,
both of them are occupied by 2764 which stored the BIOS. The contents
of the two 2764 are identical. One of them contribute the ODD Byte to the system and the other EVEN Byte. Together they support 16 Bit BIOS
access.
This could be an interesting chat with Greg ..
Meanwhile i’m going to look how to split a rom into odd/even.
Maybe i have to write a little python program for this.
Well, thats enough for today.
Lets fix my Cat S60 Flir phone, so i can track the hedgehog in our garden. (Battery replacement and powerbutton fix)


I fixed several phones before, (broken screen. touch not working). But I hate how some manufacturers build them.








Some funny pictures I found



Today I got this card (I bought it on Ebay)
It’s fitted with a 64Mb card. Note: the XT at my parents place had a 20Mb harddisk!
It can boot / emulate a harddisk with MsDos installed.
Replace an old or dead hard drive in a vintage PC with a hassle-free, reliable CompactFlash card!
Plug-in and go! (well, as much as you can expect with these old machines)Brand new!
Built and tested.Open Source!
This bootable expansion card provides a Compact Flash card interface to 8-bit ISA systems such as PC/XT. Typically paired with a 64MB or 1GB CF card. Silent, and more reliable than an old mechanical hard drive.
By default the XT-IDE BIOS comes configured for:
XT(and higher)-compatible BIOS.
Use the XT-CF-Mini’s IDE interface at 300h, no IRQ.
Boot first hard drive unless user presses A for floppy.
Any of the above can be changed with the simple DOS utility and built-in switches.Switches and jumpers control:
I/O port for the 8-bit IDE (CF) interface
I/O port for the Option ROM
Option ROM Enable
Option ROM Write-protectNote: Not all CF cards will work. Most work, but some don’t adhere to the CF standard fully, and won’t work. The full size XT-IDE card with an IDE>CF adapter, is compatible with more CF cards.
https://github.com/Bluelavasystems/XT-IDE-CF-MINI
XT-CF-Mini Pcb designed by Monotech Pc’s and released opensource GNU General Public License v3.0
It is from Blue Lava Systems, who took the schematics from Sergey Kiselev, who took the design from James Pearce.
The harddisk extension is XT-IDE Universal BIOS.
And can be flashed.
Schematic below
ROM address D0000, and IO port 300h does not need a IRQ
After installing this on my 8088/v20 motherboard I tested this with GlaBIOS, but it gave me one beep, and after that it woukd reset the machine.
Testing with the original Phoenix Bios and PCXtBios worked for me.
UPDATE: Bad contacts and a eeprom I didn’t trust.
Greg gave me version 0.2.5 of Glabios, which I burned to a new eeprom. And I cleaned some contacts.
(Checksum rom changed with every reset)
The Card and my extension bios both run with all bios-ses


