The sync scroll as used by SYNC since 2013, with code for all the 12 possible different line lengths working in all wakestates as well as on STE. This code matches well with the other repos for wakestate detection as well as sync table generation.
|
|
||
|---|---|---|
| default.tab | initial commit | |
| LICENSE | Slight usage update, added cc0 license | |
| README.md | Corrected error in usage description | |
| sscrl.s | Corrected error in usage description | |
12 line-combo syncscroller by Troed/SYNC (thanks to Paulo Simoes, LJBK, for the research)
Supports different timings for STE, ST ws1, ws2, ws3 and ws4
Synclines can be blanked (no graphics, no bgcolor) - this means you don't need to set/re-set palette
Scanlines with odd word lengths try to clear the Shifter
Calling JSR takes 5 nops, RTS takes 4. Entered at cycle 504. Synclines expect $ffff820a in a0, $ffff8260 in a1 & #0 in d0
Note: Switches to 50Hz at cycle 24 to switch back from a top border 60Hz
caveat: Needs changes if your sync table uses more than 4 lines
USAGE
In your init code:
jsr _detect_ws
jsr _ws_patch
jsr _ssinit
In your screen code, synclock, wait for cycle 484, then:
_jvar0: jsr _s230
_jvar1: jsr _s230
_jvar2: jsr _s230
_jvar3: jsr _s230
In your main-loop:
jsr _setscr
Set _hscrladr to video mem, modify _hscrloff to scroll.