Commit Graph

35 Commits

Author SHA1 Message Date
mrdudz ffa83c32a4 clean-up of driver return codes 2023-02-26 20:03:41 +01:00
mrdudz 91199c57e8 remove +x flag 2022-05-17 15:28:51 +02:00
mrdudz f8f901b05e remove dangling spaces 2022-04-17 16:06:22 +02:00
Fabrizio Caruso 412fd70404 Optimize delete cycles 2022-04-03 17:23:36 +02:00
Fabrizio Caruso b65084b459 Use lsr 2022-04-03 15:28:37 +02:00
Fabrizio Caruso 885b360a41 Fix color 1 and 2 (grey/green levels) 2022-04-02 23:09:05 +02:00
Fabrizio Caruso 426e93b4bf Fix Gamate CONIO: non-solid characters bug 2022-04-02 12:44:27 +02:00
Fabrizio Caruso 61ebe2c34b Indentation in vga.s for gamate 2020-09-24 19:42:34 +02:00
Fabrizio Caruso 6fdb356db7 Simplify Gamate tile redefinition (as already done for PCE) 2020-09-24 19:42:34 +02:00
IrgendwerA8 08705a3fdc Changes resulting from 2nd code review 2020-02-03 20:45:09 +01:00
IrgendwerA8 ce80624f62 ctype size optimization 2020-02-03 20:45:09 +01:00
Fabrizio Caruso 9bd92178b6 Fix Gamate RVS 2019-10-04 10:22:25 +02:00
Oliver Schmidt 1976d6cd32 Removed IRQ support from joystick drivers.
All but one joystick drivers didn't use IRQs. Espsecially when the joystick driver kernel was the only .interruptor this meant quite some unnecessary overhead because it pulled in the whole IRQ infrastructure.

I was told that the one driver using IRQs (the DXS/HIT-4 Player joystick driver for the C64) can be reworked to not do it. Until this is done that driver is defunct.
2018-02-01 22:38:36 +01:00
Stefan c4baf9588e
directive removed 2017-11-21 10:29:35 +01:00
Fabrizio Caruso 0a61b061c7
Update gamate-stdjoy.s 2017-11-09 16:42:52 +01:00
Fabrizio Caruso bf0ae22969
Update gamate-stdjoy.s 2017-11-09 16:36:06 +01:00
U-AMAIISDOM\fcaruso e4a235b233 Correct bits in gamate joystick detection 2017-11-09 13:51:04 +01:00
Oliver Schmidt 7f52a770d9 Removed joy_masks array.
So far the joy_masks array allowed several joystick drivers for a single target to each have different joy_read return values. However this meant that every call to joy_read implied an additional joy_masks lookup to post-process the return value.

Given that almost all targets only come with a single joystick driver this seems an inappropriate overhead. Therefore now the target header files contain constants matching the return value of the joy_read of the joystick driver(s) on that target.

If there indeed are several joystick drivers for a single target they must agree on a common return value for joy_read. In some cases this was alredy the case as there's a "natural" return value for joy_read. However a few joystick drivers need to be adjusted. This may cause some overhead inside the driver. But that is for sure smaller than the overhead introduced by the joy_masks lookup before.

!!! ToDo !!!

The following three joystick drivers become broken with this commit and need to be adjusted:
- atrmj8.s
- c64-numpad.s
- vic20-stdjoy.s
2017-08-19 19:11:28 +02:00
Oliver Schmidt 6002e59c28 Merge pull request #453 from mrdudz/waitvsync
waitvblank for cbm targets
2017-07-18 15:38:27 +02:00
mrdudz 8eee51913a add headers/fix formatting 2017-07-18 01:04:53 +02:00
mrdudz 1abce3a2a1 rename all waitvblank() to waitvsync() 2017-07-17 23:15:05 +02:00
Greg King 30f941ba39 Added a missing label to some conio cursor movement functions.
It had prevented other functions, e.g. cputs(), from being linked into a program.
2017-06-15 16:44:46 -04:00
Christian Groessler 39a1a142e3 gamate, lynx, nes, pce: remove joy_stddrv.s
These targets don't support dynamically loaded joystick drivers.
2017-02-06 19:26:12 +01:00
Oliver Schmidt 13482984ca Introduced internal gotoxy that pops both parameters.
About all CONIO functions offering a <...>xy variant call
  popa
  _gotoxy

By providing an internal gotoxy variant that starts with a popa all those CONIO function can be shortened by 3 bytes. As soon as program calls more than one CONIO function this means an overall code size reduction.
2016-06-05 14:58:38 +02:00
Oliver Schmidt 69fbcb30fd Use AX paradigm for stack initalization. 2016-03-07 01:44:19 +01:00
Oliver Schmidt d8c31cf1d3 Renamed RAM to MAIN for all disk based targets.
The name RAM doesn't make much sense in general for a memeory area because i.e. the zero page is for sure RAM but is not part of the memory area named RAM.

For disk based targets it makes sense to put the disk file more into focus and here MAIN means the main part of the file - in contrast to some header.

Only for ROM based targets the name RAM is kept as it makes sense to focus on the difference between RAM and ROM.
2016-03-07 01:28:55 +01:00
Oliver Schmidt 419eb700b5 Renamed INITBSS to INIT and INIT to ONCE.
The way we want to use the INITBSS segment - and especially the fact that it won't have the type bss on all ROM based targets - means that the name INITBSS is misleading. After all INIT is the best name from my perspective as it serves several purposes and therefore needs a rather generic name.

Unfortunately this means that the current INIT segment needs to be renamed too. Looking for a short (ideally 4 letter) name I came up with ONCE as it contains all code (and data) accessed only once during initialization.
2016-03-06 21:27:19 +01:00
mrdudz 7de50b17c7 fix comments 2015-12-01 16:55:02 +01:00
mrdudz a95c95a5d3 added black line :) 2015-11-30 18:49:52 +01:00
mrdudz b39a8b7a61 more cleanup 2015-11-29 20:04:10 +01:00
mrdudz c636675521 moved cart header into seperate file, moved nmi stub into several file, tweaked linker config 2015-11-29 16:01:36 +01:00
mrdudz 1893e24da9 updated 2015-11-29 01:24:01 +01:00
mrdudz 9fbf8a4299 conio and most other stuff working now 2015-11-29 01:14:59 +01:00
mrdudz 88e7b5776a some more fiddling 2015-11-22 19:02:47 +01:00
mrdudz 60285097e3 initial import of the gamate stuff 2015-11-14 13:15:29 +01:00