Skip to content

Commit 60554ea

Browse files
authored
Add files via upload
1 parent f75c59e commit 60554ea

File tree

6 files changed

+121
-75
lines changed

6 files changed

+121
-75
lines changed

Source/Firmware/C64Side/make_all.bat

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,7 @@ bin2c -o ultimax_init.h ultimax_init
55
64tass --nostart ultimax_memcfg.a
66
xcopy /Y a.out ultimax_memcfg
77
bin2c -o ultimax_memcfg.h ultimax_memcfg
8+
9+
64tass --nostart ultimax_vsf.a
10+
xcopy /Y a.out ultimax_vsf
11+
bin2c -o ultimax_vsf.h ultimax_vsf
Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
1-
/* Generated by bin2c, do not edit manually */
2-
3-
/* Contents of file ultimax_init */
4-
const long int ultimax_init_size = 256;
5-
const unsigned char ultimax_init[256] = {
6-
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
7-
0xA9, 0x00, 0x8D, 0x20, 0xD0, 0x8D, 0x21, 0xD0, 0xA2, 0xFF, 0x78, 0x9A, 0xD8, 0x8E, 0x16, 0xD0,
8-
0xA9, 0x03, 0x85, 0x9A, 0xA9, 0x00, 0x85, 0x99, 0xA2, 0x2F, 0xBD, 0xCF, 0xFF, 0x9D, 0xFF, 0xCF,
9-
0xCA, 0xD0, 0xF7, 0xA9, 0x7F, 0x8D, 0x0D, 0xDC, 0x8D, 0x0D, 0xDD, 0x8D, 0x00, 0xDC, 0xA9, 0x08,
10-
0x8D, 0x0E, 0xDC, 0x8D, 0x0E, 0xDD, 0x8D, 0x0F, 0xDC, 0x8D, 0x0F, 0xDD, 0xA2, 0x00, 0x8E, 0x03,
11-
0xDC, 0x8E, 0x03, 0xDD, 0x8E, 0x18, 0xD4, 0xCA, 0x8E, 0x02, 0xDC, 0xA9, 0x07, 0x8D, 0x00, 0xDD,
12-
0xA9, 0x3F, 0x8D, 0x02, 0xDD, 0xA9, 0x95, 0x8D, 0x04, 0xDC, 0xA9, 0x42, 0x8D, 0x05, 0xDC, 0xA9,
13-
0x81, 0x8D, 0x0D, 0xDC, 0xAD, 0x0E, 0xDC, 0x29, 0x80, 0x09, 0x11, 0x8D, 0x0E, 0xDC, 0xAD, 0x00,
14-
0xDD, 0x09, 0x10, 0x8D, 0x00, 0xDD, 0xA9, 0x00, 0x8D, 0x19, 0xD0, 0x8D, 0x1A, 0xD0, 0xA9, 0x35,
15-
0x85, 0x01, 0xA9, 0x2F, 0xA9, 0x00, 0x85, 0x00, 0xAD, 0x0F, 0xFF, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA,
16-
0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA,
17-
0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA,
18-
0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0x4C, 0xCC, 0xFF, 0x00,
19-
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
20-
0x1B, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E,
21-
0x06, 0x01, 0x02, 0x03, 0x04, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x10, 0xFF, 0x00, 0x00
22-
};
1+
/* Generated by bin2c, do not edit manually */
2+
3+
/* Contents of file ultimax_init */
4+
const long int ultimax_init_size = 256;
5+
const unsigned char ultimax_init[256] = {
6+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
7+
0xA9, 0x00, 0x8D, 0x20, 0xD0, 0x8D, 0x21, 0xD0, 0xA2, 0xFF, 0x78, 0x9A, 0xD8, 0x8E, 0x16, 0xD0,
8+
0xA9, 0x03, 0x85, 0x9A, 0xA9, 0x00, 0x85, 0x99, 0xA2, 0x2F, 0xBD, 0xCF, 0xFF, 0x9D, 0xFF, 0xCF,
9+
0xCA, 0xD0, 0xF7, 0xA9, 0x7F, 0x8D, 0x0D, 0xDC, 0x8D, 0x0D, 0xDD, 0x8D, 0x00, 0xDC, 0xA9, 0x08,
10+
0x8D, 0x0E, 0xDC, 0x8D, 0x0E, 0xDD, 0x8D, 0x0F, 0xDC, 0x8D, 0x0F, 0xDD, 0xA2, 0x00, 0x8E, 0x03,
11+
0xDC, 0x8E, 0x03, 0xDD, 0x8E, 0x18, 0xD4, 0xCA, 0x8E, 0x02, 0xDC, 0xA9, 0x07, 0x8D, 0x00, 0xDD,
12+
0xA9, 0x3F, 0x8D, 0x02, 0xDD, 0xA9, 0x95, 0x8D, 0x04, 0xDC, 0xA9, 0x42, 0x8D, 0x05, 0xDC, 0xA9,
13+
0x81, 0x8D, 0x0D, 0xDC, 0xAD, 0x0E, 0xDC, 0x29, 0x80, 0x09, 0x11, 0x8D, 0x0E, 0xDC, 0xAD, 0x00,
14+
0xDD, 0x09, 0x10, 0x8D, 0x00, 0xDD, 0xA9, 0x00, 0x8D, 0x19, 0xD0, 0x8D, 0x1A, 0xD0, 0xA9, 0x35,
15+
0x85, 0x01, 0xA9, 0x2F, 0xA9, 0x00, 0x85, 0x00, 0xAD, 0x0F, 0xFF, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA,
16+
0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA,
17+
0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA,
18+
0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0x4C, 0xCC, 0xFF, 0x00,
19+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
20+
0x1B, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E,
21+
0x06, 0x01, 0x02, 0x03, 0x04, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x10, 0xFF, 0x00, 0x00
22+
};

