( bucko | 2017. 01. 24., k – 14:38 )

Ugrótáblára kicsit módosítottam ezt: google -> joeyd999 first PIC trick
Igaz van overhead, meg pic18 a kód, de csak megbírkózol az értlemezésével. ;)
Viszont agy nélkül lehet írni az ugrótáblát <127 elemig. Az meg bőven elég.

			movf		Command, w, a
			call		cjump
			bra		Command0
			bra		Command1
...
cjump
			addwf		WREG, w, a
			addwf		TOSL, f, a
			skpnc
			incf		TOSH, f, a
			return

Az USB RAM csak ott nem használható ahol az UEPn-ben engedélyezett Buffer Descriptorok (BD) vannak, illetve az BD-ban kijelölt bufferek. Vélhetően a 0, 1, 2, 3 EP van használatban. Tehát a kizát tartományok lineáris címmel:
- 2000..201f
- Ez után lehet a 0, 1 endpoint-hoz tartozó bufferek, amit kb. SetupPkt változótól kezdve találsz meg.
- Néhány változó.
- A 2, 3 endpoint-hoz tartozó bufferek, a címük az initEP (vagy valami hasonló) részből kiolvasható. Mérete 2x40h.
- 21f0..21ff
Ennek alapján több mint 256 bájtod van szabadon.

Hasonlóképpen a brw is a teljes PC-re képez átvitelt...
Nem figyelsz! Hát ott írja az errata, hogy néha semmi ilyesmit nem tesz! :))))