1717 bank_all_banks_display := userzp+13 ; used when bank has no option
1818 bank_save_argc := userzp+14
1919 first_char_id_bank := userzp+15
20-
20+ tmp3 := userzp+ 17
2121
2222 XMAINARGS = $2C
2323 XGETARGV = $2E
2424
25-
2625 lda #$01
2726 sta bank_all_banks_display
2827
7978 sbc #$30
8079 sta bank_save_argc
8180 ldx first_char_id_bank ; 2 chars, get the first digit
82- ;dex
8381 lda #$00
8482@compute_again:
8583
9492 cmp #32
9593 bcc @do_not_switch_to_ram_bank
9694 pha
97- lda $342
95+ lda TWILIGHTE_REGISTER
9896 ora #%00100000
99- sta $342
97+ sta TWILIGHTE_REGISTER
10098 pla
10199@do_not_switch_to_ram_bank:
102100
103101 jsr _twil_get_registers_from_id_bank
104102 ; A bank
105103
106104 sta first_char_id_bank
107- stx $343
105+ stx TWILIGHTE_BANKING_REGISTER
108106
109107
110108
@@ -164,29 +162,29 @@ displays_all_banks:
164162 lda #64
165163 sta bank_decimal_current_bank
166164
167- lda $343
165+ lda TWILIGHTE_BANKING_REGISTER
168166 sta save_twilighte_banking_register
169167
170168 ; switch to ram
171- lda $342
169+ lda TWILIGHTE_REGISTER
172170 sta save_twilighte_register
173171 ora #%00100000
174- sta $342
172+ sta TWILIGHTE_REGISTER
175173
176174 jsr displays_banking
177175
178- lda $342
179- and #%11011111
180- sta $342
176+ lda TWILIGHTE_REGISTER
177+ and #%11011111 ; Return to eeprom mode
178+ sta TWILIGHTE_REGISTER
181179
182180 jsr displays_banking
183181
184182 sei
185183 lda save_twilighte_register
186- sta $342
184+ sta TWILIGHTE_REGISTER
187185
188186 lda save_twilighte_banking_register
189- sta $343
187+ sta TWILIGHTE_BANKING_REGISTER
190188 cli
191189
192190 rts
@@ -195,7 +193,7 @@ displays_banking:
195193
196194
197195 lda #$07
198- sta $343
196+ sta TWILIGHTE_BANKING_REGISTER
199197
200198parse_next_banking_set:
201199
@@ -228,6 +226,7 @@ loop2:
228226 cmp #$C0 ; Does signature is in rom ?
229227 bcc @exit
230228
229+
231230.IFPC02
232231.pc02
233232 stz ptr2
@@ -237,6 +236,8 @@ loop2:
237236 sta ptr2
238237.endif
239238
239+ ;jsr checking_rom
240+
240241@loopme:
241242 ldy ptr2
242243 ldx #$00 ; Read mode
@@ -247,9 +248,9 @@ loop2:
247248 bcc @none_char
248249 cmp #$7F ; '7f'
249250 bcs @none_char
250- @skip:
251251
252- jsr display_char
252+ @skip:
253+ jsr display_char
253254
254255@none_char:
255256
@@ -290,22 +291,23 @@ loop2:
290291 lda bank_decimal_current_bank
291292 cmp #16
292293 bne @skip12
293- lda #03
294- sta $343
294+ lda #$ 03
295+ sta TWILIGHTE_BANKING_REGISTER
295296
296297@skip12:
297-
298- dec $343
298+ dec TWILIGHTE_BANKING_REGISTER
299299 bpl parse_next_banking_set
300- @end_of_bank:
301300
301+ @end_of_bank:
302302 rts
303+
303304@check_ctrl:
304305 lda bank_stop_listing
305306 bne @wait_key
306307 asl KBDCTC
307308 bcc @no_ctrl
308309 rts
310+
309311@check_kernel_ram_overlay:
310312 lda bank_decimal_current_bank
311313 cmp #52
@@ -321,28 +323,27 @@ check_if_bank_7_6_5:
321323 bne @check_bank4
322324@set4:
323325 lda #$04
324- sta $343
326+ sta TWILIGHTE_BANKING_REGISTER
325327 rts
326328@check_bank4:
327329 cmp #$04
328330 bne @others
329331@set0:
330332 lda #$00
331- sta $343
333+ sta TWILIGHTE_BANKING_REGISTER
332334 rts
333335@others:
334336 cmp #20
335337 bne @exit
336338@set3:
337339 lda #$03
338- sta $343
340+ sta TWILIGHTE_BANKING_REGISTER
339341 rts
340342@exit:
341- ;cmp #61
342- ;beq @set4
343343 rts
344+
344345display_char:
345- BRK_ORIX XWR0
346+ BRK_KERNEL XWR0
346347 rts
347348
348349display_bank_id:
@@ -363,7 +364,7 @@ greater_than_10:
363364 cmp #20
364365 bcs greater_than_20
365366 pha
366- lda #'1'
367+ lda #'1'
367368 BRK_ORIX XWR0
368369 pla
369370 clc
@@ -375,14 +376,15 @@ greater_than_20:
375376 cmp #30
376377 bcs greater_than_30
377378 pha
378- lda #'2'
379+ lda #'2'
379380 BRK_ORIX XWR0
380381 pla
381382 clc
382383 adc #28
383384 BRK_ORIX XWR0
384385 CPUTC ':'
385386 rts
387+
386388greater_than_30:
387389 cmp #40
388390 bcs greater_than_40
@@ -395,6 +397,7 @@ greater_than_30:
395397 BRK_ORIX XWR0
396398 CPUTC ':'
397399 rts
400+
398401greater_than_40:
399402 cmp #50
400403 bcs greater_than_50
@@ -407,6 +410,7 @@ greater_than_40:
407410 BRK_ORIX XWR0
408411 CPUTC ':'
409412 rts
413+
410414greater_than_50:
411415 cmp #60
412416 bcs greater_than_60
@@ -420,18 +424,16 @@ greater_than_50:
420424 BRK_ORIX XWR0
421425 CPUTC ':'
422426 rts
423- greater_than_60:
424427
428+ greater_than_60:
425429 pha
426430 lda #'6'
427431 BRK_ORIX XWR0
428432 pla
429- ;cld
430433 sec
431434 sbc #12
432- ;sed
433435 BRK_ORIX XWR0
434- CPUTC ':'
436+ print # ':'
435437 rts
436438
437439upd_ptr:
@@ -464,6 +466,41 @@ get_rom_type:
464466 jsr READ_BYTE_FROM_OVERLAY_RAM ; get low
465467 rts
466468
469+ checking_rom:
470+ ; ce code est supposé mettre des couleurs différentes pour indiquer s'il y une anomalie dans la banque
471+ lda ptr1
472+ sta tmp3
473+
474+ lda ptr1+1
475+ sta tmp3+1
476+
477+
478+ lda #<$FFFE
479+ sta ptr1
480+ lda #>$FFFE
481+ sta ptr1+1
482+
483+ ; Get Type
484+ ldy #$00
485+ ldx #$00 ; Read mode
486+ jsr READ_BYTE_FROM_OVERLAY_RAM
487+ cmp #$FA
488+ beq @orix_rom
489+ cli
490+ @me:
491+ jmp @me
492+ lda #'2'
493+ BRK_KERNEL XWR0
494+ sei
495+ @orix_rom:
496+ @skip:
497+ lda tmp3
498+ sta ptr1
499+
500+ lda tmp3+1
501+ sta ptr1+1
502+ rts
503+
467504usage:
468505 .byte "bank [-a]" ,$0D ,$0A
469506 .asciiz "bank IDBANK"
@@ -482,6 +519,7 @@ str_kernel_reserved:
482519 tax
483520 lda bank,y
484521 rts
522+
485523@bank0:
486524 ; Impossible to have bank 0
487525 tax
0 commit comments