Page 1 of 2

OpenSE BASIC на PentEvo

PostPosted: 10 Jan 2012, 17:06
by breeze
Как-то давным давно, один умный дядька решил избавится от коммерческого BASIC 48 и переписать его с нуля сделав под лицензией GNU.
Не буду вдаваться в более глубокие дебри, скажу лишь посмотрев сей Basic под Unreal Speccy решил прошить как Custom Rom.

Тут меня ждала первая подача. Манагер EvoReseta «Update Custom Rom» хотел видеть только файл с расширением ROM и никак не меньше длины 65535. Хорошо что не так давно savelij выложил пример custom.rom и этот вопрос решился простым склеиванием 4х копий в один файл. Прошились. Выбираем Reset=>Custom Rom. Reset и… правилно! висяк :)

Я так понимаю, что без какой-то начальной инициализации PentEvo[?], тупо запустить прошивку не получится?

Кому интересно, саму прошивку и сорцы можно скачать тут -> http://sourceforge.net/projects/sebasic ... E%20BASIC/

Re: OpenSE BASIC на PentEvo

PostPosted: 10 Jan 2012, 17:37
by DimkaM
У тебя в какой по счёту банке(16к) оно лежит?
Сделай хобету с включалкой этой банки, тама кода 15байт.

И прилепи плиз свой ром(полностью) сюда.

Re: OpenSE BASIC на PentEvo

PostPosted: 10 Jan 2012, 17:55
by DimkaM
Примерно так:

ld a,1
out (0xbf),a
ld bc,0x3ff7
ld a,OpenSE_page ^ %00111111
out (c),a
xor a
out (0xbf),a
rst 0

Re: OpenSE BASIC на PentEvo

PostPosted: 10 Jan 2012, 17:58
by savelij
Все гораздо проще. Сброс производится в сервис пагу посему достаточно добавить там с адрес 0 сервис паги (смещение 0xc000 в custom rom) такое?

ld a,0xc9
ld (любой адрес в озу),a
ld hl,0
ld sp,любой удобный адрес в озу
push hl
jp адрес куда положили код 0xc9

и оно само улетит в басик.

Re: OpenSE BASIC на PentEvo

PostPosted: 10 Jan 2012, 18:10
by нолька
ld hl,#ffff:ld (hl),0:jp (hl)

Re: OpenSE BASIC на PentEvo

PostPosted: 10 Jan 2012, 19:02
by breeze
DimkaM wrote:И прилепи плиз свой ром(полностью) сюда.


не совсем понял что ты имел ввиду под «полностью», там просто «opense.rom» повторяется 4 раза.

Re: OpenSE BASIC на PentEvo

PostPosted: 10 Jan 2012, 19:08
by breeze
savelij wrote:Все гораздо проще.


Честно не совсем понял. ты предлагаешь изменить первых 3 байта прошивки на JP ADDR с твоей процедурой? или что?

Re: OpenSE BASIC на PentEvo

PostPosted: 10 Jan 2012, 19:13
by нолька
кастом ром состоит из 4х штук 16к, последние 16к это сервис ром в который идет сброс, там размести указанную процедуру а бейсик скопируй в первые 3 штуки

Re: OpenSE BASIC на PentEvo

PostPosted: 10 Jan 2012, 19:15
by breeze
DimkaM wrote:Примерно так:


короче тупо набрал сей код в аласме :) сработало

ld a,%00111111

Re: OpenSE BASIC на PentEvo

PostPosted: 10 Jan 2012, 19:16
by breeze
нолька wrote:там размести указанную процедуру а бейсик скопируй в первые 3 штуки


всё понял! спасибо!