From: Sam on 15 Jun 2010 10:36 > At the moment, I can't figure out the problem. I'm not that good. I'm > working on it a little at a time though.. > > TIA Hello DMackey, The program load's another program (or game) and you have to fill in the startaddress of that. After that it writes two files to disk: Eprom-L (Low) and Eprom-H (High). After removing the first two bytes of each file in a Hex-editor I burn the files in a 64K (27512) Eprom. That's it. You can find the program ">152blks" on this page (In German): http://www.retro-donald.de/pages/hardware/basteleien/64k-modulkarte.php There is also a layout of the Cartridge board who I use for this. It works with bankswitching.. I'm also not that good but I think in this case the "RUN" command is missing somewhere in the program but don't know how and where to place it.. Regards, SAM
From: Sam on 15 Jun 2010 10:40 And more information of the program ">152blks" on this page: http://www.lemon64.com/forum/viewtopic.php?t=19305&view=next&sid=72e1de2abffb9fc53d1adbd3e3871449 SAM
From: iAN CooG on 15 Jun 2010 15:55 Sam <siemappelman(a)quicknet.nl> wrote: > Hello iAN, > > Thanks for the answer. You can find it here: > http://www.siemappelman.nl/download/cartridge.bin no file, 404 -- -=[]=--- iAN CooG/HVSC & C64Intros ---=[]=- C= is better than C++
From: iAN CooG on 15 Jun 2010 16:36 Sam <siemappelman(a)quicknet.nl> wrote: > You can find it here: > http://www.siemappelman.nl/download/cartridge.zip ok, checking... you should look at your files with an hex editor after you built them ;) 00000000: FF FF FF FF-FF FF FF FF-FF FF FF FF-FF FF FF FF 00000010: FF FF FF FF-FF FF FF FF-FF FF FF FF-FF FF FF FF 00000020: FF FF FF FF-FF FF FF FF-FF FF FF FF-FF FF FF FF there is nothing on the cart where it should, first $4000 bytes are empty ($ff for an eprom burner means do nothing) =) 0000E000: 10 80 5E FE-C3 C2 CD 38-30 48 55 43-4B 59 00 00 0000E010: 8E 16 D0 20-A3 FD 20 50-FD EA EA EA-EA EA 20 15 0000E020: FD 20 5B FF-58 20 53 E4-20 BF E3 A2-FB 9A EA 78 here there's something that should be on the top, the reset vectors and the CBM80 signature. you probably swapped the banks or something like that. here's a disassembly of the cartridge startup code with some comment to let you understand (I hope) what it does *= $8000 vartab = $2d oldlin = $3b inpptr = $43 eal = $ae frekzp = $fb z_src = $fc z_dst = $fe vicscn = $0400 vicregx = $d016 bordrclr = $d020 bckgrnd0 = $d021 colormem = $d800 t_8000 .word start t_8002 .word $fe5e t_8004 .byte $c3,$c2,$cd,$38,$30 t_8009 .text "HUCKY" t_800e .byte $00,$00 start stx vicregx jsr $fda3 jsr $fd50 nop nop nop nop nop jsr $fd15 jsr $ff5b cli jsr $e453 jsr $e3bf ldx #$fb txs ; so far it's the a startup routine similar to nop ; the one at $fce2, needed at every reset. sei lda #$00 sta bordrclr sta bckgrnd0 jmp g_80e0 ; jumps to the relocation of the following ; code into the screen memory at $0400 nop nop nop nop nop l_8040 lda #$00 sta z_src lda #$88 ; this transfers $8800 sta z_src+1 lda #$00 sta z_dst lda #$08 ; to $0800 sta z_dst+1 ldx #$18 ; for a total of $1800 bytes. b_8052 ldy #$00 b_8054 lda (z_src),y sta (z_dst),y iny bne b_8054 inc z_src+1 inc z_dst+1 dex bne b_8052 nop nop nop lda #$01 sta frekzp b_8069 sta $de00 ; set next bank in cartridge lda #$00 sta z_src lda #$80 ; now copy from $8000 the whole bank sta z_src+1 ldx #$20 b_8076 ldy #$00 b_8078 lda (z_src),y sta oldlin ; this could have been written simply: lda #$34 ; inc $01 ; $37 -> $38, all ram sta $01 ; sta (z_dst),y lda oldlin ; dec $01 ; $38 -> $37, normal ram/rom sta (z_dst),y ; lda #$37 ; sta $01 ; iny bne b_8078 inc z_src+1 inc z_dst+1 dex bne b_8076 inc frekzp lda frekzp cmp #$08 bne b_8069 ; loops 7 times, to copy all the banks nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop cli nop nop nop lda #$08 ; this most probably disables the cart, letting sta $de00 ; the memory at $8000-9fff to be visible as ram nop nop nop nop nop nop nop lda #<$ac2f ; this sets the end of program memory to $ac2f sta eal ; which should be the program sta vartab lda #>$ac2f sta eal+1 sta vartab+1 nop nop nop nop jmp $0810 ; start the program, so it's a packed prg ; starting with sys 2064 t_80d3 .byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00 .byte $00,$00,$00 g_80e0 ldx #$00 ; transfer the copy routine from $8040 to $0400 b_80e2 lda l_8040,x sta vicscn,x inx cpx #$a0 bne b_80e2 ldx #$00 lda #$00 b_80f1 sta colormem,x inx bne b_80f1 jmp vicscn ; and executes it there brk ..end -- -=[]=--- iAN CooG/HVSC & C64Intros ---=[]=-
From: iAN CooG on 15 Jun 2010 18:22 Sam <siemappelman(a)quicknet.nl> wrote: >>> you probably swapped the banks or something like that. > I don't think so. I've made more cartridges who are working and the > reset vectors and CBM80 signature are always at address 0000E000. ok, keep your broken cart then. trying to explain something to lamers is always a waste of time *shrug* -- -=[]=--- iAN CooG/HVSC & C64Intros ---=[]=- RAM DISK is NOT an installation procedure!
First
|
Prev
|
Next
|
Last
Pages: 1 2 3 4 Prev: XPander3 and 64NIC+ in Stock! Next: New Pacific Northwest Commodore clubs |