Source/Firmware/C64Side/ultimax_memcfg.a

Lines changed: 10 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -25,44 +25,24 @@
2525
; along with this program. If not, see <http://www.gnu.org/licenses/>.
2626

2727
* = $ff00
28-
.byte 0, 0, 0, 0, 0, 0, 0, 0
29-
.byte 0, 0, 0, 0, 0, 0, 0, 0
30-
31-
* = $ff10
32-
33-
LDX #$FF
3428
SEI
35-
TXS
36-
CLD
3729

38-
LDA #$37 ; WITH KERNAL AND BASIC
39-
STA $01
40-
LDA #$2F
4130
LDA #0
42-
STA $00
31+
STA $D011
32+
STA $D020
33+
STA $D021
34+
35+
LDA #$35
36+
STA $01 ; full access to RAM (unless in Ultimax Mode!)
37+
LDA #$2F
38+
STA $00 ;
4339

44-
NOP
45-
NOP
46-
NOP
47-
NOP
48-
NOP
49-
NOP
50-
NOP
51-
NOP
52-
NOP
53-
NOP
54-
NOP
55-
NOP
56-
NOP
57-
NOP
58-
NOP
59-
NOP
60-
LDA $FF00
40+
.fill $fffc - *, $EA
6141

6242
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6343

6444
* = $FFFC
65-
.byte $10, $ff ; reset routine, CPU jumps to this address after cold boot
45+
.byte $00, $ff ; reset routine, CPU jumps to this address after cold boot
6646
.byte $00
6747
.byte $00
6848

Lines changed: 22 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,22 @@
1-
/* Generated by bin2c, do not edit manually */
2-
3-
/* Contents of file ultimax_memcfg */
4-
const long int ultimax_memcfg_size = 256;
5-
static __attribute__( ( section( "section_hijack_data" ) ) )
6-
const unsigned char ultimax_memcfg[256] = {
7-
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
8-
0xA2, 0xFF, 0x78, 0x9A, 0xD8, 0xA9, 0x37, 0x85, 0x01, 0xA9, 0x2F, 0xA9, 0x00, 0x85, 0x00, 0xEA,
9-
0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xAD,
10-
0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
11-
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
12-
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
13-
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
14-
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
15-
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
16-
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
17-
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
18-
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
19-
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
20-
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
21-
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
22-
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xFF, 0x00, 0x00
23-
};
1+
/* Generated by bin2c, do not edit manually */
2+
3+
/* Contents of file ultimax_memcfg */
4+
const long int ultimax_memcfg_size = 256;
5+
const unsigned char ultimax_memcfg[256] = {
6+
0x78, 0xA9, 0x00, 0x8D, 0x11, 0xD0, 0x8D, 0x20, 0xD0, 0x8D, 0x21, 0xD0, 0xA9, 0x35, 0x85, 0x01,
7+
0xA9, 0x2F, 0x85, 0x00, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA,
8+
0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA,
9+
0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA,
10+
0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA,
11+
0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA,
12+
0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA,
13+
0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA,
14+
0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA,
15+
0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA,
16+
0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA,
17+
0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA,
18+
0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA,
19+
0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA,
20+
0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA,
21+
0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0x00, 0xFF, 0x00, 0x00
22+
};
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
;
2+
; {_______ {_ {______
3+
; {__ {_ __ {__
4+
; {__ {_ {__ {__
5+
; {__ {__ {__ {__
6+
; {______ {__ {__ {__
7+
; {__ {__ {__ {__
8+
; {_________ {______________ Expansion Unit
9+
;
10+
; RADExp - A framework for DMA interfacing with Commodore C64/C128 computers using a Raspberry Pi Zero 2 or 3A+/3B+
11+
; Copyright (c) 2022-2025 Carsten Dachsbacher <[email protected]>
12+
;
13+
;
14+
; This program is free software: you can redistribute it and/or modify
15+
; it under the terms of the GNU General Public License as published by
16+
; the Free Software Foundation, either version 3 of the License, or
17+
; (at your option) any later version.
18+
;
19+
; This program is distributed in the hope that it will be useful,
20+
; but WITHOUT ANY WARRANTY; without even the implied warranty of
21+
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22+
; GNU General Public License for more details.
23+
;
24+
; You should have received a copy of the GNU General Public License
25+
; along with this program. If not, see <http://www.gnu.org/licenses/>.
26+
27+
* = $ff00
28+
SEI
29+
LDA #$30
30+
STA $01 ; full access to RAM (unless in Ultimax Mode!)
31+
LDA #$2F
32+
STA $00 ;
33+
34+
.fill $fffc - *, $EA
35+
36+
* = $FFFC
37+
.byte $00, $ff ; reset routine, CPU jumps to this address after cold boot
38+
.byte $00
39+
.byte $00
40+
41+
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
/* Generated by bin2c, do not edit manually */
2+
3+
/* Contents of file ultimax_vsf */
4+
const long int ultimax_vsf_size = 256;
5+
const unsigned char ultimax_vsf[256] = {
6+
0x78, 0xA9, 0x30, 0x85, 0x01, 0xA9, 0x2F, 0x85, 0x00, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA,
7+
0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA,
8+
0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA,
9+
0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA,
10+
0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA,
11+
0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA,
12+
0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA,
13+
0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA,
14+
0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA,
15+
0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA,
16+
0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA,
17+
0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA,
18+
0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA,
19+
0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA,
20+
0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA,
21+
0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0x00, 0xFF, 0x00, 0x00
22+
};

0 commit comments

Comments
 (0)