Volt egy dobozos Spectrum Vaterán, húzós 20 ezres induló árral, amitől érdekes lehet:
Módosított bejelentkezéssel : "SINCLAIR - DEMAK - ROM 1986."
Update, 2013. október 31:
Találkoztam az eladóval, és sikerült lementeni a DEMAK ROM-ot.
Köszönet érte Einhorn Tibornak.
DEMAK 86/1 ROM
DEMAK 86/1 ROM
A hozzászólást 2 alkalommal szerkesztették, utoljára makranc 2013.10.31. 21:11-kor.
- BetelGeuse
- Hozzászólások: 59
- Csatlakozott: 2012.01.09. 15:42
Re: DEMAK 86/1 ROM
Néhány javítás van benne az eredeti Speccy ROM-hoz képest (na meg egy számomra nem értelmezhető -- hibás? -- sor is)
A legnagyobb módosítás benne, hogy a karakterkészlet előtti nem használt területen előre definiált UGD készlet van, onnan másolja a memória tetejére.
Kód: Egész kijelölése
<SPECCY>
ROM_RESET: ;$0066 'nem maszkolható megszakítás' rutin
00102 PUSH AF
00103 PUSH HL
00104 LD HL,(BSV_NMIADD)
00107 LD A,H
00108 OR L
00109 JR NZ,ROM_NO_RESET ;NZ!
[ˇˇ] Z1:=
00111 JP (HL)
ROM_NO_RESET: ;$0070
<DEMAK>
ROM_RESET: ;$0066 'nem maszkolható megszakítás' rutin
00102 PUSH AF
00103 PUSH HL
00104 LD HL,(BSV_NMIADD)
00107 LD A,H
00108 OR L
00109 JR Z,ROM_NO_RESET ;Z!
[ˇˇ] Z0:×
00111 JP (HL)
ROM_NO_RESET: ;$0070
<SPECCY>
ROM_ZX81_NAME: ;$04AA 'programnév' szubrutin (ZX81)
01194 CALL ROM_SCANNING
01197 LD A,(BSV_FLAGS)
01200 ADD A,A
01201 JP M,ROM_REPORT_C
01204 POP HL
01205 RET NC
01206 PUSH HL
01207 CALL ROM_STK_FETCH
01210 LD H,D
01211 LD L,E
01212 DEC C
01213 RET M
01214 ADD HL,BC
01215 SET 7,(HL)
01217 RET
<DEMAK>
ROM_ZX81_NAME: ;$04AA 'programnév' szubrutin (ZX81)
01194 LD HL,ROM_START
01197 LD BC,DSP_START_ADR ;BC=16384
01200 LDIR
01202 LD DE,65535
01205 JP ROM_START_NEW
...
<SPECCY>
ROM_PO_BACK_1: ;$0A23 'kurzor balra' szubrutin
02595 INC C
02596 LD A,34
02598 CP C
02599 JR NZ,ROM_PO_BACK_3
02601 BIT 1,(IY+1)
02605 JR NZ,ROM_PO_BACK_2
02607 INC B
02608 LD C,2
02610 LD A,24 ;A=24 !
02612 CP B
02613 JR NZ,ROM_PO_BACK_3
<DEMAK>
ROM_PO_BACK_1: ;$0A23 'kurzor balra' szubrutin
02595 INC C
02596 LD A,34
02598 CP C
02599 JR NZ,ROM_PO_BACK_3
02601 BIT 1,(IY+1)
02605 JR NZ,ROM_PO_BACK_2
02607 INC B
02608 LD C,2
02610 LD A,25 ;A=25 !
02612 CP B
02613 JR NZ,ROM_PO_BACK_3
<SPECCY>
ROM_RAM_DONE: ;$11EF
04591 DEC HL
04592 EXX
04593 LD (BSV_P_RAMT),BC
04597 LD (BSV_RASP),DE
04601 LD (BSV_UDG),HL
04604 EXX
04605 INC B
04606 JR Z,ROM_RAM_SET
04608 LD (BSV_P_RAMT),HL
04611 LD DE,L16047 ;DE=16047 !
04614 LD BC,L00168
04617 EX DE,HL
04618 LDDR
04620 EX DE,HL
04621 INC HL
04622 LD (BSV_UDG),HL
04625 DEC HL
04626 LD BC,L00064
04629 LD (BSV_RASP),BC
<DEMAK>
ROM_RAM_DONE: ;$11EF
04591 DEC HL
04592 EXX
04593 LD (BSV_P_RAMT),BC
04597 LD (BSV_RASP),DE
04601 LD (BSV_UDG),HL
04604 EXX
04605 INC B
04606 JR Z,ROM_RAM_SET
04608 LD (BSV_P_RAMT),HL
04611 LD DE,L14613 ;DE=14613 !
04614 LD BC,L00168
04617 EX DE,HL
04618 LDDR
04620 EX DE,HL
04621 INC HL
04622 LD (BSV_UDG),HL
04625 DEC HL
04626 LD BC,L00064
04629 LD (BSV_RASP),BC
<SPECCY>
ROM_COPYRIGHT: ;$1539
05433 DB 127 $7F ·#######(´´)
05434 DB 32 $20 ··#·····(´ ´)
05435 DB 49 $31 ··##···#(´1´)
05436 DB 57 $39 ··###··#(´9´)
05437 DB 56 $38 ··###···(´8´)
05438 DB 50 $32 ··##··#·(´2´)
05439 DB 32 $20 ··#·····(´ ´)
05440 DB 83 $53 ·#·#··##(´S´)
05441 DB 105 $69 ·##·#··#(´i´)
05442 DB 110 $6E ·##·###·(´n´)
05443 DB 99 $63 ·##···##(´c´)
05444 DB 108 $6C ·##·##··(´l´)
05445 DB 97 $61 ·##····#(´a´)
05446 DB 105 $69 ·##·#··#(´i´)
05447 DB 114 $72 ·###··#·(´r´)
05448 DB 32 $20 ··#·····(´ ´)
05449 DB 82 $52 ·#·#··#·(´R´)
05450 DB 101 $65 ·##··#·#(´e´)
05451 DB 115 $73 ·###··##(´s´)
05452 DB 101 $65 ·##··#·#(´e´)
05453 DB 97 $61 ·##····#(´a´)
05454 DB 114 $72 ·###··#·(´r´)
05455 DB 99 $63 ·##···##(´c´)
05456 DB 104 $68 ·##·#···(´h´)
05457 DB 32 $20 ··#·····(´ ´)
05458 DB 76 $4C ·#··##··(´L´)
05459 DB 116 $74 ·###·#··(´t´)
05460 DB 228 $E4 ###··#··(˝d˝)
<DEMAK>
ROM_COPYRIGHT: ;$1539
05433 DB 127 $7F ·#######(´´)
05434 DB 32 $20 ··#·····(´ ´)
05435 DB 83 $53 ·#·#··##(´S´)
05436 DB 73 $49 ·#··#··#(´I´)
05437 DB 78 $4E ·#··###·(´N´)
05438 DB 67 $43 ·#····##(´C´)
05439 DB 76 $4C ·#··##··(´L´)
05440 DB 65 $41 ·#·····#(´A´)
05441 DB 73 $49 ·#··#··#(´I´)
05442 DB 82 $52 ·#·#··#·(´R´)
05443 DB 45 $2D ··#·##·#(´-´)
05444 DB 68 $44 ·#···#··(´D´)
05445 DB 69 $45 ·#···#·#(´E´)
05446 DB 77 $4D ·#··##·#(´M´)
05447 DB 65 $41 ·#·····#(´A´)
05448 DB 75 $4B ·#··#·##(´K´)
05449 DB 32 $20 ··#·····(´ ´)
05450 DB 82 $52 ·#·#··#·(´R´)
05451 DB 79 $4F ·#··####(´O´)
05452 DB 77 $4D ·#··##·#(´M´)
05453 DB 32 $20 ··#·····(´ ´)
05454 DB 49 $31 ··##···#(´1´)
05455 DB 57 $39 ··###··#(´9´)
05456 DB 56 $38 ··###···(´8´)
05457 DB 54 $36 ··##·##·(´6´)
05458 DB 47 $2F ··#·####(´/´)
05459 DB 49 $31 ··##···#(´1´)
05460 DB 160 $A0 #·#·····(˝ ˝)
<SPECCY>
ROM_LIST_1: ;$17FB
06139 LD (IY+2),0
06143 CALL ROM_SYNTAX_Z
06146 CALL NZ,ROM_CHAN_OPEN
06149 RST 24 ;SpecyROM: GET_CHAR rutin
06150 CALL ROM_STR_ALTER
06153 JR C,ROM_LIST_4
06155 RST 24 ;SpecyROM: GET_CHAR rutin
06156 CP 59 ;A ? 59(´;´)
06158 JR Z,ROM_LIST_2
06160 CP 44 ;A ? 44(´,´)
06162 JR NZ,ROM_LIST_3
...
06181 CALL ROM_FIND_INT2
06184 LD A,B
06185 AND 63
...
<DEMAK>
ROM_LIST_1: ;$17FB
06139 LD (IY+2),0
06143 DEC C ;?
06144 JR NC,D06183 ;?
06146 CALL NZ,ROM_CHAN_OPEN
06149 RST 24 ;SpecyROM: GET_CHAR rutin
06150 CALL ROM_STR_ALTER
06153 JR C,ROM_LIST_4
06155 RST 24 ;SpecyROM: GET_CHAR rutin
06156 CP 59 ;A ? 59(´;´)
06158 JR Z,ROM_LIST_2
06160 CP 44 ;A ? 44(´,´)
06162 JR NZ,ROM_LIST_3
...
06181 DB 205 ;CALL ROM_FIND_INT2
06182 DB 153
;06183 DB 30
=====
D06183:
06183 LD E,120 ;?
06185 AND 63
...
<SPECCY>
ROM_S_SCR_STO: ;$257D
09597 JP ROM_STK_STO_$ ;!
<DEMAK>
ROM_S_SCR_STO: ;$257D
09597 RET ;!
<SPECCY>
ROM_COUNT_ONE: ;$31FA
12794 INC B
12795 JP M,ROM_DIV_LOOP
12798 PUSH AF
12799 JR Z,ROM_DIV_START ;!
...
<DEMAK>
ROM_COUNT_ONE: ;$31FA
12794 INC B
12795 JP M,ROM_DIV_LOOP
12798 PUSH AF
12799 JR Z,ROM_DIV_34TH ;!
...
<SPECCY>
ROM_CASES: ;$37FA
14330 DB 1 ;>exchange<
14331 DB 49 ;>duplicate<
14332 DB 49 ;>duplicate< !
14333 DB 4 ;>multiply< !
14334 DB 49 ;>duplicate<
14335 DB 15 ;>addition< !
14336 DB 161 ;>stk-one<
...
<DEMAK>
ROM_CASES: ;$37FA
14330 DB 1 ;>exchange<
14331 DB 49 ;>duplicate<
14332 DB 0 ;>jump-true< !
14333 DB 0 ;>jump-true< !
14334 DB 49 ;>duplicate<
14335 DB 13 ;>no-less< !
14336 DB 161 ;>stk-one<
...
<SPECCY>
ROM_SPARE: ;$386E Nem használt, tartalmuk 255
14446 DB 255 ;!
... ;!
14637 DB 255 ;!
...
<DEMAK>
ROM_SPARE: ;$386E Nem használt, tartalmuk 255
14446 DB 8 ;$08 ····#···(´·´)
14447 DB 16 ;$10 ···#····(´·´)
14448 DB 56 ;$38 ··###···(´8´)
14449 DB 4 ;$04 ·····#··(´·´)
14450 DB 60 ;$3C ··####··(´<´)
14451 DB 68 ;$44 ·#···#··(´D´)
14452 DB 60 ;$3C ··####··(´<´)
14453 DB 0 ;$00 ········(´·´)
14454 DB 8 ;$08 ····#···(´·´)
14455 DB 60 ;$3C ··####··(´<´)
14456 DB 74 ;$4A ·#··#·#·(´J´)
14457 DB 66 ;$42 ·#····#·(´B´)
14458 DB 126 ;$7E ·######·(´~´)
14459 DB 66 ;$42 ·#····#·(´B´)
14460 DB 66 ;$42 ·#····#·(´B´)
14461 DB 0 ;$00 ········(´·´)
14462 DB 4 ;$04 ·····#··(´·´)
14463 DB 8 ;$08 ····#···(´·´)
14464 DB 0 ;$00 ········(´·´)
14465 DB 24 ;$18 ···##···(´·´)
14466 DB 8 ;$08 ····#···(´·´)
14467 DB 8 ;$08 ····#···(´·´)
14468 DB 28 ;$1C ···###··(´·´)
14469 DB 0 ;$00 ········(´·´)
14470 DB 2 ;$02 ······#·(´·´)
14471 DB 58 ;$3A ··###·#·(´:´)
14472 DB 18 ;$12 ···#··#·(´·´)
14473 DB 16 ;$10 ···#····(´·´)
14474 DB 16 ;$10 ···#····(´·´)
14475 DB 16 ;$10 ···#····(´·´)
14476 DB 56 ;$38 ··###···(´8´)
14477 DB 0 ;$00 ········(´·´)
14478 DB 8 ;$08 ····#···(´·´)
14479 DB 16 ;$10 ···#····(´·´)
14480 DB 56 ;$38 ··###···(´8´)
14481 DB 68 ;$44 ·#···#··(´D´)
14482 DB 120 ;$78 ·####···(´x´)
14483 DB 64 ;$40 ·#······(´@´)
14484 DB 60 ;$3C ··####··(´<´)
14485 DB 0 ;$00 ········(´·´)
14486 DB 8 ;$08 ····#···(´·´)
14487 DB 126 ;$7E ·######·(´~´)
14488 DB 72 ;$48 ·#··#···(´H´)
14489 DB 126 ;$7E ·######·(´~´)
14490 DB 64 ;$40 ·#······(´@´)
14491 DB 64 ;$40 ·#······(´@´)
14492 DB 126 ;$7E ·######·(´~´)
14493 DB 0 ;$00 ········(´·´)
14494 DB 0 ;$00 ········(´·´)
14495 DB 0 ;$00 ········(´·´)
14496 DB 32 ;$20 ··#·····(´ ´)
14497 DB 80 ;$50 ·#·#····(´P´)
14498 DB 10 ;$0A ····#·#·(´·´)
14499 DB 4 ;$04 ·····#··(´·´)
14500 DB 0 ;$00 ········(´·´)
14501 DB 0 ;$00 ········(´·´)
14502 DB 0 ;$00 ········(´·´)
14503 DB 8 ;$08 ····#···(´·´)
14504 DB 16 ;$10 ···#····(´·´)
14505 DB 68 ;$44 ·#···#··(´D´)
14506 DB 68 ;$44 ·#···#··(´D´)
14507 DB 68 ;$44 ·#···#··(´D´)
14508 DB 56 ;$38 ··###···(´8´)
14509 DB 0 ;$00 ········(´·´)
14510 DB 0 ;$00 ········(´·´)
14511 DB 96 ;$60 ·##·····(´`´)
14512 DB 16 ;$10 ···#····(´·´)
14513 DB 8 ;$08 ····#···(´·´)
14514 DB 24 ;$18 ···##···(´·´)
14515 DB 36 ;$24 ··#··#··(´$´)
14516 DB 66 ;$42 ·#····#·(´B´)
14517 DB 0 ;$00 ········(´·´)
14518 DB 0 ;$00 ········(´·´)
14519 DB 24 ;$18 ···##···(´·´)
14520 DB 24 ;$18 ···##···(´·´)
14521 DB 36 ;$24 ··#··#··(´$´)
14522 DB 36 ;$24 ··#··#··(´$´)
14523 DB 66 ;$42 ·#····#·(´B´)
14524 DB 126 ;$7E ·######·(´~´)
14525 DB 0 ;$00 ········(´·´)
14526 DB 20 ;$14 ···#·#··(´·´)
14527 DB 60 ;$3C ··####··(´<´)
14528 DB 66 ;$42 ·#····#·(´B´)
14529 DB 66 ;$42 ·#····#·(´B´)
14530 DB 66 ;$42 ·#····#·(´B´)
14531 DB 66 ;$42 ·#····#·(´B´)
14532 DB 60 ;$3C ··####··(´<´)
14533 DB 0 ;$00 ········(´·´)
14534 DB 20 ;$14 ···#·#··(´·´)
14535 DB 66 ;$42 ·#····#·(´B´)
14536 DB 66 ;$42 ·#····#·(´B´)
14537 DB 66 ;$42 ·#····#·(´B´)
14538 DB 66 ;$42 ·#····#·(´B´)
14539 DB 66 ;$42 ·#····#·(´B´)
14540 DB 60 ;$3C ··####··(´<´)
14541 DB 0 ;$00 ········(´·´)
14542 DB 8 ;$08 ····#···(´·´)
14543 DB 74 ;$4A ·#··#·#·(´J´)
14544 DB 74 ;$4A ·#··#·#·(´J´)
14545 DB 66 ;$42 ·#····#·(´B´)
14546 DB 66 ;$42 ·#····#·(´B´)
14547 DB 66 ;$42 ·#····#·(´B´)
14548 DB 60 ;$3C ··####··(´<´)
14549 DB 0 ;$00 ········(´·´)
14550 DB 20 ;$14 ···#·#··(´·´)
14551 DB 40 ;$28 ··#·#···(´(´)
14552 DB 0 ;$00 ········(´·´)
14553 DB 56 ;$38 ··###···(´8´)
14554 DB 68 ;$44 ·#···#··(´D´)
14555 DB 68 ;$44 ·#···#··(´D´)
14556 DB 56 ;$38 ··###···(´8´)
14557 DB 0 ;$00 ········(´·´)
14558 DB 0 ;$00 ········(´·´)
14559 DB 40 ;$28 ··#·#···(´(´)
14560 DB 0 ;$00 ········(´·´)
14561 DB 56 ;$38 ··###···(´8´)
14562 DB 68 ;$44 ·#···#··(´D´)
14563 DB 68 ;$44 ·#···#··(´D´)
14564 DB 56 ;$38 ··###···(´8´)
14565 DB 0 ;$00 ········(´·´)
14566 DB 8 ;$08 ····#···(´·´)
14567 DB 60 ;$3C ··####··(´<´)
14568 DB 74 ;$4A ·#··#·#·(´J´)
14569 DB 66 ;$42 ·#····#·(´B´)
14570 DB 66 ;$42 ·#····#·(´B´)
14571 DB 66 ;$42 ·#····#·(´B´)
14572 DB 60 ;$3C ··####··(´<´)
14573 DB 0 ;$00 ········(´·´)
14574 DB 40 ;$28 ··#·#···(´(´)
14575 DB 106 ;$6A ·##·#·#·(´j´)
14576 DB 106 ;$6A ·##·#·#·(´j´)
14577 DB 66 ;$42 ·#····#·(´B´)
14578 DB 66 ;$42 ·#····#·(´B´)
14579 DB 66 ;$42 ·#····#·(´B´)
14580 DB 60 ;$3C ··####··(´<´)
14581 DB 0 ;$00 ········(´·´)
14582 DB 20 ;$14 ···#·#··(´·´)
14583 DB 60 ;$3C ··####··(´<´)
14584 DB 86 ;$56 ·#·#·##·(´V´)
14585 DB 66 ;$42 ·#····#·(´B´)
14586 DB 66 ;$42 ·#····#·(´B´)
14587 DB 66 ;$42 ·#····#·(´B´)
14588 DB 60 ;$3C ··####··(´<´)
14589 DB 0 ;$00 ········(´·´)
14590 DB 8 ;$08 ····#···(´·´)
14591 DB 16 ;$10 ···#····(´·´)
14592 DB 0 ;$00 ········(´·´)
14593 DB 56 ;$38 ··###···(´8´)
14594 DB 68 ;$44 ·#···#··(´D´)
14595 DB 68 ;$44 ·#···#··(´D´)
14596 DB 56 ;$38 ··###···(´8´)
14597 DB 0 ;$00 ········(´·´)
14598 DB 20 ;$14 ···#·#··(´·´)
14599 DB 40 ;$28 ··#·#···(´(´)
14600 DB 0 ;$00 ········(´·´)
14601 DB 68 ;$44 ·#···#··(´D´)
14602 DB 68 ;$44 ·#···#··(´D´)
14603 DB 68 ;$44 ·#···#··(´D´)
14604 DB 56 ;$38 ··###···(´8´)
14605 DB 0 ;$00 ········(´·´)
14606 DB 0 ;$00 ········(´·´)
14607 DB 40 ;$28 ··#·#···(´(´)
14608 DB 0 ;$00 ········(´·´)
14609 DB 68 ;$44 ·#···#··(´D´)
14610 DB 68 ;$44 ·#···#··(´D´)
14611 DB 68 ;$44 ·#···#··(´D´)
14612 DB 56 ;$38 ··###···(´8´)
L14613:
14613 DB 0 ;$00 ········(´·´)
14614 DB 255 ;$FF ########
14615 DB 255 ;$FF ########
14616 DB 67 ;$43 ·#····##(´C´)
14617 DB 75 ;$4B ·#··#·##(´K´)
14618 DB 77 ;$4D ·#··##·#(´M´)
14619 DB 32 ;$20 ··#·····(´ ´)
14620 DB 49 ;$31 ··##···#(´1´)
14621 DB 57 ;$39 ··###··#(´9´)
14622 DB 56 ;$38 ··###···(´8´)
14623 DB 54 ;$36 ··##·##·(´6´)
14624 DB 46 ;$2E ··#·###·(´.´)
14625 DB 50 ;$32 ··##··#·(´2´)
14626 DB 46 ;$2E ··#·###·(´.´)
14627 DB 49 ;$31 ··##···#(´1´)
14628 DB 51 ;$33 ··##··##(´3´)
14629 DB 46 ;$2E ··#·###·(´.´)
14630 DB 86 ;$56 ·#·#·##·(´V´)
14631 DB 101 ;$65 ·##··#·#(´e´)
14632 DB 114 ;$72 ·###··#·(´r´)
14633 DB 46 ;$2E ··#·###·(´.´)
14634 DB 49 ;$31 ··##···#(´1´)
14635 DB 46 ;$2E ··#·###·(´.´)
14636 DB 48 ;$30 ··##····(´0´)
14637 DB 255 ;$FF ########
...
Ave: BetelGeuse