As posted before, i found a cartridge in my collection a while ago. I don’t know where i’ve got this one from.
While searching on the internet for more information, i really couldn’t find anything about it. Not even on collectors sites.
Where did it come from, what does it do?
It says: Data Manager 64 (1984) , Softworld and Handic.
I can find many cartridges by Handic. I’ve checked all database/filers i could find. Non looked like this.
Some screenshots
Next to try .. Dumping the cartridge to file. Probably by changing the way the C64 starts a autostart cartridge. So i have to modify the cartridge port, and put a cross connection on the lines EXROM and GAME, this will change the memory addresses ($8000/$A000) where a cartridge is placed. Then the commodore will start normally, and i can dump the cartrige memory locations to a file.
So pins 8 and 9 have to be switched around. The C64 autostarts a cartridge when it find certain data on $8000
Meanwhile i try to contact some collectors of cartridges.
Next week i’ll be going to May Contain Hackers 2022, what to bring? My old friend Bigred will be there, many others couldn’t make it …
What to bring and do:
Laptops
Arduino touch project?
My new 6502 breadboard computer?
The DVB-T / DAB / FM stick
Besides the emulators on my laptop, maybe i’ll bring this little thing (Or a real C64?)
Booting in 4 seconds! Running Vice in 50 or 60 Hz Low latency video! Can emulate cartrides, floppy’s When you connect joysticks or a real C64 keyboard to the GPIO pins it will use that. SID sound using ReSid CRT emulation (look for BMC64 or combian)
I’ve used a basic program on C64 in the past and a Cartridge machinecode monitor in the past. I’ve really forgotten how, what i’ve used and what i’ve done with it. Not nearly as much as my friends at that time. I started with a Vic-20 and played around with machinecode on a 6502. I didn’t have a C64 for many years.
How much funit this!
I’ve recently started to build a 6502 computer again, and programming on 65xx again (Generic 6502 and C64). (2022)
Below is my setup on linux, to write assembly code, compiling and running the code in a emulator.
I have installed the Acme compiler and Vice as a emulator. Both can compile/run machinecode for multiple computer emulations. So maybe i can run my old Vic-20 machine code or the few C64 programs i’ve written.
I’ve only made the bash script, the included asm files i copied from someone on the internet. ( Credit lookup )
makeprg bash file:
#!/bin/bash
set -x
f=""
if [ "$2" == "f" ] ; then f="-fullscreen" ; fi
if [ ! -f $1.asm ] ; then
cp template.asm $1.asm
fi
vi $1.asm
acme --cpu 6510 --format cbm --outfile $1.prg $1.asm
if [ ! $? -eq 0 ] ; then exit 1 ; fi
c1541 -format foo,id d64 $1.d64 -write $1.prg
if [ ! $? -eq 0 ] ; then exit 1 ; fi
x64 $f $1.prg
template.asm
!source "basic-boot.asm"
+start_at $0900
; Set background and border to black
ldx #$00
stx bgcol
stx bocol
; Flicker border and background
.loop
inc bgcol
inc bocol
jmp .loop
basic-boot.asm
; A BASIC booter, encodes `10 SYS <address>`.
; Macroified from http://www.pouet.net/topic.php?which=6541
!source "constants.asm"
!macro start_at .address {
* = basic
!byte $0c,$08,$00,$00,$9e
!if .address >= 10000 { !byte 48 + ((.address / 10000) % 10) }
!if .address >= 1000 { !byte 48 + ((.address / 1000) % 10) }
!if .address >= 100 { !byte 48 + ((.address / 100) % 10) }
!if .address >= 10 { !byte 48 + ((.address / 10) % 10) }
!byte $30 + (.address % 10), $00, $00, $00
* = .address
}
; A cooler example is to write
;
; 10 SYS <address>: REM <backspaces>Your comment
;
; When the user types LIST, he will just see
;
; 10 Your comment
;
; but still be able to run it.
; For this, see http://codebase64.org/doku.php?id=base:acme-macro-tu
When running above bash script. it will open the file if it exists, else it will take a template file. After opening it with vi, and editing it, it starts a the compiler and creates a C64 d64 disk. This is going to be autorun/started with the VIce emulator. Appending -f to the bash script will start it in fullscreen mode. ./makeprg myawesomedemo.asm -f
Below it is running without the fullscreen option. but is shows how to start the interactive monitor in vice.
Update: 20220721 .. VIA chip installed Update: 20220801 .. changed layout, addressing and added rom, see below post.
Such a influencial little processor … Apple, Vic-20, C64 (with modifications), PET, BBC Micro, Oric, Atari and Nintendo.
Another (big brother) influencial CPU is the 68000. (Amiga/Atari ST/ Macintosh/Sinclair)
I’ve made a 680x computer in the past, and i want to make another one.
This one will be based on a 6502, because i used to program on this cpu when i got my Vic-20.
Goals of this project:
6502 Cpu
Memory and Rom
Rom must contain a good machinecode monitor
Adjustable clock
Now using Ben Eatons clock diagram, but i will move this to a programmable arduino, with a display which shows the clock rate
Hex keyboard ro program the machine, just like picture below
Display which was a resolution of at least 640×480
It will be a slow screen, character printing and a gfx mode?
First probably a SPLC780 HD44780, so i can enter/edit machine code.
Hopefully using a SID chip
Hardware monitoring of the address and data lines like movie below
Programming via serial/usb, by halting the 6502 cpu and pushing data into memory or fake-eprom with a arduino
Save/restore by modifying memory
Small
Example of Hex keyboard
Update 20220721
Via chip is on the board. For now i’m using a old display, like this one
I was planning to use this one
The graphic capable 12864 display (128 x 64 pixels)
I will reuse the schematics i’ve used for the 680x computer. (Posted above)
Update: 20220801
Added ROM, and changed layout. Every breadboard has a function now.
Upper left, Ben’s Clock module (this is going to be changed to a arduino with display which shows frequency) Upper right, power-on reset (Reused part of C64 schematic) Second row left, the 6502 On the right the ROM, RAM i also going to install here. 3rd Row, Address decoding, this is going to be a dynamic setup using dip switches and a eeprom for decoding (i know, this kind of decoding is slow, but i don’t need speed), on the right probably the hex keyboard with its own 6522. 4rd row left, a temporary display 16X2 connected via a 6522. Here i want to have a graphical display. 4rd row right (not started this part yet) a sound device. SID or a Yamaha sound chip i still have.
One Vic-20 working ( switched some keyboards and chips around )
Something i made in 1984? .. then the fuse in my vic-20 power blew (250v 160mA)
Another Vic-20 – with a Bad U31 (Oscillator)? or Vic video chip?
Left Vic-20 with buildin power convertor, right more common version.C64 C with a broken color-ram OR U29 74LS74 chipVic Graf Cartridge, graph a function with annoying sound
I’ve been using this for a while now, and i’m really impressed by it. It just connects to the Serial Din of your C64, draws power from the Cassette port. … And even looks like a mini drive!
I’ve been converting Disks to images as well as runnig previously converted D64 images on a real C64 again.
Also the internet provides loads of images to run again.
Converting and running:
For real floppy to image i used a empty image file. Made my real original drive device number 9, and used Dracopy (also below)
Image running on your real C64, just put a D64 disk image on your SDcard.
There is a disk selector and run program you can use. (See below) Also you can use the buttons for disk swap/change.
Running a little program to read dipswitches and displaying them using leds.
0000 CE 8020 ; LDX #$8020
0003 6A 01 ; DEC 1,X
0005 86 04 ; LDA A A
0007 A7 02 ; STA A 2,X
0009 A7 03 ; STA A 3,X
000B A6 00 ; LDA A 0,X
000D A7 01 ; STA A 1,X
000F 20 FA ; BRA
Design of sound chip intergration
"If something is worth doing, it's worth overdoing."