diff --git a/debian/changelog b/debian/changelog index 324b311..3a26318 100755 --- a/debian/changelog +++ b/debian/changelog @@ -1,11 +1,12 @@ -a2pi (0.1.8-2) unstable; urgency=low +a2pi (0.1.8-3) unstable; urgency=low * Fix FUSE create file function * Add VSDRIVE functionality * Fix recursive call request (FUSE mount w/ pidrive active) * Fix symlinks for A2VDx.PO updating + * Add UTILS.PO image for comms programs and file manipulation - -- David Schmenk Tue, 04 Feb 2014 13:43:53 -0800 + -- David Schmenk Tue, 13 Feb 2014 15:31:23 -0800 a2pi (0.1.7-3) unstable; urgency=low diff --git a/debian/postinst b/debian/postinst index 1599fca..50c5509 100755 --- a/debian/postinst +++ b/debian/postinst @@ -70,7 +70,7 @@ case "$1" in if [ -e /usr/share/a2pi/A2VD2.PO ] || [ -L /usrshare/a2pi/A2VD2.PO ] ; then rm /usr/share/a2pi/A2VD2.PO fi - ln -s /usr/share/a2pi/BLANK.PO /usr/share/a2pi/A2VD2.PO + ln -s /usr/share/a2pi/UTILS.PO /usr/share/a2pi/A2VD2.PO fi # # Add schmenk.is-a-geek.com to apt sources diff --git a/pidrive/makefile b/pidrive/makefile index eab67c7..b39a97b 100755 --- a/pidrive/makefile +++ b/pidrive/makefile @@ -11,6 +11,9 @@ BINTYPE = \#060000 SYSTYPE = \#ff0000 TXTTYPE = \#040000 +clean: + -rm $(ROM) $(VDRV) $(VCLK) *.o *~ + all: $(ROM) $(VDRV) $(VCLK) $(ROM): rom.s diff --git a/pidrive/pidrive.s b/pidrive/pidrive.s index 1022035..bd44d72 100755 --- a/pidrive/pidrive.s +++ b/pidrive/pidrive.s @@ -92,6 +92,12 @@ SRCH EQU $09 ;* DRVRDST EQU $D742 DRVRLEN EQU 125 + LDA SLOTIDX + LSR + LSR + LSR + LSR + STA SLOTNUM LDA #$60 STA CLKJMP ; UNHOOK CLOCK DRIVER (WITH RTS) LDA # upx && rely > upy)) { pen = PEN_DOWN; - cntrx = relx; - cntry = rely; + downx = cntrx = relx; + downy = cntry = rely; } if (pen == PEN_DOWN) { - evrelx.value = (relx - cntrx); - evrely.value = (rely - cntry); - write(joyfd, &evrelx, sizeof(evrelx)); - write(joyfd, &evrely, sizeof(evrely)); - write(joyfd, &evsync, sizeof(evsync)); + if (abs(relx - cntrx) < PEN_NOISE && abs(rely - cntry) < PEN_NOISE) + { + evrelx.value = (relx - cntrx) * PEN_SCALE; + evrely.value = (rely - cntry) * PEN_SCALE; + write(joyfd, &evrelx, sizeof(evrelx)); + write(joyfd, &evrely, sizeof(evrely)); + write(joyfd, &evsync, sizeof(evsync)); + cntrx = relx; + cntry = rely; + } } if (isdebug) fprintf(stderr, "a2joypad (%d, %d) [%d %d] pen=%d\n", relx, rely, bttns[0] >> 7, bttns[1] >> 7, pen); } diff --git a/src/dskread.c b/src/dskread.c index c5f2032..f6e06c0 100755 --- a/src/dskread.c +++ b/src/dskread.c @@ -1,31 +1,29 @@ #include "a2lib.c" char online[] = { -// ORG $300 +// ORG $301 0x20, 0x00, 0xBF, // JSR $BF00 (PRODOS) 0xC5, // DB ON_LINE 0x08, 0x03, // DW PARAMS 0x60, // RTS - 0xEA, // PARAMS @ $308 0x02, // PARAM_COUNT 0x60, // UNIT_NUM = DRIVE 0, SLOT 6 0x00, 0x20 // DATA_BUFFER = $2000 }; char readblk[] = { -// ORG $300 +// ORG $301 0x20, 0x00, 0xBF, // JSR $BF00 (PRODOS) 0x80, // DB READ_BLOCK 0x08, 0x03, // DW PARAMS 0x60, // RTS - 0xEA, // PARAMS @ $308 0x03, // PARAM_COUNT 0x60, // UNIT_NUM = DRIVE 0, SLOT 6 0x00, 0x20, // DATA_BUFFER = $2000 0x00, 0x00 // BLOCK_NUM }; -#define ORG 0x0300 +#define ORG 0x0301 #define BLOCK_NUM 0x030C #define DATA_BUFFER 0x2000 char dsk[280][512]; @@ -65,4 +63,4 @@ int main(int argc, char **argv) fclose(dskfile); } return EXIT_SUCCESS; -} \ No newline at end of file +} diff --git a/src/dskwrite.c b/src/dskwrite.c index 064c0d4..2922063 100755 --- a/src/dskwrite.c +++ b/src/dskwrite.c @@ -1,31 +1,29 @@ #include "a2lib.c" char online[] = { -// ORG $300 +// ORG $301 0x20, 0x00, 0xBF, // JSR $BF00 (PRODOS) 0xC5, // DB ON_LINE 0x08, 0x03, // DW PARAMS 0x60, // RTS - 0xEA, // PARAMS @ $308 0x02, // PARAM_COUNT 0x60, // UNIT_NUM = DRIVE 0, SLOT 6 0x00, 0x20 // DATA_BUFFER = $2000 }; char writeblk[] = { -// ORG $300 +// ORG $301 0x20, 0x00, 0xBF, // JSR $BF00 (PRODOS) 0x81, // DB WRITE_BLOCK 0x08, 0x03, // DW PARAMS 0x60, // RTS - 0xEA, // PARAMS @ $308 0x03, // PARAM_COUNT 0x60, // UNIT_NUM = DRIVE 0, SLOT 6 0x00, 0x20, // DATA_BUFFER = $2000 0x00, 0x00 // BLOCK_NUM }; -#define ORG 0x0300 +#define ORG 0x0301 #define BLOCK_NUM 0x030C #define DATA_BUFFER 0x2000 char dsk[280][512]; @@ -87,4 +85,4 @@ int main(int argc, char **argv) } a2close(pifd); return EXIT_SUCCESS; -} \ No newline at end of file +}