Custom Rom

ZX evolution software and hardware

Postby justine » 03 Jan 2012, 21:21

So am i right in thinking that i make a 16k rom image then i make one big 64k image like

copy /B /Y ff.rom+ff.rom+ff.rom+test.rom custom.rom

The ff.rom just being 16k of $ff and the test.rom being my 16k code .

Then upload custom.rom using the custom rom updater ?
User avatar
justine
 
Posts: 101
Joined: 06 Jul 2011, 00:50
Location: Scotland
Group: Registered users

Postby lvd » 03 Jan 2012, 22:47

Justine, it seems OK. If nothing works, probably you should try runing your code from RAM first?
At the same time, you can start trying simple things in ROM, like, for example, border colors changing.
Last edited by lvd on 03 Jan 2012, 22:49, edited 1 time in total.
Многого нет здесь: http://lvd.nedopc.com
Image
User avatar
lvd
 
Posts: 1786
Joined: 07 Apr 2007, 22:28
Group: Registered users

Postby justine » 03 Jan 2012, 22:49

Do i also have to put $00 $C9 at 3D2F as well in the 16K custom rom ?

I have made several 64k roms with various code but none execute i just see vertical lines.
What am i doing wrong ?
User avatar
justine
 
Posts: 101
Joined: 06 Jul 2011, 00:50
Location: Scotland
Group: Registered users

Postby savelij » 03 Jan 2012, 23:03

Код $00,$С9 должен быть только в сервисной странице. Через этот код производится вход в custom rom. Custom rom должно выглядеть вот так.

$0000-$3FFF
$4000-$7FFF
$8000-$BFFF
$C000- ваш код
$FD2F - $00, $C9 обязательно
savelij
 
Posts: 568
Joined: 10 Jun 2008, 17:35
Group: Registered users

Postby justine » 03 Jan 2012, 23:32

Ok so i first make the 16K custom rom using this code.

Code: Select all
      .org $0000
                di
                ;Black ink, white paper, no flash, no bright
                ld a,00111000b
                ld hl,22528
                ld de,22529
                ld bc,767
                ld (hl),a
                ldir

                ld a,1      ;A = pattern value to fill the screen with.
                exx
                ld bc,00feh ;C' = port FEh to write border color into.
                ld e,0      ;E' = number of color to show on border.
                exx

BucPrincipal    ld hl,16384
                ld de,16385
                ld bc,6143
                ld (hl),a
                ldir        ;Fill the screen with pattern

                exx
                out (c),e   ;Indicate what bit is on by changing border color.
                inc e       ;Prepare next color.
                exx

                ld bc,0effeh
EsperarASoltar  in e,(c)
                bit 0,e
                jr z,EsperarASoltar   ;Wait until 0 is not pressed.

                jp Retardo               ;Software debounce loop

EsperarAPulsar  in e,(c)
                bit 0,e
                jr nz,EsperarAPulsar ;Wait until 0 is pressed.

                jp Retardo              ;Software debounce loop

                rlca                 ;Rotate A, so pattern shows next bit.
                jr nc,BucPrincipal   ;If we have completed a turn over A register...
                exx
                ld e,0               ;... Reset E' to 0
                exx
                jr BucPrincipal
      halt

Retardo      ld hl,0
BucRetardo      dec hl
                inc h
                dec h
                jr nz,BucRetardo
      ret

   ; Fill rest of rom with $FF
   .FILL $3D2F-$,$FF

   .ORG $3D2F
   .BYTE $00
   .BYTE $C9
   
   ; Fill rest of rom with $FF
   .FILL $4000-$,$FF
        .END


Then i will compile using tasm and next i will issue this command to build the 64k rom image

copy /B /Y ff_16k.rom+ff_16k.rom+ff_16k.rom+test.rom custom.rom

I then use the custom rom updater and select custom rom using key G. Next i push F12 to reset but i only get vertical bars nothing happens.
What have i got wrong ?
User avatar
justine
 
Posts: 101
Joined: 06 Jul 2011, 00:50
Location: Scotland
Group: Registered users

Postby lvd » 04 Jan 2012, 07:38

justine wrote:What have i got wrong ?

justine wrote: jp Retardo ;Software debounce loop

justine wrote:Retardo ld hl,0
BucRetardo dec hl
inc h
dec h
jr nz,BucRetardo
ret

Is it a trolling? :-D
Многого нет здесь: http://lvd.nedopc.com
Image
User avatar
lvd
 
Posts: 1786
Joined: 07 Apr 2007, 22:28
Group: Registered users

Postby lvd » 04 Jan 2012, 07:41

btw, I don't see where you configure stack and RAM page for it.
Многого нет здесь: http://lvd.nedopc.com
Image
User avatar
lvd
 
Posts: 1786
Joined: 07 Apr 2007, 22:28
Group: Registered users

Postby savelij » 04 Jan 2012, 10:19

Я конечно извиняюсь, но custom rom прошивался не туда куда производился сброс. Исправил эту проблему. Версия 0.48b.

И написал простенький тест с переключением экранов. Исходник прилагаю. И прилагаю сам custom rom уже собранный.
Attachments
custom.zip
Собранный custom rom с тестом
(998 Bytes) Downloaded 615 times
Source.zip
Исходный текст
(1.4 KB) Downloaded 574 times
zxevo.zip
Исправленный Evo Service
(227.1 KB) Downloaded 605 times
savelij
 
Posts: 568
Joined: 10 Jun 2008, 17:35
Group: Registered users

Postby justine » 04 Jan 2012, 17:17

Thanx savelij i will try that when i get home tonight.
User avatar
justine
 
Posts: 101
Joined: 06 Jul 2011, 00:50
Location: Scotland
Group: Registered users

Postby justine » 04 Jan 2012, 20:18

savelij what assembler do you use ??

I am trying to compile justine.a80 with asw but keep getting errors ?
User avatar
justine
 
Posts: 101
Joined: 06 Jul 2011, 00:50
Location: Scotland
Group: Registered users

PreviousNext

Return to Пентева - софт и железо

Who is online

Users browsing this forum: No registered users and 1 guest